After connecting Stripe at /dashboard/connectors, the BandBrain agent gets three Stripe-specific tools that work over SMS or web chat.
Reading transactions
Ask the agent natural questions:
- "How much did we make at merch last weekend?"
- "Did the deposit from the Wiltern hit yet?"
- "Show me last week's sales"
- "What payments came in today?"
The agent calls stripe_list_charges, filters by recency + status, and totals it up. Replies with the count + total dollars + a brief breakdown.
Checking payouts
- "When's the next payout to the bank?"
- "What payouts did Stripe send last month?"
- "Did we get paid this week?"
Calls stripe_list_payouts. Each payout shows arrival_date — when the money is expected to land in the band's bank account.
Sending an invoice
This one's a write — admin / Full Access only.
You text:
"Send an invoice to Sarah at Live Nation for $500 — performance guarantee for the Wiltern"
The agent:
- Calls
search_contacts({organization_query: "Live Nation"})to find Sarah's email - Calls
stripe_create_invoicewith the email, $500, and "Performance guarantee — Wiltern" as description. First call is a DRY RUN — no invoice created yet. - Texts you back the preview: "I'll invoice sarah@livenation.com $500 for 'Performance guarantee — Wiltern', due in 7 days. Ok to send?"
- You reply "yes"
- Agent calls again with
confirm:true— Stripe creates the customer (or reuses if email matches), creates the invoice, finalizes it, and emails the hosted URL to Sarah - Agent texts you the result: "Invoice $500.00 sent to sarah@livenation.com. Hosted URL: https://invoice.stripe.com/..."
Sarah pays the invoice → money lands in your band's Stripe → next payout cycle hits the band's bank.
Two-phase confirm
Invoice creation is non-recallable (Stripe emails the customer immediately on finalize). So like SMS broadcasts, every invoice send goes through a two-phase confirm. The agent literally can't fire it in a single call — needs your explicit yes between dry-run and actual create.
Permissions
| Tool | Permission |
|---|---|
| stripe_list_charges | Anyone on the roster (read) |
| stripe_list_payouts | Anyone on the roster (read) |
| stripe_create_invoice | Admin / Full Access only |
Non-admins asking the agent to "invoice X" get a clean refusal.
What if Stripe isn't connected?
The tool returns a polite "Stripe is not connected yet. Connect at /dashboard/connectors." The agent relays that to you and doesn't keep trying.
See also
- Connecting Stripe
- Working with contacts via SMS — for the contact-resolution part of invoice flows