Since I didn’t received any confirmation on my understanding of your concerns, Here’s
a professional, actionable guide that addresses all your concerns as per my understanding —with
clear solutions, copy-paste snippets, and best practices for your PowerApps and Power Automate
project.
1. UI/UX for Wide Data (20–25 Columns)
Concern:
Crowded screens, poor usability if you use a gallery or form with too many fields.
Solution:
A. Use Tabbed or Sectioned Details Forms
•Main Gallery: Only show key columns (Request ID, Name, Status, Project, Date).
•Details/Edit Screen:
•At top, create “tabs” (buttons or labels): e.g. General | Dates | Contacts | Financial |
Attachments.
•On tab select, set a variable (Set(varTab, "General")).
•Each DataCard’s Visible property: varTab = "General" or relevant tab.
•Attachments: Use the built-in attachment control, show it only when varTab =
"Attachments".
Copy-Paste PowerApps Tab Logic:
// Screen OnVisible
Set(varTab, "General")
// Tab Button OnSelect
Set(varTab, "Contacts") // For example
// DataCard Visible property
varTab = "Contacts" // Only visible on Contacts tab
Why:
•Clean UI, no scrolling left-right.
•Only 5–7 fields per tab; easier for users.
2. Automation of Multi-Recipient Emails
Concern:
Manual, repetitive, and error-prone email workflow.
Solution:
B. Use Power Automate Flow for Email Notifications
Template Steps:
1.Trigger: “When an item is created” (or “modified”) in your data source (SharePoint,
Dataverse).
2.Send three emails using “Send an email (V2)” action.
•To: Project Manager, Construction Manager, Hired Person
•Use dynamic fields for personalization.
3.Attachments: If files uploaded, fetch with “Get attachments” and add to emails.
Copy-Paste Email Body (use in Send an Email action):
Hi @{triggerOutputs()?['body/ProjectManagerName']},
A new onboarding request has been submitted for the project: @{triggerOutputs()?
['body/ProjectName']}.<br/><br/>
Request Details:<br/>
- Requestor: @{triggerOutputs()?['body/RequestedBy']}
- Start Date: @{triggerOutputs()?['body/StartDate']}
- Position: @{triggerOutputs()?['body/Position']}
<br/><br/>
Please review and take the necessary action.<br/>
Regards,<br/>
PowerApps Automation
Update field names per your column names.
3. Automation of Onboarding Progress &
Approvals
Concern:
Manual tracking of onboarding/approval steps.
Solution:
C. Use Status Fields + Power Automate to Track Progress
•Add a “Status” field: (e.g., "Requested", "PM Approved", "Vendor Approved",
"Completed").
•Each time status is updated, trigger a Flow to:
•Send relevant emails/notifications.
•Unlock next stage in PowerApps (fields or buttons become visible
when Status matches).
PowerApps Example:
// Only show Vendor Approval fields if PM Approved
If(DataCardValue_Status.Text = "PM Approved", true, false)
4. Backend Logic and “Professional Touch”
Concern:
Missing validation, calculated fields, robust error handling.
Solution:
D. Add PowerApps Validation & Logic
•Required fields:
In Submit button’s OnSelect:
If(
IsBlank(DataCardValue_Requestor.Text) ||
IsBlank(DataCardValue_ProjectName.Text),
Notify("Fill all required fields", NotificationType.Error),
SubmitForm(EditForm1)
)
•Calculated fields:
Use calculated columns in SharePoint or formula fields in PowerApps.
•Error handling:
Use Notify() to show user-friendly errors or confirmations.
5. Which UI Pattern to Use
Concern:
Not sure whether to use Gallery, Form, Tabs, or Accordion.
Solution:
E. Use This Structure:
•Gallery: For summary list of records (only 4–5 fields visible).
•Tabs/Accordion in Form: For editing/viewing details, grouped by logical sections.
•Pop-ups: For quick edits, comments, or approvals (optional).
•Attachments: Use built-in attachment control.
6. Data Source Connections
Concern:
“No data source provided” errors.
Solution:
F. Double-check all screen/data controls:
•For each Form, Gallery, or Data Table, set the correct data source (Items property).
•Example:
Items = '[YourSharePointListName]'
•Test connections, especially after publishing, and make sure all screens load data as
expected.
7. Workflow Integration
Concern:
How to trigger actions (emails, status changes, etc.) automatically.
Solution:
G. Use Power Automate with Data Change Triggers
•Every time a key field (like Status) changes, start a Flow that:
•Sends the right emails
•Updates related records (if needed)
•Logs activity (for audit/compliance)
Putting It All Together — Your Project Checklist
Area Concern/Goal Solution/Copy-Paste
UI/UX Many columns Tabs/sections, see code above
Automation 3 emails/step Power Automate, email template
Workflow Approval progress Status field, Flow triggers
Logic Validation, calc If/Notify, calculated columns
Patterns UI choices Gallery + tabbed Form
DataSource Errors/missing Check Items property, test
Workflow Integration Flow on change of status/field
Want Sample Files?
•I can provide sample PowerApps code (.msapp), or a Power Automate Flow export (.zip)—
just confirm your data source (SharePoint, Dataverse, SQL).
Final Professional Advice
•Test with real data and actual users before go-live.
•Document each automation (so others can support it).