Every 15 minutes
Post Mailchimp store orders to Slack
New orders from the store connected to Mailchimp show up in Slack within 15 minutes.
- Runs
- Every 15 minutes
- Apps
- Mailchimp
- AI
- Not needed
- Access
- read
Send this to your assistant
Create a ClickRuntime automation: every 15 minutes, check my connected Mailchimp store for new orders and post each one to #orders in Slack with the customer and total.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When a store connects to Mailchimp's ecommerce features, every purchase that is tracked there feeds your segments and revenue reports. But the people who care about a new order, the owner, the fulfilment lead or the account manager, rarely sit in Mailchimp. They find out through a separate notification from the shop platform, if at all, and Mailchimp-attributed sales go unseen.
Every 15 minutes, ClickRuntime lists the orders Mailchimp has received since its last check and posts each new one to your chosen channel, then saves a checkpoint so the same order is never announced twice. If nothing new arrived, it stays quiet.
It is handy for small shops that want a feel for sales in near real time, and for marketers who need to see which orders show up after a campaign goes out.
What you get out of it
Campaign sales noticed within minutes
Send a promotion and you can watch orders appear shortly after. If nothing arrives in the first hour, you learn that the link or discount code is broken while you can still fix it.
A check that Mailchimp tracking works
An order shows up only if the store sync is working. If you know orders happened but no alerts arrive, you find out about a broken ecommerce connection long before month-end reports look strange.
Whoever fulfils orders hears first
Posting to a team channel puts the order in front of the person packing boxes or booking services. They no longer wait for a daily export, which shortens the time from purchase to shipment.
No double announcements
The checkpoint remembers the last order seen, so each purchase is reported exactly once even if a run is delayed. Your channel stays readable instead of filling with repeats. That keeps the numbers trustworthy for later reporting.
A lightweight sales feed for the team
Seeing real orders scroll by is motivating, and it helps support staff recognize a customer's purchase when they write in an hour later, without logging into the store admin. It makes the store feel alive for everyone.
How it works
What happens, step by step
Every 15 minutes, ClickRuntime checks your Mailchimp store for new orders.
It only looks at orders placed since its last check, so none is posted twice.
Each new order goes to your #orders Slack channel with the order number, amount and customer email.
Before it runs live
- Connect Mailchimp
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 Mailchimp steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, http, credentials, notify, state, report_fetched
STORE_ID = "STORE_ID"
def mailchimp(method, path, **kw):
key = credentials.secret("MAILCHIMP_API_KEY")
r = http.request(method, f"https://{key.split('-')[-1]}.api.mailchimp.com/3.0{path}", auth=("clickruntime", key), **kw)
r.raise_for_status()
return r.json() if r.content else None
@on_trigger
def run(event):
since = state.get("since")
params = {"count": 100}
if since:
params["since_processed_at"] = since
orders = mailchimp("GET", f"/ecommerce/stores/{STORE_ID}/orders", params=params)["orders"]
seen = set(state.get("seen") or [])
new = [o for o in orders if o["id"] not in seen]
report_fetched(len(new))
if not new:
return {"new": 0}
for o in new:
notify.slack(f"Order {o['id']}: {o['currency_code']} {o['order_total']:,.2f} from {o['customer'].get('email_address')}",
channel="#orders")
state.set("seen", [o["id"] for o in orders])
state.set("since", max(o["processed_at_foreign"] for o in new))
return {"new": len(new)}FAQ
Common questions
Does it show every order in my shop or only those Mailchimp knows about?
How quickly will I hear about a new order?
What does each alert contain?
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 weekly Mailchimp campaign report
Each Monday you see open rate, click rate and unsubscribes for every campaign sent the week before.
See how it worksGet a morning list of new subscribers
Each morning you see who joined your list in the last day, with names and sign-up source.
See how it worksPost Mailchimp unsubscribes to Slack
When someone unsubscribes, your team sees who it was and which campaign it came from.
See how it worksKeep exploring
Set up “Post Mailchimp store orders to Slack” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.