Each successful payment
Log Stripe payments to Google Sheets
Every successful Stripe payment is added as a new row in a Google Sheet within seconds.
- Runs
- Each successful payment
- Apps
- Stripe, Google Sheets
- AI
- Not needed
- Access
- Stripe payment events sent to the trigger link; Sheets edit (only the sheets you pick when connecting)
Send this to your assistant
Create a ClickRuntime automation: whenever a Stripe payment succeeds, add a row to my Payments sheet with the date, customer email, amount and product.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Plenty of teams track payments in a spreadsheet: for bookkeeping, commission, forecasting or simply because everyone knows how to use one. Keeping it current usually means exporting a CSV from Stripe every week and pasting it in, which is slow and easy to get wrong.
This template adds a row to your Google Sheet the moment a payment succeeds. The sheet is always up to date, and your team can build charts, pivot tables and formulas on top of it without touching Stripe.
What you get out of it
Always-current numbers
The sheet updates within seconds of each payment, so reports, forecasts and commission sheets are never a week behind.
No more exports
Nobody downloads CSVs or pastes rows by hand, which removes a weekly chore and the mistakes that come with it.
No duplicates
If Stripe sends the same payment twice, it is still added only once, so totals stay correct.
Share without sharing Stripe
Accountants, sales managers and partners can see payments in a sheet without getting access to your Stripe account.
Build on it
Once the data is in a sheet, you can add formulas, charts or another automation that reads from it.
How it works
What happens, step by step
Stripe sends payment_intent.succeeded to the trigger link.
ClickRuntime verifies Stripe's signature and ignores repeated deliveries.
The script appends a row with the date, customer, amount and description.
Before it runs live
- Connect your Google Sheets account and pick the spreadsheet to use
- Add a Stripe webhook for payment_intent.succeeded
- Save Stripe's signing secret as a secret
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 Stripe and Google Sheets steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timezone
from google.oauth2.credentials import Credentials
from googleapiclient.discovery import build
from clickruntime import on_event, credentials
SHEET = "1AbC...your-sheet-id"
@on_event
def handle(event):
p = event.json["data"]["object"]
row = [datetime.fromtimestamp(p["created"], timezone.utc).date().isoformat(),
p.get("receipt_email") or "", p["amount_received"] / 100, p.get("description") or ""]
sheets = build("sheets", "v4", credentials=Credentials(credentials.connection("google", "work")), cache_discovery=False)
sheets.spreadsheets().values().append(spreadsheetId=SHEET, range="Payments!A:D",
valueInputOption="USER_ENTERED", body={"values": [row]}).execute()FAQ
Common questions
What if Stripe sends the same event twice?
Does each payment count as a run?
Can I choose which columns are added?
What about past payments?
Can it log refunds too?
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
Log Stripe sales in a sheet and send buyers their product
Every payment becomes a row in your sales sheet, and the buyer gets the download link you keep in that sheet.
See how it worksLog every Stripe cancellation and its reason in a sheet
Each cancelled subscription is added to your churn sheet with the customer, plan, revenue lost and the reason they gave.
See how it worksLog failed Stripe payments to Google Sheets
Every failed Stripe payment is added to a Failed payments tab with the customer's email, amount, decline reason and a link to the payment.
See how it worksKeep exploring
Set up “Log Stripe payments to Google Sheets” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.