Close
| Status | Kind | How you connect |
|---|---|---|
| Coming soon | CRM | One click: approve bubbl3 on Close's own page |
Close 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 Close lets bubbl3:
- import contacts (everything, or a Smart View) and get new and changed contacts as they happen;
- log every text bubbl3 sends as an SMS activity with status sent, and every reply as one with status inbox, both marked as handled outside Close, so Close never sends anything itself;
- keep opt-outs in step through bubbl3's contact field, Opted out of texts (bubbl3), and Close's own blocked-for-texting numbers;
- update contact fields when a workflow or conversion event asks.
Setup
- In bubbl3, open Settings, Integrations, choose Close, then Connect, and approve bubbl3 on Close's page.
- Choose what to import (everything, or a Smart View by its id), check the count and the field mapping. The phone typed mobile is the number texts go to.
- Answer How did these leads agree to hear from you?
bubbl3 adds its opt-out field and a webhook subscription when you connect. If the subscription can't be made, the connection shows that updates aren't set up yet and bubbl3 keeps trying.
Disconnect
Disconnect from the connection page in Settings, Integrations.
- Stops at once: imports, new and changed contacts, activity logs and writebacks. bubbl3 deletes its webhook subscription in Close.
- Deleted at once: bubbl3's access tokens (Close is asked to revoke them) and the links between bubbl3 contacts and Close contacts. Opt-outs still waiting to reach Close are dropped.
- Kept: contacts imported from Close, with their messages, labels and consent, unless you tick Also delete the contacts imported from it. Activities, notes and fields bubbl3 wrote stay in Close.
- Deleted later: the updates Close sent are deleted 30 days after they arrived.
Data shared
From Close to bubbl3: contacts' names, titles, phones (and whether Close blocks texting a number), emails, time zone, lead, custom fields and the opt-out field; your organization's name.
From bubbl3 to Close: SMS activities for texts sent and received; notes for held or refused texts; the opt-out field on STOP; field values when you ask.
Scopes and permissions
| Scope | Why bubbl3 needs it |
|---|---|
all.full_access | Read contacts and Smart Views, log activities and notes, set the opt-out field, and manage bubbl3's webhook. Close has no narrower scope for an app that reads and writes. |
offline_access | Stay connected past Close's one-hour access tokens |
Events
What bubbl3 receives
| Event in Close | In bubbl3 |
|---|---|
contact.created | New contact. bubbl3 reads the contact, imports it and starts "Lead imported from CRM" workflows. |
contact.updated | Contact updated. bubbl3 reads the contact again; starts "CRM contact updated" workflows. The opt-out field set, or a number Close blocks for texting, opts them out. |
What bubbl3 writes back
| What | Where it shows in Close |
|---|---|
| Text log | An SMS activity on the lead, status sent or inbox, marked as handled outside Close |
| Opt-outs | Opted out of texts (bubbl3) set to Opted out |
| Field updates | The contact field you chose |
| Notes | A note on the lead from a conversion event |
Sending rules that still apply
Close never texts anyone through bubbl3 itself. Its new and changed contacts can start your workflows, and every workflow text goes through the same checks as a text you send from bubbl3. Nothing in Close can turn them off.
- Consent. When you connect Close 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. bubbl3 also records it in Close.
- Quiet hours. No texts from 8:00 PM to 9:00 AM in the contact's own time zone (Close's time zone for the contact when it has one, else 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 Close is told when bubbl3 doesn't send
A note on the contact's lead says the text wasn't sent, with the reason (never an SMS activity, which would read as sent). A held text gets a note saying when it's scheduled.
| 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 makes at most 16 requests a second per connection and waits when Close says to.
- Close's list endpoints take no filters, so the only import filter is a Smart View. Smart View imports bring standard fields and the opt-out field; other custom fields arrive with the contact's next change.
- Close contacts have no tags or stages, so those writebacks aren't offered.
Troubleshooting
- "Updates from the CRM aren't set up yet". bubbl3 couldn't create its webhook subscription; it keeps trying. Close allows a limited number per organization: remove unused ones.
- The connection needs attention. Close refused to renew bubbl3's access. Reconnect from the connection page.
- A Smart View import stopped. Close's search cursor expires after 30 seconds; start the import again. Nothing is imported twice.