Microsoft Power Automate is Microsoft’s integrated automation platform, operating across three product tiers: cloud flows (connector-based automation between Microsoft 365, Azure, and third-party SaaS services), desktop flows (UI automation and RPA capabilities using the Power Automate Desktop runtime), and Process Advisor (process mining for task and process discovery). It is the automation platform native to the Microsoft 365 ecosystem and the most widely deployed automation tool in organisations whose primary productivity infrastructure runs on Microsoft — which describes the majority of large enterprises in Egypt and the GCC.
How It Works
Cloud flows are built in the Power Automate web designer and execute in Microsoft’s cloud runtime. They connect to over 900 certified connectors — Microsoft and third-party services — through OAuth or API-key authentication, and they can also call custom APIs through the HTTP action. Flows are triggered by events (a new email, a SharePoint item creation, a scheduled time, an HTTP request) and execute a sequence of configured actions. Desktop flows run on a local machine or Azure Virtual Desktop through the Power Automate Desktop agent, using UI automation, image recognition, and OCR to interact with desktop applications — Oracle EBS, legacy ERP screens, web applications — in the same way a human user would.
The two flow types can be combined: a cloud flow triggers a desktop flow on a registered machine, passes input data, waits for completion, and receives output data — enabling hybrid automations where the orchestration logic runs in the cloud and the legacy application interaction runs on a local desktop agent. This pattern is common in finance automation where cloud workflows process data and desktop flows interact with on-premise ERP systems that do not expose REST APIs.
Design Considerations
Licensing is a critical design consideration for Power Automate in enterprise deployments. Cloud flows that use premium connectors (non-Microsoft SaaS, custom connectors, HTTP) require per-user premium licensing. Desktop flows require the Power Automate per-user plan with attended RPA or the unattended RPA add-on. Unattended desktop flows — which run without a logged-in user and are required for overnight batch automation — are licensed per bot machine, with a separate cost from user-level licensing. Architecture decisions about which flow types to use must account for the licensing cost implications, which can be material at enterprise scale.
What Breaks in Production
The specific failure that most disrupts enterprise Power Automate deployments is throttling on high-volume connector calls. Microsoft applies API rate limits to all connectors through a throttling mechanism — requests exceeding the per-flow or per-connection limit are queued and delayed, not dropped. For flows processing high-volume finance data — an overnight reconciliation run that calls the SharePoint connector thousands of times — the throttling delay can extend the processing window beyond the expected completion time, causing downstream flows that depend on the output to time out. Architecture design for high-volume flows must account for throttling: batching API calls, using parallel branches to distribute load, and setting appropriate timeout values on dependent flows that account for potential throttling delay.
How Loop Wise Solutions Designs for This
In Power Automate architecture engagements, we assess the volume profile of every automation before selecting the flow pattern and connector approach. High-volume scenarios are designed with throttling in mind from the outset: batch processing patterns, connection pooling through a custom connector where the standard connector has lower rate limits, and dependent flow timeout values that accommodate realistic throttling delays. We also configure the Data Loss Prevention policy for the client’s Power Platform environment before any flows are built — ensuring the governance boundary is established before it is tested by a power user building a flow that connects financial data to an unapproved connector.