100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Low-Code

Power Automate Integration

Learn how to trigger, call, and orchestrate Power Automate flows from Power Apps to automate business processes.

Automation & IntegrationIntermediate9 min readJul 10, 2026
Analogies

Connecting Power Apps to Power Automate

Power Apps and Power Automate are designed to work as a pair: the app handles the interactive, user-facing screen, while a flow handles backend orchestration such as approvals, notifications, and data movement between systems. A canvas app calls a flow by adding it as a data source, after which the flow's name becomes callable like a function directly from Power Fx.

🏏

Cricket analogy: Power Apps is the batsman facing the ball while Power Automate is the support staff analyzing footage between overs — the app handles live interaction, the flow runs the backend workflow like sending the analysis to the coach.

Triggering Flows from Power Fx (Power Fx)

Once a flow is added as a data source, it is invoked from a control's OnSelect (or similar) property using dot notation, such as ApprovalFlow.Run(...), passing arguments in the order the flow's 'PowerApps (V2)' trigger expects them. This single call can kick off a multi-step backend process without the app needing to know any of the internal logic.

🏏

Cricket analogy: Calling ExpenseFlow.Run(...) from a button is like a captain signaling the twelfth man to bring on gloves — a single trigger from the field sets a whole support process in motion instantly.

powerfx
// Power Fx: trigger a flow named 'ApprovalFlow' with parameters and capture the result
Set(
    varResult,
    ApprovalFlow.Run(
        ThisItem.RequestID,
        User().Email,
        Dropdown1.Selected.Value
    )
);
If(
    varResult.approvalstatus = "Approved",
    Notify("Request approved!", NotificationType.Success),
    Notify("Request submitted for review.", NotificationType.Information)
)

Passing Data and Handling Return Values

A flow can send data back to the calling app synchronously using the 'Respond to a PowerApp or flow' trigger action, which defines named output fields such as approvalstatus or referencenumber. The app captures this structured response in a variable and can branch its UI immediately based on the result.

🏏

Cricket analogy: A flow with a 'Respond to a PowerApp or flow' action is like DRS giving an immediate on-field decision — the app waits briefly and gets a structured answer back before play resumes.

Synchronous flow calls (using 'Respond to a PowerApp or flow') should complete quickly since the app UI waits on them; keep user-facing calls fast and lightweight. For long-running processes, trigger the flow asynchronously (fire-and-forget) and notify the user later via email, Teams, or a status field the app polls or refreshes.

Common Integration Patterns

The most common integrations are approval routing, cross-system data synchronization (Dataverse to SharePoint or an ERP), and event-driven notifications sent when app data changes. Configure Run After settings on flow actions define what happens when a prior step fails, times out, or is skipped, letting flows recover gracefully instead of failing silently.

🏏

Cricket analogy: An approval flow routing a request to a manager mirrors a third umpire referral — the on-field decision is escalated to someone off-screen before the result is finalized and communicated back.

Watch for delegation and connector throttling limits when a flow processes bulk records, and avoid designing flows that can trigger each other in a cycle (flow A triggering flow B triggering flow A), which can cause runaway executions and hit tenant-level rate limits.

  • Flow.Run() calls a Power Automate flow directly from Power Fx, passing parameters that match the flow's PowerApps trigger inputs.
  • 'Respond to a PowerApp or flow' lets a flow return structured data synchronously back to the calling app.
  • Keep synchronous, user-facing flow calls fast; move long-running work to asynchronous, notification-based patterns.
  • Configure Run After defines error-handling branches when a prior action fails, times out, or is skipped.
  • Common patterns include approval routing, cross-system data sync, and automated notifications triggered by app or Dataverse events.
  • Delegation and connector throttling limits apply to flows just as they do to app data sources.
  • Model-driven apps can also trigger flows via ribbon commands or Dataverse triggers, not only canvas app buttons.

Practice what you learned

Was this page helpful?

Topics covered

#LowCode#PowerAppsStudyNotes#MicrosoftTechnologies#PowerAutomateIntegration#Power#Automate#Integration#Connecting#StudyNotes#SkillVeris