Domain 1 β€” Module 5 of 5 100%
5 of 26 overall
Domain 1: Create a Technical Design Free ⏱ ~12 min read

Integration & Automation Blueprints

Connect Power Platform to the outside world. Learn how to design cloud flow automations, plan Dataverse-to-Azure integrations, and choose between synchronous and asynchronous patterns.

Connecting the dots

Simple explanation

Think of integration as plumbing between buildings.

You have Dataverse (your main office), Azure (a processing plant), and external systems (suppliers and partners). Integration design is about laying the pipes β€” deciding what flows where, how fast it needs to arrive, and what happens when a pipe breaks.

Automations (cloud flows) are the valves and pumps β€” they trigger when something happens and move data through the system. Integrations are the permanent pipeline connections between systems.

Get the plumbing wrong and you flood the building. Get it right and everything flows invisibly.

Cloud flow design patterns

Power Automate cloud flows are the automation backbone of Power Platform. Good flow design follows these patterns:

Trigger selection

Trigger TypeWhen to UseKey Consideration
Dataverse β€” When a row is addedReact to new recordsFilter expression to limit which records trigger the flow
Dataverse β€” When a row is modifiedReact to field changesSelect specific columns to avoid triggering on every edit
ScheduledPeriodic batch processingConsider time zones and business hours
HTTP requestExternal system calls into Power AutomateSecure with authentication (not just URL obscurity)
ManualUser-initiated actionsUseful for on-demand reports or approvals

Flow structure best practices

  • Keep flows small and focused β€” one flow, one job. Don’t build a 200-step monster.
  • Use child flows for reusable logic (e.g., β€œsend notification” used in 5 parent flows)
  • Scope actions into groups β€” use Scope actions for try/catch patterns
  • Filter triggers early β€” don’t trigger on every record change, then filter inside the flow
  • Use environment variables for configurable values (email addresses, URLs, thresholds)
Scenario: Amara designs an order processing flow

Amara is designing an order processing automation for a healthcare supplies client:

  1. Trigger: When an Order record status changes to β€œSubmitted” in Dataverse
  2. Validation child flow: Check stock availability (calls inventory system via custom connector)
  3. Branching: If stock available β†’ approve and create shipment. If not β†’ notify procurement team.
  4. Error handling: Scope wraps the entire flow. On failure, logs the error to a Dataverse β€œIntegration Log” table and sends an alert to the IT team.
  5. Security: Uses a service principal connection (not Amara’s personal account) so the flow keeps running after she leaves the project.

This design follows all the best practices: focused trigger, child flows, error handling, and service principal identity.

Dataverse + Azure integration patterns

When Power Platform needs to communicate with Azure services (or vice versa), the choice of pattern depends on latency requirements, data volume, and reliability needs.

Integration patterns β€” the exam tests whether you choose the right one for each scenario
PatternDirectionTimingAzure ServiceBest For
WebhookDataverse β†’ ExternalNear real-timeAny HTTP endpointSimple event notification to external systems
Azure Service BusDataverse β†’ AzureAsync (queued)Service BusGuaranteed delivery, decoupled processing, high volume
Azure Event HubDataverse β†’ AzureAsync (streaming)Event HubTelemetry, analytics, massive event streams
Azure Functions (HTTP)Both directionsSync or asyncAzure FunctionsCustom processing, API endpoints, compute-heavy logic
Custom connectorPower Platform β†’ ExternalSync (per request)Any REST APIUser-initiated interactions with external APIs
Virtual tableExternal β†’ DataverseReal-time (read)OData providerDisplay external data as Dataverse tables without copying

Sync vs async: the critical decision

FactorSynchronousAsynchronous
User experienceUser waits for responseUser continues working
Error handlingImmediate feedbackRetry logic, dead-letter queues
ReliabilityFails if the target is downQueued β€” retries when target recovers
Use caseCredit check before order saveGenerate report and email when ready
Dataverse examplePre-operation plug-in calling Azure FunctionService Bus message triggering Azure Function
Exam tip: When to use Service Bus vs Event Hub

This is a frequent exam question. The key difference:

  • Service Bus = message queue. Messages are consumed once, order matters, guaranteed delivery. Think β€œwork orders” β€” each message is processed by one consumer.
  • Event Hub = event stream. Events can be consumed by multiple readers, massive throughput, no guaranteed order. Think β€œtelemetry” β€” many systems reading the same stream.

Rule of thumb: if you need guaranteed, ordered, once-only processing β†’ Service Bus. If you need high-throughput streaming with multiple consumers β†’ Event Hub.

Designing for failure

Every integration will fail eventually. The design question is: what happens when it does?

Retry patterns:

  • Exponential backoff β€” wait longer between each retry (1s, 2s, 4s, 8s…)
  • Circuit breaker β€” stop calling a failing service after N failures, wait, then try again
  • Dead-letter queue β€” if a message cannot be processed after all retries, move it to a separate queue for manual review

Idempotency:

  • Design every integration endpoint so calling it twice with the same data produces the same result
  • Use alternate keys or business identifiers to detect duplicates
  • The UpsertRequest pattern (covered in Domain 6) is inherently idempotent
Question

What is the difference between a webhook and an Azure Service Bus integration from Dataverse?

Click or press Enter to reveal answer

Answer

A webhook sends an HTTP POST to an endpoint when a Dataverse event occurs β€” simple but unreliable (if the endpoint is down, the event is lost). Service Bus publishes messages to a queue β€” guaranteed delivery, retry support, and the message persists even if the consumer is temporarily down.

Click to flip back

Question

When should you use a child flow in Power Automate?

Click or press Enter to reveal answer

Answer

Use child flows for reusable logic that appears in multiple parent flows β€” like 'send a formatted notification email' or 'log an integration event'. Child flows accept input parameters, execute their logic, and return output to the parent. They keep parent flows clean and make updates easier (change once, applies everywhere).

Click to flip back

Question

Why should cloud flows use service principal connections instead of user connections?

Click or press Enter to reveal answer

Answer

A user connection is tied to a specific person's identity. If that person leaves the organisation or their license is removed, every flow using their connection breaks. A service principal (application user) is not tied to a person β€” it persists regardless of employee changes and is the recommended identity for production flows.

Click to flip back

Knowledge Check

A logistics company needs to send order data from Dataverse to their warehouse management system every time an order is approved. The warehouse system occasionally goes offline for maintenance. What integration pattern should you recommend?

Knowledge Check

Amara is designing a flow that runs when a patient record is created in Dataverse. The flow must: (1) validate the patient's insurance, (2) create a case in the billing system, and (3) send a welcome email. Steps 1 and 2 can fail independently. What design pattern should she use?

Next up: Environment Setup & Security Troubleshooting β€” configuring development environments and troubleshooting security issues.