Live simulator
See the automations actually run
Three real workflow shapes, animated step by step. Not a video, not a screenshot: the same node sequence we build, with the branches and the exit conditions visible.
Inbound lead router
A self hosted n8n workflow. Every inbound lead is normalized, deduplicated, enriched, scored, assigned, and acknowledged. Watch the branch on the scoring node: low scores never reach a salesperson.
- TriggerWebhook
Form, inbox, and ad platform all post here
- CodeNormalize
Every source mapped to one lead schema
- DatabaseDedupe
Match on email, then domain plus surname
- HTTPEnrich
Company size, sector, country. Cached 30 days
- BranchScore
Weighted rules, branches on the result
- score below thresholdNurture list
- CRMAssign
Round robin inside the territory
- ChatNotify
Slack ping to the owner with the message inline
- EmailAcknowledge
Personal reply inside ninety seconds
1,240 runs a month. Each step shows what it does and, on a real build, what happens when it fails. The failure branches are omitted here for readability, not from the build.
Form to CRM with instant follow up
A linear Zap. Simple to read, fast to ship, and priced per task, which is why the step count matters: this one consumes five tasks per submission.
- TriggerNew submission
Form platform fires the Zap
- BranchFilter
Spam scored out before it costs a task
- CRMFind or create
Existing contact updated, not duplicated
- CRMCreate deal
Right stage, source attributed
- EmailSend email
Acknowledgement from the owner's address
- ChatSlack message
Owner notified with the body inline
610 submissions a month. Each step shows what it does and, on a real build, what happens when it fails. The failure branches are omitted here for readability, not from the build.
Speed to lead and no-show recovery
A GoHighLevel workflow with a wait ladder and two exit conditions. The important part is the exits: any reply or booking cancels every remaining step instantly, which is what stops a lead being messaged after they already answered.
- TriggerLead created
Form, call, chat widget, or ad lead form
- SMSSMS in 60s
Personal text from the local number
- CallRing the team
Sequential dial with a source whisper
- WaitWait 5 min
Quiet hours enforced in the lead's timezone
- any reply or bookingStop everything
- CallRetry call
Second attempt, then 30 min, then 4 hours
- SMSSend booking link
Real availability, one tap
- EmailLong nurture
No contact after the ladder, not deleted
Median first touch 41 seconds. Each step shows what it does and, on a real build, what happens when it fails. The failure branches are omitted here for readability, not from the build.
Reading the diagram
What the shapes mean
The differences between these three are not cosmetic. They are the reason platform choice matters.
Linear versus branching
The Zapier flow is a straight line. Every step runs, every time, and every step costs a task. That is fine at low volume and expensive at high volume.
The n8n flow branches on the scoring node, so low value leads never consume the expensive downstream steps. Self hosted, that saving is in compute rather than billing, but the design principle is the same.
Wait steps and exit conditions
The GoHighLevel flow contains waits measured in hours. A workflow that sits waiting is a workflow that can be overtaken by reality, which is why the exit condition matters more than any other node on the canvas.
Any reply, answer, or booking cancels every remaining step instantly. Without that, you text somebody four times after they already booked.
How we build them
The same six steps every time
Map before you build
Somebody watches the work happen. The documented process and the real one are never the same, and the difference is where the project succeeds or fails.
Design the data contract
Field by field: where it comes from, what it can contain, and what happens when it arrives empty. Most automation bugs are data bugs wearing a costume.
Build the failure path first
Error branches, retries with backoff, and dead letter handling go in alongside the happy path. Building them after is how you end up with silent failure.
Replay real history
A month of your actual records goes through the workflow before it touches production. It finds something roughly nine times out of ten.
Ship behind a switch
Live in shadow first, then with approval, then narrow autonomy. The dial moves on evidence, not on enthusiasm.
Monitor and hand over
Failure alerts to a channel somebody owns, a written runbook, a recorded walkthrough, and thirty days of support.
Want to see yours drawn like this?
Describe the process in the quote form and the reply includes a node level map of how we would build it, whether or not you go ahead with us.