Zoho CRM
| Status | Kind | How you connect |
|---|---|---|
| Coming soon | CRM | One click: approve bubbl3 on Zoho CRM's own page |
Zoho CRM 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 Zoho CRM lets bubbl3:
- import Leads and Contacts (both, one kind, or a custom view) and check for new and changed records every five minutes;
- log every text bubbl3 sends or receives, and every held or refused text with the reason, as a note on the record;
- keep opt-outs in step through bubbl3's field, Opted out of texts (bubbl3), which bubbl3 adds when you connect;
- update fields, a Lead's status and tags when a workflow or conversion event asks.
Every change bubbl3 makes is sent so that none of Zoho's own workflows, approvals or blueprints run on it.
Setup
Customers in every Zoho data centre can connect.
- In bubbl3, open Settings, Integrations, choose Zoho CRM, then Connect, and approve bubbl3 on Zoho's page.
- Choose what to import (everything, only Leads, only Contacts, or a custom view by its id), check the count and the field mapping. Mobile is the number texts go to.
- Answer How did these leads agree to hear from you?
Disconnect
Disconnect from the connection page in Settings, Integrations.
- Stops at once: imports, the five-minute check, notes and writebacks.
- Deleted at once: bubbl3's tokens (Zoho is asked to revoke them) and the links between bubbl3 contacts and Zoho records. Opt-outs still waiting are dropped.
- Kept: contacts imported from Zoho CRM, with their messages, labels and consent, unless you tick Also delete the contacts imported from it. Notes and fields bubbl3 wrote stay in Zoho, and so does the opt-out field.
- Deleted later: the changes bubbl3 read are deleted 30 days after they were read.
Data shared
From Zoho CRM to bubbl3: Leads' and Contacts' names, email, mobile and phone, owner, company, lead source and status, tags and the opt-out field; your org's id and name.
From bubbl3 to Zoho CRM: notes for texts; the opt-out field on STOP; fields, Lead statuses and tags when you ask.
Scopes and permissions
| Scope | Why bubbl3 needs it |
|---|---|
ZohoCRM.modules.leads.ALL | Read Leads, and write the opt-out field, fields, statuses and tags |
ZohoCRM.modules.contacts.ALL | Read Contacts, and write the opt-out field, fields and tags |
ZohoCRM.modules.notes.CREATE | Log texts as notes |
ZohoCRM.settings.fields.ALL | Find and add bubbl3's opt-out field |
ZohoCRM.org.READ | Name the connection after your org |
Events
What bubbl3 receives
| Event in Zoho CRM | In bubbl3 |
|---|---|
| A new Lead or Contact, found by the five-minute check | New contact. Imported and matched on phone and email; starts "Lead imported from CRM" workflows. |
| A changed Lead or Contact, found by the five-minute check | Contact updated. Changes are applied; starts "CRM contact updated" workflows. The opt-out field set opts the contact out. |
What bubbl3 writes back
| What | Where it shows in Zoho CRM |
|---|---|
| Text log | A note on the Lead or Contact |
| Opt-outs | Opted out of texts (bubbl3) set |
| Field updates | The field you chose |
| Stage changes | A Lead's status |
| Tags | Tags added or removed |
| Notes | A note from a conversion event |
Sending rules that still apply
Zoho CRM 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 Zoho CRM can turn them off.
- Consent. When you connect Zoho CRM 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 Zoho CRM.
- 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 Zoho CRM is told when bubbl3 doesn't send
A note on the record says the text wasn't sent, with the reason. 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
- Zoho gives each org a daily allowance of API credits by edition (5,000 on Free). bubbl3 uses at most 4,500 a day per connection, and 2 calls a second.
- Changes arrive within about six minutes, not instantly.
- Import filters are a custom view or a record kind; use a custom view for tags, owners or stages.
- Zoho records have no contact time zone bubbl3 reads, so quiet hours use the phone's area code.
Troubleshooting
- The connection needs attention. Zoho refused to renew bubbl3's access. Reconnect from the connection page.
- Imports are slow or paused. Your org's daily credits may be nearly used; bubbl3 waits rather than use the rest.