Typeform
| Status | Kind | How you connect |
|---|---|---|
| Coming soon | Lead source | One click: approve bubbl3 on Typeform's own page |
Typeform 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 Typeform sends each new response to the forms you choose to bubbl3 as it's submitted. Each one:
- becomes (or updates) a contact, matched on phone and email, with the form it came from, its answers and any UTM or click ids from hidden fields;
- goes through the connection's lead source, which sets its labels, owner, consent and workflow.
Setup
- In Typeform, give your questions references people can read:
first_name,last_name,email,phone, and one for your consent question. - In bubbl3, open Settings, Integrations, choose Typeform, then Connect, and approve bubbl3 on Typeform's page.
- On the connection, choose the forms whose responses go in (every form's until you choose).
- On the lead source, set How did these leads agree to hear from you? to "A field in the payload records it" with your consent question's reference. A response that ticked it is recorded as opted in; one that didn't is recorded as unknown, and can still be texted because you confirmed when connecting that everyone you send has agreed to receive texts.
- Choose the source's workflow if you want each response texted.
Disconnect
Disconnect from the connection page in Settings, Integrations, then remove bubbl3 under your Typeform account's connected apps (Typeform has no way for bubbl3 to remove itself).
- Stops at once: new responses. The lead source is paused.
- Deleted at once: bubbl3's tokens.
- Kept: contacts made from responses, with their messages, labels and consent evidence. The paused lead source stays. bubbl3's webhook stays on each form until you remove bubbl3 in Typeform.
- Deleted later: stored deliveries are deleted 30 days after they arrived.
Data shared
From Typeform to bubbl3: your account, your forms' ids and titles, and each response delivered to bubbl3's webhook: its answers and hidden fields.
From bubbl3 to Typeform: only bubbl3's webhook on each form. bubbl3 never changes a form or its responses.
Scopes and permissions
| Scope | Why bubbl3 needs it |
|---|---|
offline | Stay connected without signing in again |
accounts:read | Name the connection after your account |
forms:read | List your forms so you can choose them |
responses:read | Read responses delivered to bubbl3 |
webhooks:read | Find bubbl3's webhooks on your forms |
webhooks:write | Add bubbl3's webhook to each form |
Events
What bubbl3 receives
| Event in Typeform | In bubbl3 |
|---|---|
form_response | New lead. Matched, labelled and, if you chose one, enrolled in the source's workflow. |
What bubbl3 writes back
Nothing. Typeform only sends responses to bubbl3.
Sending rules that still apply
Typeform 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 Typeform can turn them off.
- Consent. When you connect Typeform 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 Typeform is told when bubbl3 doesn't send
Typeform 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
- bubbl3 adds its webhook to up to 200 forms when you connect. A form you make later needs a reconnect to get one.
- A hidden field can never stand in for a question: hidden fields other than UTM and click ids come in as
hidden_<name>. - Responses submitted more than seven days before they reach bubbl3 are dropped.
Troubleshooting
- Responses arrive but nobody is texted. Check the lead source has a workflow, and that the person hasn't opted out. If your workspace only texts opted-in contacts, check the consent field names your consent question's reference and the person ticked it.
- A new form's responses don't arrive. Reconnect Typeform so bubbl3 adds its webhook to it.