Every 15 minutes
Post new Omnisend contacts to Slack
Your team sees each new contact's email in Slack within minutes of them signing up.
- Runs
- Every 15 minutes
- Apps
- Omnisend
- AI
- Not needed
- Access
- read (contacts)
Send this to your assistant
Create a ClickRuntime automation: every 15 minutes, check Omnisend for new contacts and post each one's email to #store in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A boutique agency uses Omnisend to manage client newsletters and a store owner wants to follow up personally with high-value subscribers, for instance anyone who signs up with a business email or joins from a wholesale landing page. Reading the contacts list once a day means the warm lead cools off and the chance for a friendly welcome note is gone. Automated welcome emails exist, but they cannot ask a real person to reach out.
Every 15 minutes, Omnisend is checked for contacts created since the previous check, ordered by creation time. Each new contact is posted to your chosen channel with email address, name and source, and a checkpoint is saved so the same person is never announced again.
It is mostly used by small teams that want a quick personal touch for new subscribers or want to confirm a campaign form works.
What you get out of it
A chance to say hello in person
Reaching out within the hour while a person is still thinking about your brand feels very different from a message sent three days later. That small speed advantage often decides whether a new subscriber becomes a customer.
Testing a new form is instant
After publishing a signup form, you can submit your own address and see it appear within minutes. That confirms the form is connected. It beats waiting for a morning report to find out that the form was broken all night.
Sales can follow promising signups
Contacts from wholesale or event forms are posted as they arrive, so a salesperson can reply while interest is high. The early reply can make the difference when a business contact is comparing several suppliers.
Spam bursts become obvious
If dozens of gibberish addresses arrive in one batch, the alert stream makes the pattern clear and you can tighten the form before the list is polluted. That early warning lets you add a captcha or tighten validation without waiting for a damaged list.
No missed contacts after downtime
The saved checkpoint means that if a check is skipped, the next one still picks up everyone created since the last success. Nothing is lost during an outage, a pause or a failed check; the list simply catches up.
How it works
What happens, step by step
Every 15 minutes, ClickRuntime checks Omnisend for contacts.
It keeps only contacts created since its last check, so nobody is posted twice.
Each new contact's email is posted to #store in Slack, oldest first.
Before it runs live
- Connect Omnisend
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 Omnisend steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, notify, http, state, report_fetched
@on_trigger
def run(event):
resp = http.get("https://api.omnisend.com/v3/contacts",
headers={"X-API-KEY": credentials.secret("OMNISEND_API_KEY")}, params={"limit": 250})
resp.raise_for_status()
since = state.get("last_created_at") or ""
new = sorted((c for c in resp.json()["contacts"] if c["createdAt"] > since), key=lambda c: c["createdAt"])
report_fetched(len(new))
if not new:
return {"posted": 0}
for c in new:
notify.slack(f"New Omnisend contact: {c.get('email')}", channel="#store")
state.set("last_created_at", new[-1]["createdAt"])
return {"posted": len(new)}FAQ
Common questions
How soon after signup will I get the alert?
Will imported contacts trigger a flood of alerts?
Can I be alerted only for certain signups, like a wholesale form?
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
Get a morning email of yesterday's Omnisend sign-ups
Each morning you see how many contacts joined, who they are and how that compares with last week.
See how it worksGet last week's Omnisend campaigns in one email
Each Monday you get a summary of the campaigns sent the week before.
See how it worksSee new job listings as they're posted
Jobs that match your keywords show up in a Slack channel, each one only once.
See how it worksKeep exploring
Set up “Post new Omnisend contacts to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
