Workflow automation, APIs & webhooks
Connect the GTM stack so data moves on its own, and fails loudly when it can't.
Roadmap: CRM, RevOps & automation
Why it matters
A typical GTM stack has a CRM, a data platform, one or two sequencers, a calendar tool, Slack, a warehouse and several data providers. Without automation, people copy data between them by hand and things fall through the cracks. Tools like n8n, Make and Zapier, plus small bits of code, let you connect them. The difference between a demo and a system is what happens on the bad day: the API times out, the webhook fires twice, the record doesn't exist.
What it's made of
- Triggers: webhooks, polling, schedules and CRM events
- Choosing between Zapier, Make, n8n and code
- Retries, backoff and rate limits
- Idempotency: making repeated runs safe
- Error branches, alerts and dead-letter handling
- Secrets, permissions and audit trails
- Logging and run history you can debug from
- Documenting workflows so others can own them
Picking the tool
There's no single right answer, but the trade-offs are predictable:
- Zapier: fastest to build simple flows, huge app catalogue, gets expensive at high volume.
- Make: visual and flexible with branching and iteration, cheaper per operation than many alternatives.
- n8n: can be self-hosted, allows code steps, good for higher volumes and data you'd rather keep in-house.
- Code (a serverless function or small service): best for heavy volume, complex logic, or when you need tests and version control.
- Rule of thumb: start no-code to learn the process, then move the hot path to code once volume or complexity demands it.
Make every step safe to repeat
Webhooks are often delivered more than once, and retries re-run steps. Design for it. Look up before you create (find contact by email; create only if missing). Store an idempotency key, such as the event ID, and skip events you've already processed. Prefer "set field to X" over "increment field". Then a retry is harmless.
Failures are part of the design
For each step, decide what happens when it fails. Temporary errors (timeouts, 429s, 5xx) get retried with growing delays and a cap. Permanent errors (bad input, missing record) go to an error branch that logs the payload and alerts a channel someone watches. Keep failed items somewhere you can replay them from after fixing the cause, instead of rebuilding them by hand.
Leave it maintainable
Before calling a workflow done:
- Connections use a shared service account, not your personal login.
- A short doc says what triggers it, what it changes, who owns it and how to pause it.
- Run history is kept long enough to debug last week's problem.
- There's an alert when it stops running entirely, not just when a step errors.
Mid-level looks like
Builds multi-step automations that connect two or three tools, with basic filters and error notifications.
Senior looks like
Designs automations that are idempotent, rate-limit aware and observable, chooses the right tool for volume and cost, and leaves documentation and alerts someone else can act on.
Common pitfalls
- No error path, so failures vanish silently and someone notices weeks later.
- A webhook delivered twice creates two contacts, two tasks and two emails.
- Running high-volume jobs on per-task-priced tools until the bill arrives.
- Workflows only one person understands, with API keys tied to their personal account.
Practice drills
Drill 1
Build a flow: a demo form submission triggers enrichment, account matching, owner assignment, a CRM record and a Slack alert. Then send the same webhook three times.
A strong answer: One record and one alert, not three; a lookup-before-create pattern; and an error branch that captures the payload.
Drill 2
A nightly job syncs 20,000 rows to an API limited to 100 requests per 10 seconds. Design it so it finishes reliably and can resume after failing halfway.
A strong answer: Batching, throttling under the limit with arithmetic, checkpointing, retries with backoff, and a completion report.
Drill 3
Take an existing automation you built and write the one-page runbook a colleague would need to own it while you're on holiday.
A strong answer: Trigger, purpose, systems touched, credentials, how to pause, common failures and fixes, and who to ask.
Watch path
Play all · 3 videos · 222 minBest resources for this skill
Repos, courses, articles and podcasts, ranked by how much they teach.
n8n Academy
Free structured courses from first workflows through APIs, integrations and AI agents in n8n, a common self-hostable backbone for GTM automations.
Zapier Academy
Free learning paths on Zapier, AI orchestration and MCP, useful because many sales and marketing teams already have their processes stitched together in Zapier.
Make Academy
Free self-paced courses and badges on building scenarios in Make, up to AI agents, for teams that run their GTM glue code on Make.
eliasstravik/codebound
Skill to build your GTM Engineering stack on Vercel
landedjobs/become-a-gtm-engineer
Become a GTM Engineer in 2026: the 9-stage roadmap covering RevTech stack, AI automation (Clay/n8n), customer demos, AEO/GEO, and portfolio projects. MIT. By Landed.
Read next
Designing Data-Intensive Applications
Martin Kleppmann
The best single explanation of how databases, replication, partitioning, streams and batch processing really work. You will meet every one of these in customer environments, and this lets you reason about them quickly.
Fundamentals of Data Engineering
Joe Reis, Matt Housley
Covers the full data lifecycle (ingestion, storage, transformation, serving) in vendor-neutral terms. Most FDE deployments start with getting at messy customer data, and this gives you the vocabulary and patterns for it.
Release It!
Michael T. Nygard
Stability patterns and anti-patterns from real production failures: timeouts, circuit breakers, bulkheads, back-pressure. Read it before you ship an integration into infrastructure you do not control.
Fundamentals of Software Architecture
Mark Richards, Neal Ford
Catalogues architecture styles and, more importantly, how to analyse tradeoffs between them. Helps you justify design choices to customer architects and review boards with more than personal preference.