Part V · Systems that run themselves · Chapter 13
Orchestration and handoffs
Webhooks, workflow tools and APIs, and why the joins between tools are where pipelines quietly break.
13 min read
Orchestration is the wiring between tools: when something happens in one place, the right thing happens in the others, without anyone copying data between tabs. It is invisible when it works and very costly when it quietly doesn't. Most outbound systems that disappoint have a broken wire somewhere, not a bad message.
What you'll take away
- 01What orchestration is responsible for in a GTM system.
- 02Webhooks, APIs and JSON explained without jargon.
- 03A complete signal-to-rep workflow, step by step.
- 04Retries, duplicates, logging and alerts: what makes automations trustworthy.
- 05How to choose between no-code workflow tools and code.
What orchestration does
- Moves data between tools: from the enrichment table to the sending tool, from replies to the CRM.
- Triggers actions on events: a new signal, a reply, a meeting booked, a form filled.
- Applies rules on the way: skip customers, route to the right rep, stop a sequence when someone replies.
- Keeps a record of what happened, so problems can be traced.
Webhooks, APIs and JSON in plain words
| Term | Plain meaning | Example |
|---|---|---|
| API | A way for one program to ask another to read or change something | Ask the CRM for a contact; tell the sending tool to add a lead |
| Webhook | A message one tool sends to a URL you choose when something happens | The sending tool notifies your workflow when someone replies |
| JSON | The text format most tools use to pass data | {"email": "sam@example.com", "company": "Northwind"} |
| API key | A password for one program to use another's API | Store it in the tool's secret settings, never in a spreadsheet |
None of this requires an engineering degree. It does require being able to read API documentation, look at the JSON a tool sends, and find the field you need. AI assistants are very good at explaining an unfamiliar API response.
{
"event": "reply_received",
"lead": { "email": "sam@northwind.example", "company": "Northwind" },
"campaign": "second-site-q3",
"received_at": "2026-10-14T09:12:00Z"
}A signal-to-rep flow
- 1
Receive the signal
A hiring feed, a website-visit tool or a scheduled search sends new events to your workflow. - 2
Check before spending
Is the company in the ICP? Already a customer? Contacted in the last 90 days? Skip early, and record why. - 3
Enrich and write
Find the right person and verified email, and draft the opening line from the evidence. - 4
Hand off
Add to the right sequence and post a short note to the rep in Slack, with the reason and a link. - 5
Record
Create or update the CRM records, including which signal and campaign produced the lead, so outbound gets credit.
Making it reliable
- No duplicates on retry. Before creating a record, check whether it exists, matching on a stable key such as email or company domain. Webhooks are sometimes delivered twice; your workflow must not create two leads.
- Retry, then alert. Network calls fail. Retry a couple of times with a pause, then send an alert to a person instead of failing silently.
- Log every run. What came in, what was skipped and why, what was created. When sales asks where a lead went, you can answer in a minute.
- Count both sides. Compare how many records left one tool with how many arrived in the next, daily.
- Keep keys safe. API keys go in the tool's secret storage, not in shared documents or table cells.
Alert on silence. A workflow that processed nothing is usually broken, not resting.
Choosing a tool
| Option | Good for | Watch out for |
|---|---|---|
| Built-in automations in your tools | Simple, one-tool rules | Logic scattered across tools; hard to see the whole flow |
| Workflow tools (n8n, Make, Zapier) | Connecting many tools visually; most GTM workflows | Complex logic gets hard to read; check pricing at volume |
| Code (scripts, small services) | Heavy data work, custom logic, full control | Someone has to maintain it; see chapter 15 |
Try it
Design a reply-handling workflow
Replies to outreach arrive in the sending tool. Today a rep checks it twice a day and copies interested replies into the CRM by hand. Design a workflow that does this automatically and safely.
Write your answer down first, then reveal the worked answerWorked answer
Trigger: the sending tool's reply webhook.
Steps: (1) Stop the sequence for that person across all channels. (2) Classify the reply: interested, not now, wrong person, unsubscribe or out of office. Use an AI step with fixed categories, and treat unclear replies as needing a person. (3) Unsubscribes: add to a permanent suppression list immediately. (4) Interested: find or create the contact and company in the CRM, matching on email and domain to avoid duplicates; create a task for the owner; post to their Slack with the reply text. (5) Wrong person: create a task to follow the referral.
Reliability: log every reply and its classification; retry CRM writes, then alert; a daily count of replies received against replies processed. A strong answer handles unsubscribes first and never lets the AI decide to ignore a reply.