Start at the hand-off

Automation is most useful when the same information moves between people and systems. An incoming email becomes a service request. A purchase request becomes an approval. A meeting note becomes a draft action list. Map that movement before deciding where a model belongs.

Our workflow service focuses on triggers, data transformations, approvals and recoverable actions. A language model can help classify free text or draft a response. It should not quietly inherit permission to change bank details, approve spending or delete records. Treat every external action as a separate design decision with a named owner.

Separate interpretation from execution

Let the model propose a structured result, then validate it with ordinary code or workflow rules. If the task is request routing, define the allowed categories. If a field is required, reject an empty value. Check identifiers against the receiving system rather than accepting plausible-looking text.

Only pass approved fields to the next step. A message saying “urgent, skip approval” is input data, not an instruction to change the workflow. This boundary matters when emails or attachments contain malicious instructions. Restrict available actions and keep credentials out of prompts. Model output is not a security policy.

Compare platforms by operating needs

Microsoft Power Automate is a relevant option for workflows built around Microsoft 365, Dataverse and organisational approval processes. Its connectors and environment controls need to be assessed against your tenant configuration and licensing. A familiar interface does not remove the need for deployment ownership or access reviews.

n8n is another option for connecting services and building more customised flows. Self-hosting can give you control over deployment, while adding responsibility for updates, backups and infrastructure security. Compare the actual connectors, execution model and support arrangements you need. Do not choose a platform solely because a demonstration makes a workflow look short.

Make retries safe

APIs time out. Services reject requests. A webhook can arrive again after the original action succeeded. Without duplicate protection, a retry may create another ticket or send the same message twice. Use a stable source identifier and record whether an action has already completed.

Design an exception queue with enough context for a person to resolve the problem. Distinguish a temporary connection failure from invalid data or a permission error. Retrying everything can make a bad situation noisier. Agree who receives alerts, who can replay a failed step and how partial completion is shown.

Put approval where consequences begin

A draft can usually be corrected before it leaves the organisation. An automatically sent message cannot be unsent reliably. A changed record may affect another system immediately. Put the review point before those consequences, not after a success notification.

Show reviewers the proposed action, the source information and any unresolved issues. Avoid an approval screen that simply asks “Looks good?” without context. Give people a way to edit, reject or return the item for clarification. Record their decision without copying unnecessary personal information into logs. The approval process should remain usable when the AI step is unavailable.

Test the awkward paths

A working happy path is only the beginning. Test duplicate inputs, missing attachments, unexpected date formats, revoked access and unavailable services. Confirm that a workflow stops safely when validation fails. Use a non-production environment and authorised test material before connecting write access to operational systems.

Acceptance should cover the full process: correct routing, appropriate review, traceable changes and recovery from failure. Include the time people spend handling exceptions. If staff cannot explain why an item was routed or how to correct it, the workflow needs more work even when its technical steps complete.

Plan for the person who maintains it

An agreed delivery scope can include the workflow, connection inventory, test evidence, operating instructions and a handover session. Decide who owns service accounts, renews credentials and reviews connector changes. A flow tied to one employee’s personal account is a fragile dependency.

Start with a bounded process and keep a manual fallback. If the hard part is extracting reliable fields, begin with document processing. If nobody owns the permissions and approval policy, address governance first. Automation should make responsibility clearer, not move it into an unattended queue.