Payment Processing
Keep finance, customers, and account owners in sync.
When a payment lands, three things need to happen: finance needs a queryable record, the customer needs a clean receipt, and the account owner needs to know money moved. Today that's a finance ops person checking Stripe a few times a day and copy-pasting into a sheet. This workflow handles it: every successful charge triggers a CRM lookup, an AI-drafted receipt, a one-click finance approval, Gmail send, ledger row, and a Slack ping to the owner.
Incoming payments trigger the workflow
The moment Stripe marks a charge as succeeded, Relay.app picks it up — no polling, no cron, no one watching the dashboard. The full payload comes with it: amount, currency, line items, customer email, invoice ID. Enough context for everything downstream.
Match the charge to a customer, then let Claude write the receipt
Stripe knows the email; HubSpot knows everything else. Relay.app pulls the matching contact — company, deal owner, plan tier — and hands the combined record to Claude. The model writes a receipt that reads like a human wrote it: first name, plain-English description, the deal owner's name in the signature.
Finance ops gets one click to approve, then Gmail sends
Money-related email is the last place you want a hallucinated number or a wrong customer name. The draft lands in Slack for whoever's on finance ops that day — they see the full email, the matched customer, and the amount, and they hit approve. Total cost: about ten seconds per charge.
Land the transaction in the ledger and ping the account owner
Once the receipt is out, Relay.app appends a row to the "Revenue Ledger" Google Sheet — date, customer, amount, invoice number, deal owner. Finance gets a queryable source of truth that doesn't depend on Stripe exports. Then it posts to #revenue and @-mentions the deal owner from HubSpot.
Make it yours in Relay.app
Start from this template and adapt it to your stack and your team. Relay.app's copilot picks up from here — swap any app, change the AI model, tweak the trigger, whatever fits your use case.