
Workflow Design
Designing reliable workflows between business applications
Plan a cross-application workflow around a confirmed business outcome, clear data ownership, safe recovery and an operator who can resolve exceptions.
Start a reliable workflow with a business outcome: which record changes, in which application, and how someone confirms the change. Define that outcome before choosing a trigger, field mapping or tool. A flow can finish without completing the business task.
Take a hypothetical paid order that should create one fulfilment request. The order system owns the payment status; the fulfilment system owns the request. The workflow connects them and retains enough information to explain the result.
Define the outcome and ownership
Write the intended result in one sentence: “For each eligible paid order, create one fulfilment request and retain its destination ID.” Define eligibility, whether later edits should update the request, and who handles an order that cannot be sent.
Name the authoritative system for each fact. Identify the destination record or state that proves completion. If the destination processes requests later, its initial acknowledgement and the completed business outcome are separate milestones.
| Design question | Decision to record |
|---|---|
| What starts the work? | The source event or scheduled check that represents the relevant change. |
| What must change? | The destination action and expected record. |
| How is the result confirmed? | The destination ID, state or other observable outcome. |
| Who resolves an exception? | A team or role with the context needed to act. |
Connect the event to the action
Treat the trigger as a signal, not proof that the business condition has been met. Define how the workflow checks that condition and handles repeated or stale events.
Choose an event source that can signal the intended business transition, and document what happens to missed work if the workflow is unavailable. Assign an owner to reconcile expected events with completed outcomes after a restart.
Agree on the data contract
List the values the destination requires. For each, record its source, meaning, type, permitted absence and transformation. Distinguish an internal order ID from a customer-facing number. Treat a missing property, an explicit null and an empty string separately until the destination contract says otherwise.
Keep the contract focused on the action. If the event lacks a required value, define an authorised lookup or exception route. A convenient default may create the wrong request.
Choose an operable implementation
A prebuilt connector fits when its documented trigger and action cover the required operation, fields, permissions and expected volume. A custom connector can expose selected API operations through a workflow platform. Code may be needed for behaviour those routes cannot provide safely.
A mixed design can keep orchestration in a workflow tool and put one specialised operation in code. Check the exact capabilities and limits of the chosen route.
Record the connection identity, access scope, environment, deployment owner and recovery procedure. Give an unattended workflow a continuity plan if its connection depends on an employee account.
For workflows in Azure, Logic Apps supports visual or programmatic configuration. Microsoft describes its enterprise connectors as supporting source control, testing, support and operations; consider those lifecycle needs when deciding who will maintain the workflow and its connections.
Prebuilt vs Custom Connectors in Power Automate
- Prebuilt ConnectorAvailable for common apps like Microsoft Dynamics, Excel, SharePoint. Supports documented triggers, actions, permissions and volume limits. Recommended for standard operations.
- Custom ConnectorExposes specific API operations through a workflow platform. Useful when prebuilt options don’t meet requirements. Requires API design and testing.
- Code IntegrationUsed for complex logic beyond connector capabilities. Required for secure, safe behaviour not supported by visual tools. Best used in mixed designs.
Using Employee Accounts for Workflow Connections
- ProsSimple setup; immediate access for common applications. Suitable for low-risk, short-term flows.
- ConsHigh risk of disruption if employee leaves or account is inactive. No continuity plan. Not suitable for production or critical workflows.
Plan for uncertain outcomes
Agree how the workflow will identify an uncertain outcome and route unresolved work to an owner.
Validate each hand-off layer
Separate configuration validity from runtime success. In Power Automate, a cloud flow needs at least a trigger and one action to save. Saving confirms the flow can be stored; it does not prove that a destination record was created.
If a flow will not save, inspect actions marked with warnings and read their validation messages. Microsoft identifies blank required fields and malformed expressions as common causes. Resolve these configuration issues before investigating why an expected destination record is absent.
After saving, use run history to locate where the hand-off stopped. No run points towards a trigger event or condition; an action failure points to execution; a completed run with an incorrect result points towards workflow logic. Record which of these occurred when escalating an issue.
Key Checks Before Deploying a Cross-Application Workflow
- Flow saves without errorsNo blank required fields or malformed expressions. Check validation messages in Power Automate.
- Trigger event is correctly definedThe event represents a real business transition, not just a system state change.
- Data contract is documentedAll required fields are mapped with source, type, and handling for absence or nulls.
- Connection identity and scope recordedInclude access scope, environment, deployment owner, and recovery plan — especially for unattended flows.
- Exception routing is definedAn owner is assigned to resolve unresolved work after a restart or failure.
Confirm the result
For a normal event, irrelevant edit, missing value, repeated event and lost response, write the expected destination state. In a safe environment, compare destination records with those expectations and check whether the workflow history explains any difference.
Once operating, monitor eligible events, confirmed outcomes, unresolved exceptions and time to completion. Assign an owner to review changes in either application’s event and field contracts.
Monitoring Key Workflow Metrics
- Eligible Events Processed
- Daily count of relevant business changes detected (e.g., paid orders)
- Confirmed Outcomes
- Number of successful fulfilment requests created
- Unresolved Exceptions
- Count of workflows requiring manual review or reconciliation
- Average Time to Completion
- Time from trigger to confirmed result (in minutes)
In this guide
- Choosing a workflow trigger from an actual system eventSelect a workflow trigger by checking the business transition, event fields, filtering, replay behaviour and destination effect it permits.
- Mapping inputs and outputs before building an integrationCreate an input-to-output contract for an integration, including field meaning, missing values, destination results and rejection paths.
- Deciding whether a workflow needs code or a connectorDecide between a prebuilt connector, custom connector, code or a mixed workflow by checking the exact operation, limits and recovery needs.



