Vhub SystemsYour intent data isn't broken. Your activation workflow is.
Your intent data isn't broken. Your activation workflow is.
The fix is an n8n workflow that receives G2 Buyer Intent or Bombora signals, scores and enriches each account automatically, and routes the right SDR a Slack brief with ICP contacts — all within two hours of signal receipt. This article shows you exactly how it works and how to set it up.
Intent signals are time-perishable data. Unlike firmographic data (stable over months) or CRM contact data (decays slowly), intent signals have a defined relevance curve: peak value in the first 24 to 72 hours, 60 to 70 percent value reduction at day four, near-zero differentiated value by day seven.
The average manual intent activation workflow: (1) Weekly batch report delivered Monday. (2) RevOps pre-qualification takes 6 to 10 hours. (3) SDR receives routed account Wednesday or Thursday. (4) SDR sends outreach Thursday or Friday. (5) Prospect receives outreach five to seven days after peak intent — during the post-evaluation phase, not the evaluation phase itself.
Three compounding failures drive this: batch cadence mismatch (signals fire continuously, review happens weekly — a structural gap you cannot sprint your way out of); pre-qualification bottleneck (CRM cross-reference, ICP contact finding, and territory assignment add a full business day before any routing occurs); and enrichment latency (routing a company name without a contact adds 20 to 40 minutes per account on the SDR's end).
Teams paying $1,500 to $6,000 per month for intent data and activating it on a weekly batch cadence are converting at 10 to 20 percent of the theoretical value of their subscription. The intent data provider is not the problem. The activation workflow is the problem — and it is a workflow problem that can be solved in under three hours of setup time without a $30,000 enterprise platform contract.
The math is straightforward: a team receiving 100 intent signals per week and catching even 20 percent of them within the 24-hour peak window generates more pipeline value than a team receiving the same signals and activating zero percent of them within the window. Speed of activation — not quality of personalization, not ICP fit score — is the single highest-leverage factor in intent-triggered outbound conversion rates.
G2's native CRM integration pushes raw intent signals into HubSpot or Salesforce as account-level field updates. It does not cross-reference active sequences, find ICP contacts, score signals against territory logic, or route to the right SDR within the buying window. The integration delivers data — it does not close the activation gap.
Bombora's weekly CSV export guarantees a five-to-seven-day activation lag by design. Manual processing time: four to eight hours for 80 to 200 signals. No automation layer exists between CSV receipt and SDR outreach.
6sense Revenue AI solves the exact problem at $30,000 to $100,000 per year — completely out of reach for a $5M ARR company already spending $4,000 per month on intent data. The price gap between "subscribe to intent data" and "automate intent activation" is precisely the market gap the $29 workflow fills.
Manual SDR pre-qualification costs one to two full business days of RevOps time per week and still guarantees the buying window miss — even a fast RevOps team processing signals two days after receipt is outside the 24 to 72-hour peak window for the majority of signals.
Five components, each eliminating a specific manual step.
Signal ingestion (every 4 hours or on webhook). n8n receives the G2 Buyer Intent webhook payload or watches a Google Drive folder for new Bombora CSVs. Extracted fields: account_name, account_domain, intent_category, intent_score, signal_date, signal_source. No manual download required.
CRM cross-reference (HubSpot/Salesforce API). Each account is queried by domain. If account_status = customer, skip and log. If account_status = active_deal, DM the deal owner (do not route to cold SDR). If cold or unknown, continue to scoring.
Intent signal scoring (n8n Code node). Score = (intent_strength × 0.4) + (account_fit × 0.35) + (recency_score × 0.25). Recency decay: 1.0 for same-day, 0.7 for one-day-old, 0.4 for two-day-old, 0.1 for three or more days old. Top 20 percent proceed to enrichment; remainder log to Google Sheets for weekly batch review.
Apify LinkedIn contact pull. The workflow triggers apify/linkedin-company-scraper for each top-scored account domain, filtered by your ICP title list (e.g., ["VP Sales", "Head of Sales", "CRO", "Director of Revenue"]). Returns the top two matching contacts with LinkedIn URLs. Eliminates the 20 to 40 minute manual "find the right person at this account" step before every SDR outreach.
SDR territory routing + Slack message (within 2 hours of signal receipt). Account is matched to the assigned SDR via configurable territory rules (headcount tier, geography, vertical, or round-robin). The SDR receives a structured Slack brief with account data, intent score, CRM status, enriched contacts, recommended sequence, and one-click action buttons (Add to Sequence / View in CRM / Snooze 24h).
Step 1 — Configure signal ingestion (25 min). Paste your n8n webhook URL into G2 Buyer Intent Settings → Webhook. Or set a Google Drive watch node on the Bombora CSV folder. Test the payload arrives in the n8n execution log.
Step 2 — Connect HubSpot or Salesforce (30 min). HubSpot: create a Private App with crm.objects.companies.read and crm.objects.deals.read scopes. Salesforce: configure a Connected App with OAuth. Test a domain lookup and confirm account status returns correctly.
Step 3 — Configure ICP scoring weights (20 min). Edit the ICP_CONFIG block in the n8n Code node: set headcount_tiers, industry_verticals, and tech_stack_keywords. The scoring formula applies automatically.
Step 4 — Set up Apify enrichment (35 min). Create an Apify account — the free tier provides 30 actor runs per month, sufficient for teams routing 20 to 50 accounts per week. Import apify/linkedin-company-scraper, configure your ICP_TITLE_LIST, and connect your API token via n8n credentials.
Step 5 — Configure territory routing (15 min). Add SDR entries to the n8n JSON config: name, Slack user ID, and territory rule. Example: {"sdr": "Jordan", "slack_id": "U0123456", "territory": "headcount_500plus"}. Supports unlimited SDRs and stacked rules.
Steps 6–7 — Google Sheets log + Slack (40 min). Import the included Sheets template (signal_log and weekly_summary tabs). Add the Slack bot, import the Block Kit message template, and run a test to confirm end-to-end routing fires correctly.
Total setup time: approximately 2 hours 45 minutes from a standing start.
9:52am — G2 webhook fires for Meridian Financial Systems: 280 employees, FinTech, intent score 8.2/10, signal time 9:44am today.
9:52am — CRM cross-reference: cold_account, no active deal, no sequence. Proceed to scoring.
9:53am — Score: intent 0.82 × 0.4 = 0.328; account fit 0.9 × 0.35 = 0.315 (FinTech top closed-won vertical, 280 employees in target tier); recency 1.0 × 0.25 = 0.25. Total: 0.893/1.0 — top tier, proceed to Apify.
9:54am — apify/linkedin-company-scraper returns: Sarah Chen — VP of Sales; Marcus Webb — Director of Revenue Operations.
9:56am — SDR Jordan receives Slack DM with full brief and action buttons. Sarah Chen enrolled in FinTech Mid-Market Sequence by 10:15am — 31 minutes after the intent signal fired.
Manual equivalent: RevOps processes Monday batch, SDR receives Thursday, buying window closed.
"We pay $3,800/month for G2 Buyer Intent. Our process is: RevOps downloads the weekly CSV on Monday, removes existing customers and active deals, checks who has a contact in HubSpot, assigns to territories, then sends the list to 4 SDRs in a Slack message. By the time SDRs have this, it's Tuesday or Wednesday. The intent signals from the previous week are now 8–10 days old. I know intent data has a 48-hour peak window. We are functionally throwing away 70% of the ROI on our intent subscription because of this lag." — r/marketing
High-volume (200+ signals/week): Raise the Apify enrichment cutoff from top 20 percent to top 10 percent. Add a recency_score ≥ 0.7 filter — same-day and one-day-old signals only. Add a per-SDR daily cap (default: five accounts/SDR/day) to prevent overload. Route accounts scoring 0.4 to 0.6 to the Thursday batch log rather than immediate Slack routing.
Multiple providers (G2 + Bombora simultaneously): Enable dual-source mode. Both the G2 webhook and Bombora CSV parse run in parallel. A deduplication node checks account domains across both sources before scoring. If the same account appears on both G2 and Bombora within the same 72-hour window, apply a 1.3× intent_strength multiplier — cross-provider signal overlap is a materially stronger buyer signal.
Active pipeline accounts: When CRM returns account_status = active_deal, route a DM to the deal owner: "Intent signal detected on your active deal account [Company] — consider accelerating outreach or adding a new contact from this list." Intent signals on accounts already in late-stage pipeline have a high close-rate correlation and are frequently missed by teams that route intent only to cold SDRs.
"Building a workflow to automate intent signal routing: I get a weekly Bombora export CSV, need to cross-check against HubSpot (existing customer? active deal?), enrich with a LinkedIn contact pull for the ICP buyer at the account, score by intent strength × account fit, and route the top 20 accounts to the right SDR in Slack with the enriched contact info. The manual version of this takes me 3 days and by then the window is blown." — r/n8n
Intent data has a 24–72 hour buying window. Most B2B teams activate it 5–7 days late. That's not a data quality problem — it's an activation workflow problem.
The B2B Intent Signal Router is an n8n workflow that receives G2 Buyer Intent or Bombora signals, cross-references your CRM, scores by intent strength and ICP fit and recency, pulls the best ICP contact at each top-scored account via apify/linkedin-company-scraper, and routes an enriched brief to the right SDR in Slack — all within 2 hours of signal receipt.
Included: n8n workflow JSON (import-ready, both G2 webhook and Bombora CSV variants) + HubSpot/Salesforce CRM configuration + intent scoring formula guide + Apify linkedin-company-scraper setup + territory routing JSON config + Slack Block Kit message templates + Google Sheets signal tracking template + intent ROI calculation worksheet.
[Get the B2B Intent Signal Router — $29 →][GUMROAD_URL]
"Honest question for other RevOps folks: are your intent data workflows actually generating ROI? We're on Bombora at $2,400/month and our process is completely manual. We're losing the buying window every single week. I've looked at 6sense for automation but it's $30K+/year — completely out of reach for a $5M ARR company. There has to be a $29–$99 workflow solution to route intent signals to SDRs in under 2 hours." — LinkedIn Sales Solutions community
Want the complete RevOps quality control stack? The B2B Outbound Intelligence Stack pairs this workflow with the Contact Staleness Monitor (Pain #252) and the ICP Calibration Engine (Pain #253) — route intent signals before the window closes, keep your sequences clean, and keep your ICP targeting grounded in current closed-won data.
[Get the Outbound Intelligence Stack — $49 →][GUMROAD_URL]