The moment it happens
Get a message for each new customer
Each new customer account shows up with their name, email and whether they accept marketing.
- Runs
- The moment it happens
- Apps
- Shopify
- AI
- Not needed
- Access
- read_customers
Send this to your assistant
Create a ClickRuntime automation: when someone creates a customer account in my Shopify store, Slack me their name, email and whether they accept marketing emails.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When a store is small, the owner likes to know each time a stranger decides to create an account. When it is growing, sales and support need that same signal: a new wholesale buyer signing up, a customer in a new country, a sign-up from a partner's referral link. Shopify records the customer, but only the admin shows it, and nobody refreshes the Customers page all day. The sign-up becomes an unremarked number in the weekly report.
As soon as Shopify creates a customer, it sends a webhook to ClickRuntime. After checking the signature, the customer's name, email, country and marketing consent are formatted into a short message and posted to the channel you chose. The note arrives within moments, while the person is still on your site and a welcome might matter most.
Teams often use it to give a founder or account manager a daily feel for who is joining.
What you get out of it
Warm leads are contacted fast
When a new account might be a B2B buyer, a quick reply from sales within the hour beats a follow-up days later. The post gives them the name and email without opening Shopify.
Campaign effects show up live
Launch an ad or send a newsletter and watch sign-ups appear in the channel. That immediate feedback tells you whether something is working long before the analytics dashboards catch up.
Odd sign-ups are spotted
A burst of accounts with random addresses is often a bot or card-testing attempt. Seeing them stream into a channel lets someone notice a pattern while there is still time to react.
Consent status is visible
Because the message shows whether the customer agreed to marketing, whoever welcomes them knows at a glance if a promotional email is allowed or only order-related contact is appropriate, which avoids awkward and risky mistakes.
The team stays connected to customers
Names scrolling through a channel remind everyone, from packers to designers, that real people are arriving, which is a small way to keep a growing team close to its audience, even once nobody reads every order.
How it works
What happens, step by step
The moment a customer creates an account in your Shopify store, ClickRuntime is told about it.
It checks the message really came from Shopify.
A message with the customer's name, email and whether they accept marketing emails is posted to your Slack channel.
Before it runs live
- Connect Shopify
- 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 Shopify steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, notify, verify
@on_event
def handle(event):
if not verify.shopify(event.body, event.header("X-Shopify-Hmac-Sha256"), credentials.secret("SHOPIFY_WEBHOOK_SECRET")):
return {"ignored": "bad signature"}
c = event.json
consent = (c.get("email_marketing_consent") or {}).get("state") == "subscribed"
notify.slack(f"New customer: {c.get('first_name', '')} {c.get('last_name', '')} ({c.get('email')}) · "
f"marketing emails: {'yes' if consent else 'no'}", channel="#store")
return {"customer": c["id"], "marketing": consent}FAQ
Common questions
Does it also fire when a guest checks out?
What if the store has hundreds of sign-ups a day?
Is the customer's email shown publicly in Slack?
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
Tag orders when your delivery service updates
When your delivery service reports a status, the matching order gets a tag like delivered.
See how it worksGet pinged about big orders
Every order over your threshold shows up in Slack the moment it's placed.
See how it worksHear about every refund
Each refund reaches you with the order, amount and reason as soon as it's issued.
See how it worksKeep exploring
Set up “Get a message for each new customer” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.