Grow workflow

GTM Automation

Automated outreach has a deserved bad reputation because most of it automates the sending and skips the thinking. We build the opposite shape: the pipeline does the slow work of researching accounts and drafting genuinely specific messages, and a human approves every message before anything sends. Hard rails are non-negotiable: per-day caps, suppression lists, and manual-send discipline on LinkedIn. The output is a rep who walks in each morning to researched, drafted, ready-to-approve outreach instead of a blank screen, at a volume that never puts your domain or accounts at risk.

Typical timeline

3-5 weeks to a working pipeline; expect another few weeks of approval-queue feedback before draft quality settles

Stack

n8n for the pipeline · Enrichment APIs for account and contact research · Claude for personalization drafting · Postgres for suppression lists and send logs · Slack for the daily approval queue

What we need to start

  • · Your ICP, sharply defined: who buys, who is a waste of a message, and why
  • · Your sending infrastructure: email accounts, domains, and who actually owns the LinkedIn profiles involved
  • · Your suppression rules: existing customers, open deals, past opt-outs, and anyone else the pipeline must never touch

How it works

  1. 01

    ICP encoding and list building

    Your ICP definition becomes explicit filters the pipeline applies to every candidate account, and anything ambiguous gets held for a human call rather than guessed at. A tight list of right-fit accounts beats a big list every time, because every rail downstream depends on not messaging people who were never a fit.

  2. 02

    Account research

    For each account that passes the filter, the pipeline gathers what a good SDR would look up by hand: what the company does, recent signals, and who holds the relevant role. Research gets cached per account so a second contact there does not redo the work.

    Tools: n8n, Postgres

  3. 03

    Personalization drafting

    Claude drafts each message from the research, under instructions that ban fake familiarity and generic flattery; the draft has to reference something specific and true about the account or it fails review. Weak research means no message, not a padded one. Every draft is presented alongside its sources so the approver can verify claims in seconds.

    Tools: Claude

  4. 04

    Human approval gate

    Nothing sends without a person approving it, message by message, in a daily queue. Edits and rejections are logged and fed back into the drafting instructions, so the queue gets easier to approve over time. This gate is permanent; it is the difference between assisted outreach and spam automation, and we do not build the second kind.

    Tools: Slack

  5. 05

    Rails on the send path

    Per-day caps are enforced in the pipeline, not in a policy doc; the suppression list is checked at send time, not just at list build; and every send is logged with timestamp and approver. LinkedIn touches stay manual: the pipeline preps the message, a human sends it from the real profile, because automated LinkedIn sending violates the platform's terms and gets accounts restricted.

    Tools: n8n, Postgres

  6. 06

    CRM hygiene

    Every approved send, reply, and outcome syncs to the CRM automatically, so pipeline data reflects reality without anyone doing data entry. Replies pause all further automated touches for that contact immediately; once a human is talking, the machine steps back.

    Tools: n8n

You get
  • The research and drafting pipeline, live, feeding a daily approval queue
  • Enforced rails: per-day caps, suppression list, send logging
  • CRM sync with automatic reply detection and pause
  • A playbook covering the approval workflow and how to tune drafting instructions from rejection patterns
When NOT to use this
  • · You want volume without the approval gate; that is spam with better tooling, and it burns domains and reputation
  • · You cannot define your ICP more precisely than a job title and a headcount range; the research step will produce expensive noise
  • · Your offer is unproven; automation multiplies a motion that works, it cannot rescue one that does not

Frequently asked

Why keep a human approving every message?

Because outreach is your reputation leaving the building one message at a time, and a bad automated message to the wrong person costs more than the approval takes. The queue is fast, minutes a day at capped volume, and the rejection log steadily improves the drafts. We treat the gate as permanent, not as a training-wheels phase.

Why not automate LinkedIn sending too?

Because it violates LinkedIn's terms of service and restricted accounts are a real, common outcome. The pipeline does everything up to the send: research, draft, and queue; a human sends from the real profile. You keep most of the time savings without betting the account.

How many messages a day will this send?

Whatever cap we agree on, enforced in the pipeline itself, and deliberately conservative on any domain or account without established sending history. The constraint that matters is not how many messages the system can produce; it is how many good conversations your team can actually hold.

Which enrichment providers do you use?

It depends on your market and budget; we start with the cheapest reliable source for each field and only add paid providers where they demonstrably fill gaps. Provider choice is a detail we settle during scoping, and the pipeline is built so a provider can be swapped without a rebuild.

Want this running in your business?

We build and run this workflow for clients.

Related services: Custom automation · n8n development agency · Custom workflow automation

Free weekly brief

Steal this workflow

Get new teardowns like this one by email: the steps, the tools, and the honest failure modes. No spam, unsubscribe anytime.