Book a GTM Audit
Sales Automation

How to Build a GTM Automation Workflow with Clay and HubSpot (Step-by-Step)

Faham ZiaFaham Zia Jul 16, 2026 12 min read

Most people hear ‘GTM automation’ and picture a few Zapier connections and an email sequence running on a timer. That is automation in the loosest sense of the word. What it actually produces is a sequence that fires at random, based on when contacts were imported rather than what those contacts are actually doing, sending the same message to everyone on the list regardless of context.

A real GTM automation workflow looks very different. ICP accounts are identified automatically based on live data. Contacts within those accounts are enriched with accurate, verified information from multiple sources. Buying signals are monitored continuously. Personalised sequences fire at the moment a prospect crosses a qualification threshold, with messaging that references something real and specific about their situation. And every action logs automatically to HubSpot without anyone touching a keyboard.

The pairing that makes this possible at scale, without an engineering team, is Clay and HubSpot. Clay handles the dynamic data layer: list building, enrichment, signal processing, and personalisation. HubSpot handles the CRM and pipeline layer: records, stages, routing, and reporting. When these two tools are properly connected, you get an end-to-end outbound system that runs continuously and improves over time.

This post walks through exactly how to build that workflow, step by step, from ICP list building through to sequence triggering and CRM logging.

What a GTM Automation Workflow Actually Does

Before getting into the build, it helps to be clear about what the workflow is responsible for and what it eliminates.

A full GTM automation workflow covers five stages. Identify: building and maintaining a list of ICP-fit accounts automatically based on defined criteria. Enrich: appending accurate contact data to those accounts from multiple providers in waterfall sequence. Score: applying a qualification model that determines which accounts meet the threshold for outreach now versus later. Trigger: launching a personalised sequence at the right moment, with messaging informed by enriched data and buying signals. Log: writing all activity back to HubSpot automatically so pipeline and reporting stay current.

What gets eliminated is the manual work that currently sits between each of these stages. No manual list building. No manual research. No copy-pasting contacts into a sequencing tool. No manual CRM updates after a sequence runs. When the workflow is working properly, a rep’s morning starts with a prioritised queue of accounts already in sequence, replies waiting for their response, and HubSpot reflecting the current state of all of it.

Before You Build: Prerequisites

A GTM automation workflow amplifies whatever inputs it is given. That means the quality of the output depends entirely on the quality of the foundation it is built on. Before starting the build, these elements need to be in place.

  • A well-defined ICP with specific firmographic and technographic criteria. Industry, company size, geography, growth stage, and any technology signals that indicate a good fit. Vague ICP criteria produce vague prospect lists regardless of how sophisticated the enrichment logic is.
  • HubSpot configured with the right pipeline stages, custom contact and company fields for the data points Clay will write back, and routing logic to ensure enriched contacts land with the right rep.
  • A Clay account with the relevant data provider integrations enabled. At minimum, one broad-coverage provider for the first enrichment pass and a verification tool for email validation.
  • A sequencing tool connected and ready, either Instantly or Lemlist, with warmed-up sending inboxes. The workflow can build the list and enrich the contacts, but if the inboxes are not warm, deliverability will be poor from day one.
  • A clear definition of what qualifies an account for immediate outreach versus longer-term monitoring. This is the scoring logic the workflow will apply to decide when to trigger a sequence.

Getting these prerequisites in place before building the workflow is the difference between a system that runs smoothly from launch and one that needs constant manual intervention to produce usable output.

Step 1: Building the ICP List in Clay

The first step is building a dynamic list of ICP-fit accounts inside Clay. Dynamic means the list is not static: it updates as new companies match the criteria and removes companies that no longer qualify.

Start with Clay’s company search function, filtering by the firmographic criteria defined in your ICP. Industry, employee count range, geography, revenue signals where available. This gives you a baseline universe of accounts that fit the profile.

Layer in technographic filters on top of the firmographic baseline. For example, if your ICP includes companies using HubSpot as their CRM, Clay can filter the list to only include companies where HubSpot appears in their detected tech stack. This is often one of the highest-precision filters available because it indicates both fit and a specific infrastructure context you can reference in outreach.

Add company enrichment to fill in missing data points. Revenue range, employee count, recent news, tech stack, hiring patterns. Clay pulls this from its integrated data sources and appends it to each company record automatically.

Finally, run a deduplication check against existing HubSpot records before the list proceeds to the next step. There is no value in enriching and sequencing contacts at accounts that are already in active pipeline or that have been recently contacted. Clay can query HubSpot directly to filter these out before any enrichment spend is used.

Step 2: Contact Enrichment with Waterfall Logic

With a list of qualifying accounts, the next step is finding the right contact within each company and enriching their information to a point where it can be used for personalised, deliverable outreach.

Start by filtering for the target persona within each account. Job title keywords, seniority level, and department all help narrow to the decision-maker or influencer most likely to respond. For most B2B SaaS outbound, that means VP or Director level in sales, revenue operations, or growth, though the right persona depends entirely on your ICP.

Once the target contact is identified, run waterfall enrichment to find a verified email address and relevant contact data. The waterfall sequences providers automatically until a verified match is found:

  • Provider A (Apollo) – broad coverage, checked first as the lowest-cost option
  • Provider B (Clearbit or ZoomInfo) – fills gaps for segments Apollo does not cover well
  • Provider C (Hunter or Findymail) – specialist in finding work email addresses from name and domain
  • Verification (NeverBounce or ZeroBounce) – confirms the found email is deliverable before it is used

Contacts that fail enrichment, where no verified email is found after all providers are queried, get flagged automatically rather than blocking the workflow. They can be reviewed manually or monitored for future enrichment as new data becomes available.

The output of this step is a verified contact with an accurate email address, current job title, and a set of enriched data points that will feed into the personalisation step.

Step 3: AI Personalisation at Scale

Personalisation is what separates a GTM automation workflow from bulk email software. Clay’s AI column can generate personalised opening lines, hooks, or context-specific messaging variables based on the enriched data collected in Step 2.

The sources for personalisation depend on what enrichment data is available. Recent company news is one of the strongest signals: a funding announcement, a new product launch, or a leadership change gives you a specific, timely reason to reach out that feels genuinely researched. Job postings can indicate what the company is prioritising. LinkedIn activity from the target contact can surface interests or recent positions they have shared. Tech stack changes can provide a specific technical context.

The key to AI personalisation at scale is setting quality thresholds. Not every contact will have sufficient enrichment data to generate a strong personalised hook. When the data is thin, the AI tends to produce generic output that does not improve on a well-written template. Build fallback text for these cases, a default opening that is solid even without specific personalisation, so the workflow does not send weak messages just because it ran out of data.

The output of this step is a personalisation variable that gets pulled into the sequence template at send time. The sequence is the same for everyone. The variable is unique to each contact.

Step 4: Pushing Contacts into HubSpot and Triggering Sequences

With enriched, verified, personalised contacts ready, the next step is getting them into HubSpot and into the sequencing tool.

Clay writes contact and company records directly to HubSpot using field mapping that aligns Clay’s enrichment outputs to HubSpot’s contact and company properties. Job title, email, company name, enrichment source, personalisation variable, ICP tier, and any other fields the routing or scoring logic depends on all get written in this step.

Before creating any new record, the workflow checks for an existing match in HubSpot by email address or company domain. If a match exists, it updates the existing record with the new enrichment data rather than creating a duplicate. This deduplication step is critical. Without it, every Clay run creates new contact records and the CRM fills with duplicates within weeks.

Sequence triggering can be handled in two ways depending on how the stack is configured. The first is a HubSpot workflow that detects the new or updated contact record and enrolls it into the appropriate sequence in Instantly or Lemlist based on field values like ICP tier or persona. The second is having Clay push contacts directly to the sequencing tool, bypassing HubSpot for the trigger, and then logging sequence activity back to HubSpot via the sequencing tool’s integration.

Either approach works. The choice depends on how complex the routing logic is and how tightly integrated HubSpot is with the rest of the stack. For most growth-stage teams, pushing through HubSpot gives better pipeline visibility and keeps routing decisions in one place.

Step 5: Monitoring, Logging, and Iteration

A GTM automation workflow that runs but does not learn is a missed opportunity. The final step is making sure the right data flows back into the system so performance improves over time.

Every email sent, open, reply, bounce, and meeting booked through the sequence should log automatically to the contact record in HubSpot. Most sequencing tools handle this through their native HubSpot integration. The result is a complete activity history on each contact without any manual logging.

At the workflow level, the metrics worth tracking are match rate from enrichment, the percentage of target accounts where a verified contact was found; bounce rate on sent sequences, which indicates the quality of the verification step; positive reply rate, which is the most direct indicator of targeting and messaging quality; and meetings booked per 100 contacts enrolled, which connects workflow performance to pipeline output.

Review these metrics monthly, or after each batch of 500 contacts, and use them to improve the workflow. Which enrichment providers are finding the most contacts? Which personalisation hooks are getting the most replies? Which ICP segments are converting at the highest rate? The answers to these questions, drawn from real conversion data, make every subsequent batch perform better than the last.

Common Build Mistakes and How to Avoid Them

Skipping ICP validation before building

The most expensive mistake in a GTM automation workflow is starting the build before the ICP is well-defined. A vague ICP produces a large, imprecise list that generates sends, bounces, and low reply rates without ever telling you why. Define the ICP first, run a small manual batch to validate it, then build the automation.

No deduplication logic at HubSpot write-back

Every Clay run that writes contacts to HubSpot without a deduplication check creates duplicate records. This happens faster than most teams expect. Within a few weeks of running the workflow without deduplication, the CRM becomes unreliable and cleaning it up takes longer than building the deduplication logic would have.

AI personalisation with insufficient data

Running the AI personalisation step on contacts with thin enrichment data produces generic or sometimes inaccurate output. Always build a fallback for contacts where personalisation data is below a quality threshold. A strong generic opening is better than a weak attempt at personalisation.

Not testing on a small batch first

Running a new workflow at full scale before testing on 20 to 30 contacts is a reliable way to discover problems expensively. Always run a small test batch, check the output at each step manually, confirm the HubSpot records look correct, and verify that sequences are triggering with the right content before opening the workflow to full volume.

How atomGTM Builds These Workflows

Building a GTM automation workflow in Clay and HubSpot involves design decisions at every step: which enrichment providers to sequence, how to structure the scoring logic, how to configure the HubSpot field mapping, how to handle deduplication, how to structure the AI personalisation logic, and how to connect it all to the sequencing tool cleanly.

atomGTM designs, builds, tests, and hands over these workflows as systems the client team can operate and improve independently. The output is not a set of Clay tables and Zapier zaps that require ongoing support. It is a documented, connected workflow with clear logic at every step.

For context on the GTM engineering skills involved in building and maintaining these systems, see What Is a GTM Engineer. For a deeper look at the enrichment architecture that powers Step 2, see Waterfall Enrichment Explained. And for how signal-based triggers fit into the broader outbound motion, see Signal-Based Outbound for SaaS.

Faham Zia
Faham Zia
Founder, atomGTM

Top 1% GTM and cold email expert and Fractional GTM Lead. Builds signal-based outbound, Clay enrichment, and AI automation systems for funded B2B startups.

Free, no pitch

Get a free 30-minute outbound audit

We open your real setup, not a slide deck. You leave with a written, prioritized fix list that is yours to keep whether or not we ever work together.

  • Deliverability: DNS, domain reputation, warmup and volume per inbox
  • Lists: how your ICP is being sourced and what it is missing
  • Copy and offer: why replies are not coming
  • Channel mix: what to add, what to stop paying for

118+ GTM systems built. $500M+ in new pipeline generated.

No pitch unless you ask. Prefer to talk first?