Enrich, score, and route new HubSpot contacts with Apollo

By General Input

When a contact is created in HubSpot, an agent enriches them with Apollo, scores them against your ICP, writes a tier, creates a task, and DMs the owner.

Integrations

  • HubSpot
  • Apollo
  • Slack

Type

Agentic Task

Categories

  • Sales
  • Operations

Build me an agent workflow that enriches, scores, and routes every new HubSpot contact before a rep ever touches the record.

Trigger: a HubSpot outgoing webhook on contact.creation. The webhook payload gives me the contact ID, email, first name, last name, and company domain (when available).

First, look at the email domain. If it is a personal/consumer domain (gmail.com, yahoo.com, hotmail.com, outlook.com, icloud.com, aol.com, proton.me), skip enrichment, write a short HubSpot note saying the contact was skipped because the email is consumer, and stop. Do not burn Apollo credits on these.

Otherwise, call Apollo People Enrichment with the contact's email to pull title, seniority, department, and LinkedIn URL. Then call Apollo Organization Enrichment with the company domain to pull industry, employee headcount, latest funding round and amount, and tech stack.

Score the contact against an ICP rubric I will define. Default rubric: firmographic fit (industry in [SaaS, Fintech, RevOps tooling], headcount 50 to 5000, raised at least Series A) plus role seniority (VP and above is highest, Director is mid, IC is low). Output a numeric lead_score from 0 to 100 and a tier of A (80+), B (50 to 79), or C (under 50).

Use HubSpot Update Contact to write back: title, seniority, linkedin_url, industry, employee_count, latest_funding_stage, latest_funding_amount, tech_stack, lead_score, and lead_tier. Create the custom properties in HubSpot if they do not already exist.

Pick the account owner using this routing rule: territory by country first (US East to Alex, US West to Priya, EMEA to Jordan, APAC to Sam), and if territory is unknown, round-robin across the four owners. Make this list configurable so I can swap names later.

Use HubSpot Create Task to create a follow-up task assigned to that owner, associated with the contact. Subject: "New {tier} lead: {first_name} {last_name} at {company}". Due date: end of next business day. Priority: HIGH for tier A, MEDIUM for tier B, LOW for tier C.

Then use Slack Send a Message to DM that owner. The message should be one short paragraph (3 to 5 sentences) explaining why this lead matters: who they are, what the company does, why they fit our ICP, and any standout signal (recent funding, relevant tech in stack, senior title). End with the direct HubSpot contact link.

If Apollo returns no match for the person or the organization, still update HubSpot with whatever was found, set lead_tier to "needs review", and send a softer Slack note so the owner knows enrichment was incomplete and they should manually qualify.

Log every run with the contact ID, tier, score, assigned owner, and whether Apollo had a match, so I can audit later.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe reveals