Collects as they arrive, acts daily
Get one evening email with the day's Gumroad sales
Instead of an email per sale, you get a single roundup each evening with totals for each product.
- Runs
- Collects as they arrive, acts daily
- Apps
- Gumroad
- AI
- Not needed
- Access
- access token
Send this to your assistant
Create a ClickRuntime automation: keep track of my Gumroad sales during the day and at 9pm email me how many of each product sold and the total earned.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Creators selling on Gumroad often get a notification for every sale, which is nice on day one and noise by day thirty. A newsletter writer with a course, a template pack and a membership can receive dozens of emails a day, and the picture of how the day actually went, which product moved, how much came in, is nowhere in the pile. Meanwhile the real figures sit behind a login.
As each sale arrives, a small record is stored, with no message sent. Once a day the stored sales are totaled per product and you receive one email with the day's count and revenue for each product, so a busy launch day is a single readable summary.
It is a good fit for creators who run launches, promotions or several products and want clarity more than instant pings.
What you get out of it
One clear picture of the day
Instead of forty separate notifications, you read a per-product total and see which offering is carrying the day. You can see at a glance whether the course, the template pack or the membership carried the day, with revenue shown for each, not only a raw count.
Launch performance is easy to judge
During a promotion you can compare days and see whether a newsletter push or a social post moved the numbers, because the digest gives you a consistent format. The format stays the same each day, so comparing yesterday to the day before is easy and the effect of any post is clear.
A quieter inbox
Sale pings stop interrupting your work. You still hear about everything, just once a day in a format you can act on. Fewer interruptions mean more focused hours on creating, and the numbers still reach you.
Simple record for bookkeeping
Daily totals per product make it easier to reconcile payouts and track revenue by product at month-end. Daily totals per product make it easier to reconcile payouts, check revenue by product and prepare month-end records with less digging.
Spot slow products quickly
A product with zero sales for a week shows up as a gap in the digest, a prompt to rethink the price, description or promotion. That prompt can be the nudge to review the page, refresh the cover image or run a small promotion.
Totals that match how you work
Because each sale is stored as it arrives, the digest does not depend on any dashboard export. It is generated from your own record, and can be reconciled against Gumroad payouts when you want to double-check.
How it works
What happens, step by step
Throughout the day, ClickRuntime notes down each Gumroad sale as it happens.
In the evening it totals the sales and the money made, overall and per product.
You get one email with the day's totals and a line for each product.
Before it runs live
- Connect Gumroad
- 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 Gumroad steps into one automation
Under the hood
The code that runs this automation
from collections import defaultdict
from urllib.parse import parse_qs
from clickruntime import on_event, on_trigger, state, notify
@on_event
def remember(event):
sale = {k: v[0] for k, v in parse_qs(event.body).items()}
sales = state.get("sales") or {}
sales[sale["sale_id"]] = [sale["product_name"], int(sale.get("price", 0))] # keyed, so retries don't double count
state.set("sales", sales)
return {"stored": sale["sale_id"]}
@on_trigger
def digest(event):
sales = state.get("sales") or {}
by_product = defaultdict(lambda: [0, 0])
for name, cents in sales.values():
by_product[name][0] += 1
by_product[name][1] += cents
lines = [f"- {name}: {n} sold, ${cents / 100:,.2f}" for name, (n, cents) in sorted(by_product.items())]
total = sum(c for _, c in sales.values()) / 100
notify.email_me(f"Gumroad today: {len(sales)} sales, ${total:,.2f}", "\n".join(lines) or "No sales today.")
state.set("sales", {})
return {"sales": len(sales), "total": total}FAQ
Common questions
Does it count refunds against the day's total?
What time zone is the day measured in?
What if there were no sales?
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
Post each Gumroad sale to Slack
Every sale appears in your channel with the product and price the moment it's made.
See how it worksGet emailed about Gumroad refunds and membership cancellations
You hear straight away when a buyer is refunded or a member cancels.
See how it worksGet an instant email when a Gumroad payment is disputed
As soon as a buyer opens a chargeback you have the product, buyer and amount in your inbox.
See how it worksKeep exploring
Set up “Get one evening email with the day's Gumroad sales” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.