Every 5 minutes
Post every Etsy sale to Slack for packing
Each new Etsy receipt appears in a Slack channel with the buyer and items, so whoever packs knows what to send.
- Runs
- Every 5 minutes
- Apps
- Etsy
- AI
- Not needed
- Access
- transactions_r
Send this to your assistant
Create a ClickRuntime automation: every 5 minutes, check my Etsy shop for new orders and post each one to #packing in Slack with the buyer name, items and quantities.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Etsy sellers who work with a partner, a small team or a packing helper need to know when something sells, and the Etsy app notifies only the account owner. The person who packs the boxes may not see that an order came in until the owner remembers to tell them, and a buyer who expects fast dispatch waits longer than necessary. For personalized items, where a customization note must be read before production starts, a missed order can mean making the wrong thing.
Every five minutes the automation fetches receipts created since its last check, skips any it has already posted and sends a message to Slack with the order details. The team sees each new sale in the channel they already use, and packing starts without anyone relaying the news.
Shops with more than one person involved, and sellers who want a visible sales feed for motivation, will benefit most.
What you get out of it
Packing starts without a relay
The packer sees the order in Slack the moment it arrives. There is no waiting for the owner to forward details, which shortens the time between purchase and dispatch, and keeps the shop owner free to handle other things.
Customization notes are not missed
For personalized items, the buyer's note needs to be read before anything is made. Posting the order in a shared channel puts that note in front of the person who will act on it, so nothing is made from the wrong instructions.
A shared sales feed lifts morale
Watching orders appear during the day gives a small team a sense of progress. It is especially motivating around launches, promotions and the busy holiday season, when a run of orders in a row is exactly what a small team wants to see.
Faster dispatch improves reviews
Buyers who receive their order quickly are likelier to leave a good review. Shortening the gap between sale and shipment is one of the simplest ways to improve your shop's reputation.
Each order posted once
Remembering which receipts were already posted means each sale appears a single time. Nobody has to wonder whether two messages refer to one order or two, and the channel stays a clean list of distinct sales.
How it works
What happens, step by step
Every 5 minutes, ClickRuntime checks your Etsy shop for new orders.
It skips any order it has already posted.
Each new order goes to your #packing Slack channel with the order number, buyer and items, so it can be packed right away.
Before it runs live
- Connect Etsy
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 Etsy steps into one automation
Under the hood
The code that runs this automation
import time
from clickruntime import on_trigger, credentials, http, state, notify, report_fetched
SHOP_ID = "12345678"
@on_trigger
def run(event):
since = state.get("since") or int(time.time()) - 300
resp = http.get(f"https://openapi.etsy.com/v3/application/shops/{SHOP_ID}/receipts",
params={"min_created": since, "sort_on": "created", "sort_order": "asc", "limit": 100},
headers={"x-api-key": credentials.secret("ETSY_API_KEY"),
"Authorization": f"Bearer {credentials.connection('etsy', 'shop')}"})
resp.raise_for_status()
seen = set(state.get("seen") or [])
receipts = [r for r in resp.json()["results"] if r["receipt_id"] not in seen]
report_fetched(len(receipts))
if not receipts:
return {"new": 0}
for r in receipts:
items = "\n".join(f"• {t['quantity']}× {t['title']}" for t in r["transactions"])
notify.slack(f"📦 New Etsy order #{r['receipt_id']} for {r['name']}\n{items}", channel="#packing")
state.set("seen", (list(seen) + [r["receipt_id"] for r in receipts])[-500:])
state.set("since", receipts[-1]["create_timestamp"])
return {"new": len(receipts)}FAQ
Common questions
What details are included in the Slack message?
Is the shipping address shown in the channel?
How soon after a sale does the post appear?
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
Hear about low Etsy reviews within the hour
Any new review under 4 stars is posted to Slack with the rating and text so you can respond quickly.
See how it worksGet an email before an Etsy listing sells out
A daily email names the active listings with fewer than 3 left, before Etsy deactivates them.
See how it worksList paid Etsy orders that still need shipping
Each morning you get the paid, unshipped orders sorted oldest first with how many days each has waited.
See how it worksKeep exploring
Set up “Post every Etsy sale to Slack for packing” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.