Stripe (your account)
| Status | Kind | How you connect |
|---|---|---|
| Coming soon | Commerce and payments | One click: approve bubbl3 on Stripe (your account)'s own page |
Stripe (your account) isn't offered yet. This page says what it will do and what you can use meanwhile: a Lead URL, or Zapier, Make or n8n.
What it does
Connecting your own Stripe account sends three kinds of event to bubbl3 as they happen:
- an invoice's payment failing (for dunning texts);
- an invoice paid;
- a checkout completed.
Each one becomes (or updates) a contact, matched on phone and email, and goes through the connection's lead source, which sets its labels, owner, consent and workflow. One workflow takes all three: branch on the contact's stripe_event field (payment_failed, invoice_paid or checkout_completed).
Read-only. bubbl3 only reads your Stripe account. It never creates charges, refunds, customers or anything else.
Separate from bubbl3's billing. This is your Stripe account, connected as a trigger. It isn't how you pay for bubbl3, and it never touches bubbl3's own billing.
Setup
- In bubbl3, open Settings, Integrations, choose Stripe (your account), then Connect.
- On Stripe's page, approve bubbl3 with read-only access. A wider grant is refused and nothing is stored.
- Set the lead source's consent and workflow. "Not sure" records customers' consent as unknown; they can still be texted, because you confirmed when connecting that everyone you send has agreed to receive texts.
Disconnect
Disconnect from the connection page in Settings, Integrations, then remove bubbl3 under Settings, Connected apps in your Stripe dashboard: bubbl3 makes no write calls, so it can't remove itself.
- Stops at once: new events reach no workflow, and the lead source is paused.
- Deleted at once: bubbl3's read-only access token.
- Kept: contacts made from Stripe events, with their messages, labels and consent. The paused lead source stays.
- Deleted later: stored deliveries are deleted 30 days after they arrived.
Data shared
From Stripe to bubbl3: the customer's name, phone, email and the amount (like 49.00 USD), and which event it was. Card details, addresses, line items and invoice links are never kept.
From bubbl3 to Stripe: nothing.
Scopes and permissions
| Scope | Why bubbl3 needs it |
|---|---|
read_only | Receive events and read your account's name. bubbl3 refuses any wider access |
Events
What bubbl3 receives
| Event in Stripe | In bubbl3 |
|---|---|
invoice.payment_failed | New lead. With stripe_event set to payment_failed. Stripe's retries of one invoice are one lead. |
invoice.paid | New lead. With stripe_event set to invoice_paid. |
checkout.session.completed | New lead. With stripe_event set to checkout_completed. |
What bubbl3 writes back
Nothing. bubbl3 never writes to your Stripe account.
Sending rules that still apply
Stripe (your account) never texts anyone itself. What it sends bubbl3 can start the lead source's workflow, and every workflow text goes through the same checks as a text you send from bubbl3. Nothing in Stripe (your account) can turn them off.
- Consent. When you connect Stripe (your account) or create a lead source, you confirm that everyone you send to bubbl3 has agreed to receive texts from you, so its contacts can be texted straight away. bubbl3 never texts a contact who opted out, and a workspace set to text only opted-in contacts texts only them.
- Opt-out. Replying STOP opts a contact out at once.
- Quiet hours. No texts from 8:00 PM to 9:00 AM in the contact's own time zone (from the phone's area code). A text due then waits until the morning.
- Pacing. Each line texts at most 15 new contacts an hour and 50 a day (fewer while a new line warms up), and spaces texts 20 to 90 seconds apart. A big import or batch is queued and sent as the limits allow, never dropped.
- First messages. Until a contact replies, a text can't include links, photos or files, phone numbers or email addresses, must be 300 characters or fewer, and at most 3 texts go out.
What Stripe (your account) is told when bubbl3 doesn't send
Stripe has nothing to write a refusal to. You see it in bubbl3: on the message, or on the workflow run's step.
| Reason | Code | What you see |
|---|---|---|
| A link before the contact replies | pre_reply_link_blocked | Not sent: "Links can't be sent until the contact replies" |
| A photo or file before the contact replies | pre_reply_media_blocked | Not sent: "Photos and files can't be sent until the contact replies" |
| A phone number before the contact replies | pre_reply_phone_blocked | Not sent: "Phone numbers can't be sent until the contact replies" |
| An email address before the contact replies | pre_reply_email_blocked | Not sent: "Email addresses can't be sent until the contact replies" |
| A first message that is too long | pre_reply_too_long | Not sent: "First messages must be 300 characters or fewer" |
| Too many texts without a reply | pre_reply_message_limit | Not sent: "Already sent 3 texts without a reply. Wait for the contact to reply" |
| The same text to too many people today | identical_text_limit | Not sent: "This exact text went to 20 people from this line today" |
| The line is paused after unanswered texts | unanswered_streak_limit | Not sent: "This line is paused after too many unanswered texts" |
| The contact opted out | contact_opted_out | Not sent: "The contact opted out of texts" |
| The workspace texts only opted-in contacts | consent_required | Not sent: "This workspace only texts contacts who opted in" |
| No line can reach the contact | line_unavailable | Not sent: "bubbl3's line for this contact isn't available" |
| Quiet hours | quiet_hours | Held: "Scheduled for 9:00 AM America/Chicago, quiet hours" |
| The line's daily limit | daily_new_contact_cap | Held: "Scheduled for Oct 15, 9:00 AM America/Chicago: today's limit for this line is reached" |
| The line's hourly limit of new contacts | hourly_new_contact_cap | Held: "Scheduled for 2:00 PM America/Chicago: this hour's limit of new contacts for this line is reached" |
The numbers are the default limits; a line's own limits change them. bubbl3's other checks (no phone number, a number that doesn't match) have their own plain reasons.
Limits and known gaps
- Stripe sends a customer's phone only when the customer has one (invoices) or the checkout collected one.
- A billing run that fails many payments at once is paced by the line's limits like any batch: texts are queued, never dropped.
Troubleshooting
- Events arrive but nobody is texted. The customer has no phone in Stripe, opted out, or no workflow is chosen.
- Stripe says the access is too wide. Approve read-only access; bubbl3 refuses anything more.