A successful n8n execution doesn’t necessarily mean the business process is ready for an ops team.
Consider a quote-to-ERP automation: a supplier email arrives, an LLM extracts line items from the attached PDF, and n8n creates a purchase order in the ERP.
The happy path works. Then the purchasing team asks:
- “The quantity on line 4 was misread. Where do I correct it before it posts?”
- “Who approves this if the total is over $10,000?”
- “The supplier sent a revised quote. Are we updating the request or creating another order?”
- “Did this fail, or did the ERP create the order without returning a response?”
If answering those questions requires an operator to inspect execution logs, edit JSON, or ask a developer which node to rerun, there is still an operational interface to build.
Here are four design rules I would apply to this process.
1. Give the purchase request its own identity and state
An n8n execution ID identifies a workflow run. A purchase request might span three quote revisions, an operator correction, two days of approval, and several execution attempts.
Keep a durable business record with its own ID, current revision, review status, approval history, and destination reference. That can live in the existing system of record or a dedicated application database. Let n8n orchestrate the steps around it.
A revised quote should not automatically authorize a second purchase order. Before the order exists, it may update the pending request. After creation, it needs an explicit amendment or cancellation process appropriate to the ERP.
2. Make review and approval part of the product
Give the operator a review screen with the original PDF beside the extracted fields, validation issues, and the exact action being proposed.
They should be able to correct a quantity, request clarification, or approve the request without opening the workflow editor. An existing internal tool may be enough; a custom web interface becomes useful when the interaction needs more control.
Bind approval to the exact request revision. Changes to the approved payload invalidate that approval. The backend must enforce the revision and permission checks when accepting the action for execution; disabling a button in the UI is not enough.
The screen should also distinguish “approved,” “submitted,” and “confirmed in the ERP.” Those are different business states.
3. Separate AI extraction from authority to act
An LLM can help turn a messy supplier PDF into proposed structured data. Valid JSON still does not establish that the quantity, supplier, or price is correct.
Check supplier status and approval limits against authoritative records and explicit rules. Derive tenant identity and permissions from trusted application context, not from fields the model supplies.
Keep the source document available during review. A plausible extraction error can pass schema validation, so the review requirements should reflect the consequences of getting the action wrong.
For this workflow, AI proposes the extracted data; application rules and authorized reviewers determine what may be committed.
4. Give uncertain outcomes a recovery path
An ERP timeout can mean the order was never created—or that it was created and the response was lost.
Record the outcome as pending_reconciliation. Where supported, check the destination using a stable external reference or operation ID. Retry using native idempotency only within that API’s documented guarantees, with the same key and payload for the same intended action.
If neither a reliable lookup nor a safe retry is available, route the case for review before another create attempt.
Show the operator something actionable:
“Waiting on ERP confirmation. Do not resubmit. Last checked: 14:32.”
That status needs an owner and a next step: a scheduled check or an assigned review. A record left in “pending” forever is still unfinished work.
What would make the first version ready?
I would include these in the acceptance checks:
- An operator can correct an extracted value and approve the resulting revision.
- A later edit cannot be submitted under an earlier approval.
- A repeated delivery or click cannot create a second order for the same intended operation.
- A lost ERP response leads to reconciliation or review, with the destination outcome verified before completion is recorded.
These checks define the delivery scope: the workflow, data model, interface, backend controls, and recovery behaviour.
The same questions apply to customer onboarding, service delivery, account provisioning, and document processing. The interface and rules change with the business. The team still needs to know what happened, what needs attention, and what it is authorized to do next.
For the duplicate-delivery and uncertain-outcome cases, I wrote a separate checklist: Shopify + n8n: 5 tests for duplicate webhooks and failed-run recovery. It uses Shopify as the example; applying the checks elsewhere requires matching them to the destination API’s guarantees.
If someone on your team has to babysit the executions tab, what are they actually doing there—correcting data, approving actions, investigating uncertain outcomes, or something else? Which systems are involved?