The moment it happens
Post new ActiveCampaign contacts to Slack
Each new contact appears in Slack with their name, email and the list they joined.
- Runs
- The moment it happens
- Apps
- ActiveCampaign
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: when a contact is added in ActiveCampaign, post their name, email and list to #leads in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A small business owner or a sales rep who sells high-ticket services often wants to know the moment someone joins the ActiveCampaign list from a pricing form, a demo request or a lead magnet. Checking the Contacts page a few times a day means leads wait. A person who asked for a demo at 10:05 and gets a reply at 15:00 has usually talked to a competitor by then.
As soon as ActiveCampaign adds a contact, it sends an event and a Slack message is posted with the contact's name, email and the list or form they came from. There is no polling delay, so the channel learns about the contact in seconds.
Expect the most value from teams of one to ten people, where anyone watching Slack can pick up the lead and reply, and for businesses where each lead is worth the time of a personal follow-up.
What you get out of it
Fast replies win more inquiries
People who just filled in a form are at their most interested. Replying in minutes instead of hours is one of the clearest ways to turn an inquiry into a conversation.
Leads are not stuck waiting for someone to check
The alert reaches whoever is in Slack, so a lead does not depend on one person opening ActiveCampaign. Holidays and busy afternoons stop causing gaps. A lead then waits for the next available person, not for one specific person to come back from lunch or leave.
The team sees where contacts come from
Each message carries the source, so over a week you learn which forms and lists feed the funnel. That informs where to spend on ads or content. Over time this shows which channels deserve more budget and which only look busy.
Duplicate follow-ups are avoided
Because the alert is posted in a shared channel, a colleague can write that they have it. Two reps no longer email the same new contact within the same hour. This keeps the customer experience smooth and the team from stepping on each other.
Test sign-ups are spotted
When someone on the team tests a form, the alert confirms the contact reached ActiveCampaign. A form that fails to deliver contacts is noticed on the day it breaks. Fixing it right away avoids a week of missing leads.
How it works
What happens, step by step
When a contact is added or subscribes in ActiveCampaign, ActiveCampaign tells ClickRuntime straight away.
The automation picks out their name, email and the list they joined.
It posts them to your #leads Slack channel.
Before it runs live
- Connect ActiveCampaign
- Paste your automation's link into the other app's webhook settings
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other ActiveCampaign steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, notify
@on_event
def handle(event):
f = event.json # ActiveCampaign posts form fields like contact[email]
name = f"{f.get('contact[first_name]', '')} {f.get('contact[last_name]', '')}".strip() or "New contact"
lists = f.get("list") or f.get("contact[lists]") or "no list"
notify.slack(f"New contact: {name} <{f.get('contact[email]')}> · list {lists}", channel="#leads")
return {"posted": True}FAQ
Common questions
Which ActiveCampaign event triggers the message?
Will bulk imports flood the channel?
Do I need an admin role in ActiveCampaign?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Share contact notes in Slack
When someone writes a note on a contact, the team sees the note and who it is about.
See how it worksAnnounce new deals in Slack
Every new deal shows up with its title, value, owner and stage.
See how it worksHear when a deal moves stage or is won
Slack tells you each time a deal advances in the pipeline or closes as won.
See how it worksKeep exploring
Set up “Post new ActiveCampaign contacts to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
