The moment it happens
Post every Lemon Squeezy order to Slack
Each sale lands in your channel with the product, buyer and total as soon as it's paid.
- Runs
- The moment it happens
- Apps
- Lemon Squeezy
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: when a new Lemon Squeezy order comes in, post the product name, customer email and order total to #sales in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
When a sale comes in through Lemon Squeezy, the team usually wants to know. A makers' collective wants to celebrate the first sale of a new product, a support person wants to be ready for questions from a new buyer, and a founder wants confirmation that the checkout link in last night's email actually works. Without a live signal, people keep refreshing the dashboard or learn about sales from a payout summary.
For each order, Lemon Squeezy posts a webhook to ClickRuntime. The automation first verifies the X-Signature header, so that only genuine Lemon Squeezy requests are accepted, then posts the order into your Slack channel with the product, amount and customer. It runs as soon as the order is created.
It suits small teams who like a live sales feed during launches.
What you get out of it
Launch moments are shared live
A feed of sales during a product launch makes the day feel real for everyone involved, and gives you instant proof that the new checkout works as intended. Everyone involved feels the result straight away.
Only real orders are accepted
Checking the signature on each request means a fake call to the webhook URL cannot put a false order into your channel. People can trust what they read there. That keeps the feed clean and the numbers believable.
Support knows who just bought
When a customer writes in about their download two minutes after buying, the support person has already seen the order in Slack and can answer with confidence. A calm, informed answer reflects well on the business.
Pricing experiments show results fast
If you test a discount or a new price, the order feed tells you within hours whether people are buying. You do not have to wait for a daily summary to judge the change.
A searchable trail of purchases
Slack search finds a customer's order by name or product in seconds. That is quicker than navigating the Lemon Squeezy dashboard when someone asks about a purchase. That is handy when a refund or tax question comes up.
How it works
What happens, step by step
When someone buys from your Lemon Squeezy store, Lemon Squeezy tells ClickRuntime straight away.
ClickRuntime checks the message really came from Lemon Squeezy.
A message goes to your #sales Slack channel with the product, the buyer's email and the amount.
Before it runs live
- Connect Lemon Squeezy
- 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 Lemon Squeezy steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_event, credentials, notify
import hashlib, hmac
def signed(event):
digest = hmac.new(credentials.secret("LEMONSQUEEZY_SIGNING_SECRET").encode(), event.body.encode(),
hashlib.sha256).hexdigest()
return hmac.compare_digest(digest, event.header("X-Signature") or "")
@on_event
def handle(event):
if not signed(event):
return {"posted": False, "reason": "bad signature"}
body = event.json
if body["meta"]["event_name"] != "order_created":
return {"posted": False}
order = body["data"]["attributes"]
notify.slack(f"π {order['first_order_item']['product_name']} bought by {order['user_email']}: "
f"{order['total_formatted']}", channel="#sales")
return {"order": body["data"]["id"]}FAQ
Common questions
What is the X-Signature check and why does it matter?
Does it post test mode orders as well?
Will large volumes of orders flood 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
Get a Slack ping for new Lemon Squeezy subscribers
You know right away when someone starts a subscription, and on which plan.
See how it worksGet emailed when a renewal fails or a subscriber cancels
An email for each failed renewal payment or cancellation, so you can follow up before the customer is gone.
See how it worksGet an email for each Lemon Squeezy refund
Every refunded order reaches your inbox with the product, customer and amount returned.
See how it worksKeep exploring
Set up βPost every Lemon Squeezy order to Slackβ from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.