Weekly
Get last week's Etsy orders and revenue every Monday
A Monday email gives the order count and total for the past week next to the week before.
- Runs
- Weekly
- Apps
- Etsy
- AI
- Not needed
- Access
- transactions_r
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, email me how many Etsy orders I had last week and the total revenue, compared with the previous week.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Etsy's stats pages show visits and orders, but putting last week next to the week before takes several clicks and a calculator. Sellers with a home studio or a side business tend to look only after a slow stretch, so a falling trend gets noticed a month late. A seasonal dip, a broken listing or a promotion that worked all stay invisible.
On Monday, ClickRuntime reads your Etsy receipts for the past seven days, counts the orders, adds up the grand totals, compares them with the figures it stored the previous week, and emails you a short summary with the change in orders and revenue.
If you sell in more than one currency or run several shops, you can ask for the totals to be split so each is reported on its own.
What you get out of it
Notice slowdowns within seven days
A weekly comparison makes a drop obvious while it is still small. If revenue falls by a fifth, you check listings, renewals and ad spend that week instead of at month end. Small problems are cheaper to fix than big ones.
Judge promotions with real numbers
After a sale or a social post, you can see whether orders rose against the prior week. That tells you whether the discount paid for itself, rather than leaving you to guess from a feeling.
Plan stock and supplies sooner
Order counts that trend up for three weeks signal that you will run short of materials. Seeing it Monday gives time to reorder paper, fabric or blanks before a backlog.
Replace manual spreadsheets
The summary arrives without exporting a CSV or copying totals. The saved previous-week figure means the comparison is already worked out, saving the Sunday-night bookkeeping many sellers dread. Nothing needs to be exported or pasted.
Keep a simple history for taxes
Each Monday email forms a dated record of weekly revenue. When you prepare quarterly estimates or talk to an accountant, you can add the figures up instead of rebuilding them from the shop manager.
How it works
What happens, step by step
Every Monday, ClickRuntime collects your Etsy orders from the last 7 days.
It counts them and adds up the revenue.
It compares the result with the week before, which it saved last time.
You get an email with this week's orders and revenue next to the previous week's.
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
- Run it at a different time, more or less often, or only on weekdays
- 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
SHOP_ID = "12345678"
@on_trigger
def run(event):
headers = {"x-api-key": credentials.secret("ETSY_API_KEY"),
"Authorization": f"Bearer {credentials.connection('etsy', 'shop')}"}
end = int(time.time()) // 86400 * 86400
receipts, offset = [], 0
while True:
body = http.get(f"https://openapi.etsy.com/v3/application/shops/{SHOP_ID}/receipts", headers=headers,
params={"min_created": end - 7 * 86400, "max_created": end, "limit": 100,
"offset": offset}).json()
receipts += body["results"]
offset += 100
if offset >= body["count"]:
break
revenue = sum(r["grandtotal"]["amount"] / r["grandtotal"]["divisor"] for r in receipts)
prev = state.get("last_week")
vs = f" (previous week: {prev['orders']} orders, ${prev['revenue']:,.2f})" if prev else ""
notify.email_me(f"Etsy last week: {len(receipts)} orders, ${revenue:,.2f}",
f"Orders: {len(receipts)}\nRevenue: ${revenue:,.2f}{vs}")
state.set("last_week", {"orders": len(receipts), "revenue": revenue})
return {"orders": len(receipts), "revenue": revenue}FAQ
Common questions
Does the revenue figure include shipping and tax?
What happens in the first week with no previous number?
Can the digest include my best-selling listing?
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 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 worksPost 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.
See how it worksKeep exploring
Set up “Get last week's Etsy orders and revenue every Monday” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.