TL;DR: Building an agentic GTM system in 90 days means moving through three distinct phases: foundation (ICP + signal setup), infrastructure (outreach sequencing + tool integration), and optimization (live system iteration). The tools are Clay, HubSpot, Instantly, Dripify, and the Claude API. No developer required. By day 90, the system detects buying signals, scores accounts, writes personalized outreach copy, and launches sequences automatically.
Most B2B SaaS teams buy the tools first and define the process second. They set up Clay, connect HubSpot, and start a trial with Instantly before they have written down what a qualified account actually looks like. Six months later, the tools are running but not producing because the inputs were never precise enough to score correctly.
HubSpot's State of Sales research found that reps spend approximately 70% of their time on non-selling activities. An agentic GTM system eliminates most of that overhead — but only if it is built in the right sequence. Process first, tooling second, automation third.
This post covers the exact 90-day sequence DemandLab uses to take a B2B SaaS company from manual outbound to a fully automated agentic GTM system: what gets built in each phase, what the deliverables look like, and what failure modes to avoid at each step. If you want to assess where your current setup stands before building, the GTM Maturity Assessment maps the gap in five minutes.
The 90-Day Build Overview
The 90-day build runs in three 30-day phases. Each phase has specific deliverables that must be complete before the next phase begins.

Each phase builds on the previous one. Skipping Phase 1 deliverables and jumping to tooling is the most common reason agentic GTM builds break within 90 days.
| Phase | Days | Focus | Key Deliverable |
|---|---|---|---|
| Phase 1: Foundation | 1-30 | ICP definition, signal source setup, CRM audit | Clay table live with daily signal refresh |
| Phase 2: Infrastructure | 31-60 | Outreach sequences, Claude API copy layer, end-to-end integration | First signal-triggered sequence enrolled in HubSpot |
| Phase 3: Optimization | 61-90 | Live system iteration, scoring tuning, copy performance review | Compound signal accounts converting to booked meetings |
Phase 1: Foundation (Days 1-30)
Phase 1 has nothing to do with outreach. It is entirely about defining what the system is scoring and what it is watching for.
Step 1: Define Your ICP with Numeric Precision
Vague ICP criteria break agentic systems. "Mid-market SaaS companies" cannot be scored automatically. "B2B SaaS companies, 50-500 employees, $1M-$10M ARR, HubSpot or Salesforce in the tech stack, headcount growth above 20% in the past six months" can be.
Write down your ICP criteria as a set of filters Clay can evaluate on every incoming account. For each criterion, specify:
- Field: What data point defines it (headcount, tech stack, funding stage, industry)
- Range or value: The exact threshold that qualifies or disqualifies an account
- Source: Where Clay will find this data (Crunchbase, Apollo, BuiltWith, LinkedIn)
Run this exercise until you can describe your ICP as a Clay formula, not a persona narrative.
Step 2: Identify Your Two or Three Primary Signals
Every B2B SaaS company has a different set of signals that predict buying intent most reliably. Before building any monitoring infrastructure, decide which two or three signals will drive your highest-priority queue.
For most Series A/B SaaS companies focused on GTM infrastructure, the most predictive signals are:
| Signal | Data Source in Clay | Why It Predicts Intent |
|---|---|---|
| Series A or B funding close | Crunchbase API | Fresh capital with a growth mandate — pipeline infrastructure is a near-term priority |
| SDR or marketing hiring without a demand gen function | LinkedIn Jobs | They are scaling sales without a pipeline source — they will feel the gap in 60 days |
| Marketing leader departure | LinkedIn, press | Buying window opens as they evaluate what the incoming leader will inherit |
| "Hiring first marketing hire" job post | LinkedIn Jobs, Wellfound | They need leadership before they hire — a fractional GTM operator is relevant immediately |
Pick the two that most closely match the buying triggers for your specific solution. Do not configure five signal sources before you have validated the two most important ones.
Step 3: Build Your Clay Foundation Table
Create your primary Clay table with three sections:
- ICP filter layer: The fields and formulas that determine whether an incoming account qualifies. Non-qualifying rows get filtered out automatically.
- Signal source columns: One column per signal source (Crunchbase funding, LinkedIn Jobs, LinkedIn company activity). Each column pulls data from the relevant enrichment integration on a daily schedule.
- Compound signal scoring column: A formula column that counts how many signal fields are populated for each row. Any row with 2 or more populated signal fields gets tagged "Priority: High."
By day 30, this table should be running with a daily refresh and surfacing new accounts automatically. You should see qualifying accounts appearing without manual intervention.
Phase 1 deliverable checkpoint:
- ICP criteria documented as specific numeric filters
- Two primary signals identified and sourced
- Clay table live with daily signal refresh
- Compound signal formula tagging Priority: High accounts
Phase 2: Infrastructure (Days 31-60)
Phase 2 builds the output and execution layers on top of the foundation Clay table.

Data flows from Clay through HubSpot to Instantly and Dripify. The Claude API generates personalized copy from enriched account data before sequences launch.
Step 4: Set Up Waterfall Enrichment
Before any account reaches outreach, it needs a contact record. Clay's waterfall enrichment runs multiple sources in sequence to find the best available email and LinkedIn profile for your target persona at each qualifying account.
Configure the waterfall in this order:
- Apollo — primary source, highest coverage for B2B SaaS contacts
- LinkedIn via Proxycurl — secondary, fills gaps Apollo misses
- Manual fallback flag — a formula that marks accounts where enrichment returned nothing, so they can be handled separately
Waterfall enrichment runs automatically on every new row that meets ICP criteria. By the end of Phase 2, every qualifying account that enters the table should have an enriched contact record within 24 hours of appearing.
Step 5: Build the HubSpot Routing Architecture
The signal tier tag from Clay needs to drive behavior in HubSpot. Set up the following:
Custom properties in HubSpot (create these first):
Signal Tier— dropdown: Priority High, Tier 2, Tier 3, NurtureSignal Source— text: which specific signal triggered this accountSignal Date— date: when the signal was detected
Workflows in HubSpot (one per tier):
- Priority High → enroll in "Compound Signal — 5-touch, 10-day" sequence
- Tier 2 → enroll in "Signal Specific — 7-touch, 21-day" sequence
- Tier 3 → enroll in LinkedIn nurture cadence in Dripify, no cold email
Clay pushes enriched records to HubSpot via the native HubSpot integration. The Signal Tier property travels with the record and triggers the right workflow automatically.
Step 6: Build the Copy Layer with the Claude API
This is the step most teams skip, and it is the one that most determines whether outreach actually converts.
Generic merge-field templates — "Hi [First Name], I see you're in [Industry]" — do not perform at the level that signal-triggered outreach is capable of. The Claude API can generate copy that references the specific signal: the funding round, the job posting, the LinkedIn post from the founder.
The Claude API integration works as a Clay column:
- Add an API column in Clay that calls the Claude API with the enriched account data as context
- The prompt instructs Claude to write a 3-5 sentence cold email opening that references the specific signal, names the company, and connects the signal to the problem your service solves
- The output (the email copy) populates a column in Clay, which gets pushed to HubSpot as a contact note or to Instantly as the first-touch email body
According to McKinsey's research on AI-assisted work, AI-assisted content generation improves productivity on synthesis and personalized communication tasks by 30-40%. In outbound, the lever is not volume — it is the relevance of each message to the specific account receiving it.
Step 7: Wire Instantly and Dripify
With copy generated and contacts enriched, the final piece is execution:
Instantly setup:
- Create one sequence per signal tier (compound signal, tier 2, tier 3 if you are running email for tier 3)
- Sequence step 1 uses the Claude-generated copy from HubSpot as the email body
- Steps 2-5 (or 2-7 for tier 2) follow the angle established in step 1
Dripify setup:
- LinkedIn connection request fires on day 1 for all Priority: High accounts, simultaneously with the first Instantly email
- Message request (if connection accepted) fires on day 4 with a brief, signal-referenced message
Phase 2 deliverable checkpoint:
- Waterfall enrichment running on all new ICP accounts
- HubSpot custom properties live, workflows active per tier
- Claude API column generating copy in Clay
- First Instantly sequence enrolled with signal-triggered email copy
- Dripify connection request running for Priority: High accounts
- At least one account has moved end-to-end through the full pipeline in a test run
Phase 3: Optimization (Days 61-90)
Phase 3 is where the system goes live and you start tuning based on what the data shows.
Step 8: Run the First 30 Days Live
Turn off manual outbound. Let the system run. For the first 30 days of live operation, track three things:
| Metric | What It Tells You | Action Threshold |
|---|---|---|
| Accounts entering Clay table daily | Whether signal sources are refreshing and surfacing accounts | Below 5/day: check enrichment API status and signal source filters |
| Sequence enrollment rate | Whether HubSpot is routing correctly | Below 80% of qualified accounts enrolling: check workflow triggers and property mapping |
| Reply rate by tier | Whether copy is resonating and signal tiering is correct | Priority: High below 8%: review copy prompts and signal definition |
OpenView Partners' SaaS benchmarks consistently show the most CAC-efficient B2B SaaS companies run tightly defined top-of-funnel systems. The iteration loop in Phase 3 is what moves from "system is running" to "system is efficient."
Step 9: Tune Scoring and Copy
Two rounds of tuning typically happen in Phase 3:
Scoring tuning: Accounts that are entering as Priority: High but not converting at that tier's expected rate indicate the compound signal definition is too broad. Tighten the criteria: require both signals to have appeared within a 30-day window, or add a third required qualifier (e.g., tech stack must include HubSpot or Salesforce).
Copy tuning: If reply rates are flat across tiers, the problem is usually one of two things. Either the signal is not being named specifically enough in the email ("I noticed you recently raised funding" instead of "You closed a Series A in March and you're now hiring SDRs"), or the connection between the signal and the solution is too abstract ("we help companies like yours grow" instead of "when you hire SDRs without a pipeline source, they miss quota in 90 days — that's the problem we solve").
Review the first 50 emails sent. Identify the top 5 performing subjects and openings. Update the Claude API prompt to use those patterns as examples for future copy generation.
Step 10: Establish the Weekly Review Loop
By day 90, the system should be running with a weekly review cadence:
- Monday: Check Clay table for new Priority: High accounts flagged over the weekend
- Wednesday: Review HubSpot reply activity from the week's sequences; log any conversations started
- Friday: Pull reply rate and enrollment metrics for the week; flag any signal sources with zero new accounts
This is the ongoing operating model. The system runs 24/7. The human job is the weekly review and periodic tuning — not the monitoring, scoring, and outreach initiation that the system handles.
What the System Looks Like at Day 90
A fully built agentic GTM system at day 90 has:
| Layer | Component | What It Does |
|---|---|---|
| Signal Detection | Clay table with daily refresh | Monitors Crunchbase, LinkedIn Jobs, LinkedIn activity for ICP accounts showing buying signals |
| Scoring | Compound signal formula in Clay | Automatically tags Priority: High accounts when two or more signals overlap |
| Enrichment | Waterfall enrichment in Clay | Finds best email and LinkedIn contact for each qualifying account within 24 hours |
| Copy Generation | Claude API column in Clay | Writes signal-referenced email opening for each account, pushed to HubSpot |
| CRM Routing | HubSpot workflows | Routes contacts to the right sequence tier based on signal tag, no manual sorting |
| Email Execution | Instantly sequences | Sends 5-touch (Priority: High) or 7-touch (Tier 2) sequences with signal-specific copy |
| LinkedIn Execution | Dripify automation | Sends connection request + follow-up on day 1 and day 4 for Priority: High accounts |
| Reporting | HubSpot pipeline reporting | Tracks reply rate, meetings booked, and sequence performance by signal tier |
The founding team or sales leader reviews this weekly. No one manually initiates outreach. No one monitors signal sources. No one decides which accounts to sequence. The system does all of that.
Key Takeaways
- Process before tooling: define your ICP as numeric filters and identify your two primary signals before opening Clay
- Phase 1 (days 1-30) is the foundation — Clay table, ICP filters, signal columns, compound scoring. Nothing else works without this
- Phase 2 (days 31-60) builds the execution layer: waterfall enrichment, HubSpot routing, Claude API copy, Instantly and Dripify sequences
- Phase 3 (days 61-90) runs the live system and tunes scoring thresholds and copy based on real reply data
- The ongoing operating model is a weekly review, not daily monitoring — the system handles everything between those reviews
Frequently Asked Questions
Q: How long does it take to build an agentic GTM system?
A functional agentic GTM system takes 90 days to build end-to-end with the right tooling and expertise. The first 30 days focus on ICP definition and signal source setup in Clay. Days 31-60 build the outreach infrastructure in Instantly and Dripify, wire up HubSpot, and test end-to-end. Days 61-90 run the live system, review results, and iterate on scoring logic and copy performance.
Q: What tools do you need to build an agentic GTM system?
The core stack is Clay for signal detection and data enrichment, HubSpot as the CRM and lifecycle management layer, Instantly for cold email execution, Dripify for LinkedIn automation, and the Claude API as the AI reasoning and copy generation layer. These five tools cover the full signal-to-sequence pipeline without requiring a developer for most of the configuration.
Q: What should you build first: ICP or signals?
ICP definition always comes first. Signals are only useful if you know precisely which accounts they should be surfacing. An ICP with vague criteria produces bad scores, even from high-quality signal sources. Define your ICP with specific, numeric ranges — headcount, ARR stage, tech stack, growth rate — before setting up any Clay tables or signal monitoring.
Q: What is waterfall enrichment in Clay?
Waterfall enrichment is Clay's method of running multiple data sources in sequence to find the best contact record for a given company. Clay tries the first source (Apollo), then falls back to the second (LinkedIn via Proxycurl), then a third if needed. The result is the highest-quality email and contact data available without paying for all sources simultaneously.
Q: How do you know when the system is working?
The first signal the system is working is account volume: new accounts appearing in your Clay table daily from signal sources, with compound-signal accounts being flagged and routed automatically. The second signal is sequence enrollment in HubSpot — contacts entering the right tier sequences without manual intervention. Reply rates and booked meetings are the third-order signal, and they typically appear in weeks 10-12 of the build.
Q: Can a Marketing Ops or RevOps professional build this without a developer?
Yes. Clay, HubSpot, Instantly, and Dripify are all no-code or low-code platforms accessible to Marketing Ops and RevOps professionals with hands-on tool experience. The Claude API integration requires basic familiarity with API calls and JSON, but no software development background. The 90-day build is designed to be executed by an operator, not an engineer.
The 90-day timeline is not arbitrary. Phase 1 takes a full 30 days because ICP definition is harder than it looks, and signal sources require validation before you trust them. Phase 2 takes 30 days because end-to-end integration testing always surfaces problems that spec documents miss. Phase 3 takes 30 days because you need enough live data to tune from — and you need to see at least one full sales cycle start before you know whether the system is producing pipeline.
If you want to know where your current GTM setup stands before starting the build, take the GTM Maturity Assessment. It maps the specific gaps in your current setup and tells you what Phase 1 needs to fix first. If you already know you need to build and want a partner to run the 90-day process, book a GTM Analysis and we will walk through the build plan together.
Sources
HubSpot, State of Sales — Research finding that sales reps spend approximately 70% of their time on non-selling activities, the overhead an agentic GTM system is built to eliminate.
McKinsey Global Institute, The Economic Potential of Generative AI — Analysis showing AI-assisted workflows improve knowledge worker productivity by 30-40% on synthesis and personalized communication tasks, directly applicable to Claude API-generated outreach copy.
OpenView Partners, SaaS Benchmarks Report — Annual benchmarks on CAC efficiency showing the relationship between structured top-of-funnel systems and unit economics at Series A/B.

