Five processes, built end to end
Each one shows the whole loop: the trigger, the queues, the rules that stop it going wrong, and the numbers you get back. All buildable today.
AP invoices · Onboarding · Support triage · Contract review · Our own software
Trigger → work → evidence → numbers
1. Accounts-payable invoice intake
Invoices arrive by email. Someone keys them in, someone else approves them, and nobody can say how long any of it takes or which vendors cause the rework.
Trigger
An n8n flow watches the AP mailbox and POSTs each attachment to
/api/sources/ingest with the message id as the dedupe key. The endpoint is
idempotent: if n8n retries or the mailbox redelivers, you get the same work item back — never
a duplicate invoice.
Queues
Intake → Extract → Exception → Approval → Post to ERP → Done
↘________________↗ (only when confidence is low)
Fields captured
| Field | Type | Set by |
|---|---|---|
VendorName, InvoiceNumber, InvoiceDate | Textbox / DateField | Agent (extraction) |
Amount, Currency, PONumber | Textbox / ComboBox | Agent |
ExtractionConfidence | High / Medium / Low | Agent |
POMatch | Matched / Mismatch / NoPO | Enrichment query against the ERP |
ApprovalDecision | Approved / Rejected / NeedsInfo | Human |
PostedReference | Textbox | Agent, after posting |
The rules
# Low-confidence extraction must be seen by a person
When: in "Extract" AND ExtractionConfidence = "Low"
Do: route to "Exception"
# A clean extraction advances itself
When: in "Extract" AND confidence not Low AND POMatch = "Matched"
Do: route to "Approval"
# Nothing reaches the ERP without a decision
When: routing to "Post to ERP" AND ApprovalDecision ≠ "Approved"
Do: CancelAction("An invoice cannot post without an approval decision.")
The Approval queue requires human approval — an agent cannot advance an invoice out of it, through the UI, the API, or by finishing it.
What you can answer afterwards
- Where does AP actually lose time? If Exception sits three days and Approval takes 20 minutes, your problem is extraction quality, not approver speed.
- Which vendors cause rework? Group by vendor, filtered to low confidence. That list is a procurement conversation.
- What did automation cost per invoice? Cost is recorded per finished item.
Back out to n8n: subscribe to WorkItemFinished. Your
flow gets the signed payload and files the invoice, updates the portal, notifies the
requester. WorkflowHub owns the process; n8n owns the fan-out.
2. Employee onboarding
Onboarding fails in the seams: HR thinks IT has it, IT is waiting on Facilities, and the new hire has no laptop on Monday. It is not a hard process — it is an unowned one.
Trigger
The HRIS emits a "hire accepted" event; n8n creates one work item with the start date and role. A recruiter can also create it by hand — same workflow either way.
Queues
New Hire → Provision IT → Facilities → Payroll → Manager Prep → Day-1 Ready
(the middle three run as parallel streams, not a chain)
One project per hire, with streams for IT / Facilities / Payroll and dependencies declaring that "grant system access" waits on "create AD account". The critical path tells you on Wednesday whether Monday is at risk.
Rules
# Escalate anything not ready close to the start date
When: StartDate is inside the escalation window AND AccountsCreated ≠ true
Do: SetPriority(Critical) + note "Start date approaching, access not provisioned."
# You cannot declare someone ready without the evidence
When: routing to "Day-1 Ready"
AND (AccountsCreated ≠ true OR PayrollConfirmed ≠ true OR ManagerBriefed ≠ true)
Do: CancelAction("Day-1 readiness requires accounts, payroll and manager briefing.")
The escalation window is a workflow variable — HR tunes it from 5 days to 10 without anyone editing a rule.
What you can answer
- Are we ready for next week's starters? Aging report, sorted by start date.
- Which team is the bottleneck? Stage times per queue. It is usually not the team everyone blames.
- Did we miss anything? Every readiness declaration has its evidence fields attached, permanently.
3. Support triage with drafted replies
Volume is the problem, not difficulty. Most tickets are variations of twenty questions, and the good answer already exists in something someone wrote last year.
Trigger
n8n watches the support inbox (or your helpdesk's webhook). Dedupe key = the thread id, so replies on an existing thread never create new items.
Queues
Triage → Draft Reply → Review & Send → Follow-up → Closed ↓ Escalation (technical / billing / account)
Where the AI sits
- Triage — classify category, urgency, customer tier (enriched from your CRM on arrival).
- Draft Reply — the agent drafts from your knowledge base and records which article it used.
- Review & Send — a human reads, edits, approves. The queue requires human approval, so nothing reaches a customer unreviewed.
The rule that pays for itself
# When a human materially rewrites a draft, capture why
When: in "Review & Send" AND ReplyEdited = true AND EditReason is empty
Do: CancelAction("Tell us what was wrong with the draft — it's how the next one gets better.")
Group by EditReason after a month and you have a ranked list of where your
knowledge base is wrong or missing.
What you can answer
- What share of replies went out unedited? The honest measure of whether the AI is helping.
- Which categories are we slowest on? Stage times split by category.
- Who handled what? Human vs agent is distinguishable — actor kind is recorded on every move.
4. Contract & vendor-document review
Legal is a queue of PDFs and a person reading them. The reading cannot be skipped — the extraction, the clause-flagging and the chasing absolutely can.
Trigger
A file lands in a watched folder or SharePoint library; n8n ingests it by reference — no bytes copied — with the file path as the dedupe key. Re-scanning the folder never duplicates.
Queues
Received → Extract Terms → Risk Flag → Legal Review → Signature → Filed
Rules
# High risk always sees a senior reviewer — no judgement call
When: in "Risk Flag" AND RiskLevel = "High"
Do: route to "Legal Review" + SetPriority(Urgent)
# Signature requires a verdict
When: routing to "Signature" AND LegalVerdict ≠ "Approved"
Do: CancelAction("Only an approved contract proceeds to signature.")
Renewals
Because RenewalDate and AutoRenew are structured fields — not
prose buried in a PDF — an n8n flow queries the report URL weekly and opens a review item
ninety days before any auto-renewing contract rolls. Most organizations discover an unwanted
auto-renewal after it renews.
What you can answer
- What renews next quarter? Filter on renewal date; export to CSV or refresh it in PowerBI.
- What is our contracted value by counterparty? Group by counterparty.
- How long does legal review take? Stage times, split by risk level.
5. Software delivery, evidence-gated
Not hypothetical. WorkflowHub's own software is built by agents working a WorkflowHub workflow.
Queues
Requirements → Development → Code Review → Test → Verify → Deploy → Done
↖_________________________________↙ (rework returns)
Fields that gate each step
| Field | Values | Gates |
|---|---|---|
CommitRef / Branch | text | Leaving Development |
BuildStatus | Pass / Fail | Entering Code Review |
ReviewOutcome | Approved / ChangesRequested | Leaving Code Review |
TestResult | Pass / Fail | Leaving Test |
DeployApproved | true / false | Entering Deploy — human only |
Two things we learned running it
A workflow with no legal exit is worse than no workflow. We had items burn real money in a queue with no permitted onward route — agents kept picking them up, doing work, and finding nowhere to put it. Now every queue declares its outcome field and where each outcome sends the item. If your agents seem stuck, check the graph before you blame the model.
Rules that read a field must also assert where the item is. "TestResult = Pass → route to Verify" without checking the item is IN Test keeps firing after it lands in Verify. We shipped that bug and watched an item ping-pong.
What the numbers told us
Real figures from our own instance: an item that had burned $3.57 across two sessions without moving completed for $1.36 within ninety minutes of the missing queue existing. Another dropped from $9.65 producing nothing to $2.27 producing a complete artifact once its queue had a routing contract. We know that because cost, stage time and outcome are recorded per item.
Which of these is your Tuesday?
Tell us the process that is eating your team's week. We will tell you honestly whether it is a good first workflow — and if it is not, which one is.