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.

Agentic Task
ActiveCampaignSlack BotSalesMarketingLead EnrichmentNotifications & Alerts
PromptCreate

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.

FAQs

Will it re-enrich contacts I have already processed?
No. Before doing any research, the workflow checks each contact for an existing hot, warm, or cold tier tag and skips anyone who already has one, so re-runs never double-charge or overwrite work.
How do I change the hot-lead threshold?
The score cutoff is a config value on the workflow. Lower it to be more aggressive about flagging hot leads, raise it to keep the Slack alerts rare and high signal.
Can I send the alert to a different channel or a DM?
Yes. The Slack destination is configurable, so you can point it at a sales channel, a regional channel, a specific manager's DM, or anywhere else your bot has access to.
What if I do not have custom fields set up yet in ActiveCampaign?
Create the fields you want enriched (company, title, industry, headcount, lead score, and a free-text summary work well) before turning the workflow on, then paste their IDs into the workflow config once.
Does this overwrite contact data I already have?
It only fills in the enrichment fields you wire up, and only for contacts that have not been tagged before. Existing names, emails, and unrelated fields are left alone.

Related templates

Daily Braintree declined-payment recovery digest to Slack

Every weekday at 8am, your billing team gets a Slack rundown of yesterday's failed Braintree charges, the revenue at risk, and who to chase first.

Braintree
Slack Bot
Agentic Task
Weekday Azure DevOps sprint standup digest in Slack

Every weekday morning, roll up your sprint's work items into a clear per-person standup summary and post it to your team's Slack channel before you meet.

Azure DevOps
Slack Bot
Agentic Task
Track new Braintree disputes before the deadline slips

Every three hours we scan Braintree for new disputes and chargebacks, open a tracked ticket with a tailored evidence checklist, and alert your team in Slack before the response deadline slips.

Braintree
Zendesk
Slack Bot
Agentic Task
Daily Databricks data health check with Slack alerts

Every weekday morning we check your most important Databricks tables for freshness and data problems, and ping Slack only when something actually looks wrong.

Databricks
Slack Bot
Agentic Task
Monday morning employee breach exposure briefing in Slack

Every Monday, automatically find which employee accounts on your company domain turned up in data breaches and get a plain-English briefing in Slack.

Have I Been Pwned
Slack Bot
Agentic Task
Instant Slack alert when an Azure DevOps build fails

When a pipeline build fails, we post a tight Slack card naming who pushed, the likely cause, and a link to the build so on-call can triage in seconds.

Azure DevOps
Slack Bot
Agentic Task

Stop chasing cold inbound.

Connect ActiveCampaign and Slack once, and Geni enriches every new contact and flags the hot ones for sales automatically.