Video summary
Top 25 Power Automate flow tips and tricks for 2021 - hidden gems and new features
Main summary
Key takeaways
Summary of technological concepts & Power Automate flow tips/tricks (2021)
The video presents 25 Power Automate Flow tips and features aimed at helping flow makers design, optimize, maintain, and troubleshoot Power Automate flows more effectively.
1) Types of Power Automate flows (choosing the right one)
Five flow categories are explained:
- Automated cloud flows: Start automatically when an event occurs in a connector (e.g., Microsoft Forms new response, SharePoint item created, OneDrive file created).
- Instant/Manual cloud flows (button flows): Triggered by user action (mobile trigger, Power Apps button, Power Virtual Agents call).
- Scheduled cloud flows: Run on a defined time/date schedule (daily/weekly/monthly; specific days/times).
- Desktop flows: RPA capabilities using Power Automate Desktop (record/replay UI actions).
- Business process flows: Step-by-step guided processes, associated with Dataverse tables (via Microsoft Dataflex / “common data service” mentioned).
2) Using templates (avoid reinventing flows)
- Power Automate templates are used directly from the Create experience.
- Examples given:
- An approval-based template
- An attachment-related template that saves email attachments to OneDrive
- Selecting a template still requires connecting required connectors (e.g., Outlook + OneDrive).
- Templates are positioned as “live and ready to go”, helping avoid rebuilding common logic.
3) Trigger selection and “Skip trigger”
- When creating flows, you typically choose a flow type + trigger.
- There is an option to skip the trigger, then build the flow starting from connectors/actions.
4) Connectors overview and licensing classification
- Connectors can be searched by name (e.g., Microsoft Teams).
- Connector types mentioned:
- Built-in connectors
- Standard connectors (no premium licensing)
- Premium connectors (premium license required)
- Custom connectors (created in the environment)
5) Maintainability: naming actions and flows
Best practices:
- Rename actions to reflect their real purpose (instead of default names like “Start an approval”).
- Rename multiple generic actions (e.g., multiple “Send an email” actions) based on context (project status report vs task reminder).
- Also rename the flow itself to make searching easier (optionally using emojis).
6) Commands in action names + expressions
- The video recommends using commands or “advanced meaning” in action naming so logic is clear.
- Example: “Get items” can include a behind-the-scenes filter query (e.g., due date ≤ current UTC time), which is hard to infer unless action naming communicates intent.
7) Copy/paste actions via clipboard
- Actions can be copied using the three ellipses menu.
- Clipboard-based copy works within the browser session.
- In other contexts, users may need to manually copy the code behind the action (using notepad / CTRL+V).
8) Scopes for organization (including nested scopes)
- Use Scope actions to group and organize actions.
- Scopes can be moved (drag/drop) and can be nested.
- Recommended for readability in large flows.
9) Variables vs Compose (static vs dynamic)
Variables
- Must be initialized first.
- Are strongly typed (e.g., string).
- Can be updated during the run.
- Cannot be initialized inside scopes.
Compose
- Can hold any type dynamically.
- Acts like a static value (no change expected during the run).
- Generally described as faster than variables.
10) Expression editor improvements via Experimental features
- The expression editor can feel cramped.
- Recommendation: enable Experimental features to get a better editing experience (wider input + expression helpers).
- Includes support for dynamic content and browsing functions.
11) Build a URL for a specific flow run
- Each flow run has a unique URL containing:
- environment name
- flow id
- run id (“run guid”)
- The video shows generating the URL via expression concatenation, useful for storing links in a system of record.
12) Trigger Conditions to reduce unnecessary runs & API usage
- Using SharePoint “record created” trigger plus Trigger Conditions allows running the flow only when conditions are met.
- Example: start approvals only if Estimated Airfare ≥ 500.
- Goal: minimize API calls and respect service limits.
13) “Peek code” for debugging
- Use Peek code to inspect the underlying code/request behind actions.
- Also used to view complete expressions in action inputs.
14) Apply to each: Concurrency control (performance tuning)
- The video measures runtime for “Apply to each” loops.
- Concurrency allows processing multiple items simultaneously (up to 50 concurrent iterations).
- Warning: avoid concurrency if you require strict processing order or update shared variables, since concurrency may produce inaccurate results.
15) Formatting numbers
- Use the Format number action:
- Predefined formats
- Custom formats (example: USA phone format)
- Currency formatting
- Demonstrates output differences.
16) Date/time formatting and timezone conversion
- Use Date time actions, especially Convert time zone:
- Flow assumes input dates are in UTC
- Convert to a target timezone and/or change display format.
17) Data operations for structured output (tables, CSV/HTML)
Useful actions mentioned:
- Create CSV table
- Create HTML table
- Filter arrays
- Join, parse JSON, select columns from arrays
Example:
- Generate an HTML table of overdue tasks returned from SharePoint query, then email it.
18) Parallel branching (run independent branches simultaneously)
- Use Parallel branches when there are no dependencies between actions.
- Example: run an error handling scope in parallel with another scope.
19) Error handling with Configure Run After + Try/Catch pattern
- Each action can set Configure run after, so it runs depending on outcomes like:
- previous action failed / skipped / timed out / succeeded
- Scopes can be used for a Try/Catch-like pattern:
- Try scope fails intentionally
- Catch scope sends an email notification with error details + flow run link
- Key note: Power Automate doesn’t automatically handle errors—you must implement handling.
20) Flow checker to prevent infinite trigger loops
- Use Flow checker during saving/building.
- Example warning: infinite loop risk if:
- flow triggers on SharePoint item created/modified
- flow updates the same item, re-triggering repeatedly
- Such loops can consume API calls.
21) Testing and rerunning failed scenarios
- Use Test to manually run flows.
- For corrections, use previous runs and rerun failed steps.
22) Add a second owner for business-critical flows (resilience)
- If only one owner exists and their account becomes inactive, the flow may stop.
- Adding a second owner allows takeover.
- Caution: connectors/permissions are shared in context; a service account is recommended for security.
23) Export/import and sharing flows
Sharing best practices:
- Don’t make others owners; instead:
- Send a copy as a template (connections run under the recipient’s account)
- Export as ZIP for moving to different tenants/environments
- Use Import to bring flows from ZIP
24) Flow run duration limits (30 days) + approval timeout handling
- Flow runs timeout after 30 days from trigger to last action.
- Approval tasks may become void if a user doesn’t respond in time.
- Use action settings to define timeouts using ISO 8601 formats (example: “P1D”, “P20D”).
- Send notification email on timeout.
25) Flow run history retention (28 days) + exporting history
- Flow run histories are stored for 28 days (GDPR).
- Option to download run history as CSV.
- Mentioned that this recording can be automated via Power Automate Desktop.
Bonus closing: “Cloud flows” visibility & shared access
Cloud flows appear under:
- Cloud flows if you’re the owner
- Shared with me if someone adds you as an owner or secondary owner
Main speakers / sources
- Speaker: Raza Dharani (channel host/flow author)