Marketing automation
The repetitive marketing work, run by software — sequences, scoring, nurture, and reporting wired to your CRM so nothing falls through.
Updated 2026-07-13
Details
What this is
The repetitive marketing work — follow-up sequences, lead scoring, nurture, reporting — run as software and wired to your CRM, so the next step fires on a real event instead of depending on someone remembering. It’s built for small B2B teams that already have a CRM and an email tool but nothing reliable connecting them.
The problem
Marketing follow-up usually lives in someone’s head. A lead fills in a form, a deal moves to “proposal sent,” a customer goes quiet for three weeks — and whether anything happens next depends on a person remembering. When the team is busy, the follow-ups that matter are the first to slip. The tooling is often there already; it just isn’t wired to the events that should drive it.
So the work here is plumbing, not another platform. We connect the tools you have, automate the gaps between them, and make the whole flow react to what actually happens in your CRM.
How it’s built
The automation engine is a TypeScript service on top of Postgres. CRM and form events arrive as webhooks; each event is written to an append-only log before anything acts on it, so a sequence can be replayed or audited later rather than firing once and vanishing. Sequences, scoring rules, and routing all read from that log. A deal-stage change, a form fill, an inactivity window — each is a real event with a timestamp, not a row on a fixed calendar.
A few choices worth calling out:
- Webhook delivery is idempotent. CRMs retry, and they deliver out of order. Every inbound event carries a dedupe key, so a retried “stage changed” webhook updates a lead’s score once, not three times. This is the difference between a scoring system you trust and one that quietly drifts.
- Lead scoring is rules in code, reviewed like code. Thresholds and weights live in the repo, not buried in a vendor UI where no one can see who changed what. When sales says the wrong leads are getting routed, we read the rules, change them, and ship.
- Outbound runs against the provider’s API directly — your existing email and CRM APIs — with rate limiting and retry built in, so a burst of events doesn’t trip a sending limit or drop messages on the floor.
Reporting is the part teams underrate. Every send, open, score change, and routing decision lands in Postgres, so the dashboard is one queryable source instead of five tools that each tell a slightly different story. We wire campaign attribution through GA4 so the same numbers show up in the analytics your team already checks, including the traffic that increasingly arrives from AI assistants rather than a classic search result.
That last point isn’t a side note. As more B2B research runs through AI intermediaries, buyers increasingly evaluate vendors through an assistant before a human ever talks to sales. If your automation can’t see or react to that traffic, you’re scoring half the funnel.
What we integrate with
We don’t ship a platform, so “can you integrate with X” really means “does X expose an API or webhooks” — and nearly everything does now.
- CRMs. HubSpot and Pipedrive are the common cases: both push webhooks on deal and contact changes and accept API writes for scores and routing. In-house CRMs are just as workable — we build custom systems ourselves, so a bespoke CRM with an API, or one where the practical interface is its database, is a normal integration rather than a special request.
- Email. Sequences send through the transactional email API you already use — Postmark, SendGrid, Resend, or your provider’s equivalent — with the rate limiting and retry described above in front of it. We don’t move you onto a new sending platform with a fresh domain reputation to warm up.
- Analytics and ads. Campaign attribution lands in GA4, so marketing numbers reconcile with the analytics your team already checks. Where ad spend should follow the same signal, the ad platform APIs read from the same event log.
- Everything else. Form tools, billing, calendars, support desks: webhooks where they exist, polling where they don’t. A tool with neither is a constraint we flag in week one, not a surprise in week four.
A typical engagement
The spread in the price band maps to scope, not to mystery. At the low end — around $7,000 — the shape is one CRM, one email provider, and two or three flows: the stalled-lead follow-up, the post-proposal nurture, the win-back. That’s live in roughly two to three weeks. The top end — $15,000 to 20,000 — adds lead scoring and routing, nurture across several segments, and the GA4-reconciled reporting dashboard, and runs six to eight weeks.
The sequence is the same at either scale. The first week is mapping: which events your CRM actually emits, which follow-ups run today, and which quietly don’t. The event log and the first sequence go live early, so real webhooks are flowing through the system while the rest is built on live data rather than fixtures. Scoring, routing, and reporting land last, because they read the same log the sequences write to. You see messages sending in week two or three, not a big-bang launch at the end.
After handover the rules stay in your repo, readable and changeable; adjusting a threshold is a reviewed code change with a history, not a toggle someone flipped in a vendor UI.
Where this pattern has run
The same event-log-and-triggers architecture sits under two engagements we’ve written up: a tech brand that ran its marketing as software and a new Australian brand that launched with the loop already running — CRM and analytics events in, sequences and budget decisions out, an audit trail behind every automated action. The discipline that lets automation act on its own without confidently doing the wrong thing — thresholds, evals, audit trails — is written up in confidence-gated automation.
What you get
- Follow-up that runs on triggers, not on someone remembering
- Lead scoring and routing you can read, change, and trust
- Nurture driven by real CRM events, with an audit trail behind every send
- One dashboard backed by one database, reconciled to GA4
Sources
- GA4 attribution — Google’s documentation on campaign attribution in GA4 (official docs)
FAQ
Questions, answered
We already use a marketing tool. Do you replace it?
Usually not — we wire it up properly and automate the gaps. The goal is one connected flow, not another tool to log into.
Can the automation react to what happens in our CRM?
Yes. Sequences fire on real events — a deal stage change, a form fill, an inactivity window — not on a fixed calendar.
What does it cost, and how long does it take?
US$7,000–20,000. The low end is one CRM, one email provider, and a couple of flows, live in about two to three weeks. The top end adds scoring, routing, multi-segment nurture, and reconciled reporting over six to eight weeks. We scope before we start, so the number you agree to is the number.
We run a custom CRM. Can you work with it?
Yes. We build custom systems ourselves, so an in-house CRM is a normal case, not an exception. If it sends webhooks we use those; if not, we poll its API or read the database directly. It's usually less work than teams expect.
What happens when a sequence misfires? How is it audited?
You can trace any send back to the event that triggered it, pause a single misfiring flow without stopping the rest, and ship the fix as a reviewed change. Retries never double-send. The mechanics are in the How it's built section below.