Enrich new ActiveCampaign contacts and alert sales in Slack
Every 30 minutes, research brand-new ActiveCampaign contacts on the open web, write the findings back, and ping sales in Slack when a hot lead shows up.
Build an agent-based workflow that runs every 30 minutes to enrich brand-new ActiveCampaign contacts and route hot leads to sales in Slack.
Trigger: cron, every 30 minutes.
Step 1. Pull new contacts from ActiveCampaign. Use ActiveCampaign 'List Contacts' with a created-after filter set to the timestamp from the previous run and order by id ascending so nothing slips between runs. Page through all results. Before researching, skip any contact that already carries a tier tag starting with 'enriched-' so we never double-process.
Step 2. Research each new contact on the open web. Use the contact's name and the domain of their email address to figure out: company name, industry, headcount band (1-10, 11-50, 51-200, 201-1000, 1001+), role seniority (IC, manager, director, VP, C-level), and any obvious buying signals like recent funding, a hiring spree, a product launch, or expansion news. Then assign a fit score from 0 to 100 with a one-sentence rationale. Keep dollar amounts and any monetary values out of scope; this is fit scoring, not revenue forecasting.
Step 3. Write the enrichment back into ActiveCampaign. Call 'Update Contact' to populate the custom fields for company, title, industry, headcount, lead score, and the enrichment summary. The ActiveCampaign custom field IDs need to be discovered once at setup and stored in the workflow config so the agent uses the right IDs every run. Then call 'Add Tag to Contact' with a tier tag based on the score: 'enriched-hot' if the score is above the hot threshold, 'enriched-warm' for the middle band, and 'enriched-cold' otherwise.
Step 4. Only for hot leads (score above a configurable threshold, default 75), use Slack 'Send a Message' to post a compact card to a sales channel. Include the contact's name, company, title, fit score, the one-sentence rationale, and a link to the ActiveCampaign contact record. Dedupe alerts per contact so a re-run never re-notifies the same person; the 'enriched-' tag check from Step 1 is the primary dedupe signal.
Config knobs the user should be able to edit without rewriting the workflow:
- Cron cadence (default every 30 minutes)
- Hot threshold (default 75) and warm threshold (default 50)
- Slack channel for hot-lead alerts
- ActiveCampaign custom field IDs for company, title, industry, headcount, lead score, and the enrichment summary
- Tag names for the hot, warm, and cold tiers
Additional information
What does this prompt do?
- Sweeps ActiveCampaign every 30 minutes for contacts created since the last run, in order, so no one slips through the cracks.
- Researches each new contact on the open web from their name and email domain to figure out company, industry, headcount, role seniority, and recent buying signals.
- Writes the enrichment back into ActiveCampaign custom fields and stamps each contact with a hot, warm, or cold tier tag.
- Pings your sales channel in Slack with a compact card the moment a hot lead lands, and skips contacts that have already been enriched.
What do I need to use this?
- An ActiveCampaign account with custom fields ready for company, title, industry, headcount, lead score, and an enrichment summary.
- A Slack workspace and the channel where your sales team hangs out.
- Three tier tags created in ActiveCampaign for hot, warm, and cold leads (for example enriched-hot, enriched-warm, enriched-cold).
How can I customize it?
- Change how often it runs. Every 15 minutes for a high-velocity inbound funnel, hourly if your volume is lower, or only during business hours.
- Move the hot-lead threshold up or down. Default fires the Slack alert when the score is above 75 out of 100.
- Swap the Slack channel, rename the tier tags, or change which custom fields get filled in.
Frequently asked questions
Will it re-enrich contacts I have already processed?
How do I change the hot-lead threshold?
Can I send the alert to a different channel or a DM?
What if I do not have custom fields set up yet in ActiveCampaign?
Does this overwrite contact data I already have?
Stop chasing cold inbound.
Connect ActiveCampaign and Slack once, and Geni enriches every new contact and flags the hot ones for sales automatically.