Daily
Email yourself yesterday's Paddle revenue
Every morning you get yesterday's completed transactions with totals and counts split by currency.
- Runs
- Daily
- Apps
- Paddle
- AI
- Not needed
- Access
- read (transactions)
Send this to your assistant
Create a ClickRuntime automation: every day at 7am, email me yesterday's completed Paddle transactions: the number of transactions and the total for each currency.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A founder selling software through Paddle wants to know how yesterday went, but Paddle's dashboard needs a login, a date filter and mental arithmetic across currencies. Customers pay in dollars, euros and pounds, so a single total is misleading, and nobody opens the dashboard on a weekend. A payment failure, a pricing page bug or a sudden surge from a campaign goes unnoticed for days, and the first number you see is the monthly total.
Each morning, completed transactions from the previous day are listed from Paddle, filtered by billing time, and summed by currency. The email shows the totals for each currency, the number of transactions and a short list of the largest ones, so you start the day knowing how revenue did.
It suits indie developers, SaaS founders and finance people who want a daily pulse without opening another dashboard.
What you get out of it
Problems appear within a day
A day with zero or very low sales stands out in the morning email. A broken checkout or a pricing page error can then be fixed before it costs a week of revenue.
Campaign results are visible immediately
When you send a newsletter or run an ad, the next morning's total shows the effect. You can decide whether to continue, adjust or stop based on actual sales. That immediate feedback helps you to double down on what works and drop what does not.
Currencies are not mixed up
Totals are listed per currency, so euros and dollars are never added together by mistake. That keeps the summary honest and matches what lands in your bank accounts. Per-currency totals are also what your accountant will want to see.
A daily rhythm for the business
Reading yesterday's revenue becomes a short habit that gives you a feel for normal days. Deviations are noticed because you know what ordinary looks like. That sense of normal is hard to build from irregular visits to a dashboard, and easy to build from a daily number.
Weekends are covered too
Sales continue on Saturday and Sunday even if nobody logs in. A morning email means the weekend is not a blind spot in your picture of the business. Saturday and Sunday orders are counted in the Monday email like any other day.
How it works
What happens, step by step
Every morning, ClickRuntime collects the Paddle transactions completed yesterday.
It counts them and adds up the revenue in each currency.
You get a short email with yesterday's transaction count and the total per currency.
Before it runs live
- Connect Paddle
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 Paddle steps into one automation
Under the hood
The code that runs this automation
from collections import defaultdict
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, http, notify
@on_trigger
def run(event):
day = date.today() - timedelta(days=1)
headers = {"Authorization": f"Bearer {credentials.secret('PADDLE_API_KEY')}"}
url = "https://api.paddle.com/transactions"
params = {"status": "completed", "billed_at[GTE]": f"{day}T00:00:00Z",
"billed_at[LT]": f"{date.today()}T00:00:00Z", "per_page": 200}
count, totals = 0, defaultdict(int)
while url:
body = http.get(url, headers=headers, params=params).json()
for t in body["data"]:
count += 1
totals[t["currency_code"]] += int(t["details"]["totals"]["grand_total"])
url, params = (body["meta"]["pagination"]["next"] if body["meta"]["pagination"]["has_more"] else None), None
lines = [f"{cur}: {amount / 100:,.2f}" for cur, amount in sorted(totals.items())]
notify.email_me(f"Paddle {day}: {count} transactions", "\n".join(lines) or "No completed transactions.")
return {"transactions": count}FAQ
Common questions
Which transactions are counted as revenue?
Is the total before or after Paddle's fees and tax?
What time zone defines yesterday?
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
Announce new Paddle subscribers in Slack
Each new subscriber shows up in your channel with their plan and price the moment they sign up.
See how it worksHear about Paddle cancellations before they take effect
You learn when a customer schedules a cancellation, not just when access ends, so there's time to reach out.
See how it worksGet an email before your Paddle API key expires
A week's warning before your key stops working, so you can replace it without any automation going quiet.
See how it worksKeep exploring
Set up “Email yourself yesterday's Paddle revenue” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.