Collects as they arrive, acts daily
Get today's PayPal sales at 7pm
One evening email gives the number of payments and the totals for the day, by currency.
- Runs
- Collects as they arrive, acts daily
- Apps
- PayPal
- AI
- Not needed
- Access
- REST app
Send this to your assistant
Create a ClickRuntime automation: keep track of my PayPal payments during the day and at 7pm email me how many there were and the total in each currency.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A shop owner who takes PayPal payments all day has two bad options for knowing how the day went. Watching a notification for every sale is distracting, and logging into PayPal at night means scrolling a transaction list and adding up amounts across USD, EUR and GBP by hand. Most days the number is never worked out, so a slow Tuesday goes unnoticed until the month-end statement.
Each payment is stored as it arrives, so nothing depends on a day-end query. At 19:00 the stored payments are totaled by currency and sent in one email with the count and the sum for each currency. The store is then cleared, so tomorrow's digest begins from zero and never double counts an old sale.
It suits small online sellers, course creators and consultants who want a single end-of-day figure instead of a stream of pings.
What you get out of it
One number replaces constant checking
Instead of glancing at PayPal throughout the day, you read a single email at seven. That frees attention during work hours while still telling you exactly how much money came in before you close up.
Currencies are never mixed up
Totals are kept separate for each currency, so euros are not quietly added to dollars. The figures in the email match what will appear in each PayPal balance, which makes reconciliation far less error-prone.
A daily record for the books
A dated email each evening builds a simple archive of daily takings. When your accountant asks what you earned in a given week, you can add up emails rather than rebuild it from exports.
Spot a slow day while it still matters
Seeing a sharp drop in sales count the same evening lets you check a broken checkout link or a paused ad campaign right away, rather than discovering a week of lost orders at month end.
No double counting from clearing the store
Because the stored payments are emptied after the digest is sent, each sale appears in exactly one email. That keeps running totals trustworthy when you compare days or weeks. A tidy day-by-day trail also makes weekly comparisons honest.
How it works
What happens, step by step
Throughout the day, ClickRuntime notes down each completed PayPal payment as it arrives.
At 7 pm it counts the payments and adds them up by currency.
You get one email with today's payment count and the total in each currency.
The saved payments are then cleared, ready for tomorrow.
Before it runs live
- Connect PayPal
- 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 PayPal steps into one automation
Under the hood
The code that runs this automation
from collections import defaultdict
from clickruntime import on_event, on_trigger, state, notify
@on_event
def remember(event):
body = event.json
if body.get("event_type") != "PAYMENT.CAPTURE.COMPLETED":
return {"stored": False}
payments = state.get("payments") or {}
amount = body["resource"]["amount"]
payments[body["resource"]["id"]] = [amount["currency_code"], amount["value"]] # keyed, so retries don't double count
state.set("payments", payments)
return {"stored": True}
@on_trigger
def digest(event):
payments = state.get("payments") or {}
totals = defaultdict(float)
for currency, value in payments.values():
totals[currency] += float(value)
lines = [f"{currency}: {total:,.2f}" for currency, total in sorted(totals.items())]
notify.email_me(f"PayPal today: {len(payments)} payments", "\n".join(lines) or "No payments today.")
state.set("payments", {})
return {"payments": len(payments), "totals": dict(totals)}FAQ
Common questions
Does the digest include refunds?
What happens on a day with no sales?
Can I change the digest time from 19:00?
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 PayPal payment to Slack
Every completed payment shows up in Slack with who paid and how much.
See how it worksHear about denied PayPal payments
When a payment is denied, you know straight away and can contact the buyer.
See how it worksGet dispute details before the deadline
A new dispute lands in your inbox with its reason, amount and the date you must reply by.
See how it worksKeep exploring
Set up “Get today's PayPal sales at 7pm” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.