NexHealth
| Status | Kind | How you connect |
|---|---|---|
| Coming soon | Clinics and wellness | Enter your NexHealth account details in bubbl3 |
NexHealth 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
NexHealth connects to more than 15 dental and medical practice systems. Connecting it sends each new appointment and each new patient to bubbl3 as it's made. Each one:
- becomes (or updates) a contact, matched on phone and email, keeping only the minimum patient details (see below);
- goes through the connection's lead source, which sets its labels, owner, consent and workflow (for example a booking confirmation or new-patient follow-up);
- for a patient bubbl3 already has, a booking also counts as the conversion event Appointment booked.
bubbl3 never books, changes or messages anything in NexHealth.
Setup
- In NexHealth, authorize bubbl3 for your practice.
- In bubbl3, open Settings, Integrations, choose NexHealth and enter your NexHealth subdomain and location id. bubbl3 checks it can read the location.
- Wait for bubbl3 to confirm the practice is yours. NexHealth gives bubbl3 nothing your practice holds that it could check, so bubbl3's team confirms with your practice before turning the connection on. Until then the connection says it's waiting for bubbl3, and nothing comes in.
- Once confirmed, set the lead source's consent and workflow. NexHealth's patient records carry no texting consent, so "Not sure" records it as unknown; new patients can still be texted, because you confirmed when connecting that everyone you send has agreed to receive texts.
| What you enter | Where to find it |
|---|---|
| NexHealth subdomain | The name before .nexhealth.com in your NexHealth address |
| Location ID | In NexHealth, Settings, Locations: the number in the location's address |
Disconnect
Disconnect from the connection page in Settings, Integrations.
- Stops at once: new appointments and patients. bubbl3 deletes its webhook in NexHealth, and the lead source is paused.
- Deleted at once: the connection's stored credentials.
- Stops working at once: the connection's webhook key. bubbl3 refuses anything sent to the old address; the key stays sealed on the disconnected connection, where nothing reads it.
- Kept: contacts made from NexHealth, with their messages, labels and consent, and only the minimum details. The paused lead source stays. The connection's account details (the practice's subdomain and location) stay on the disconnected connection.
- Deleted later: stored deliveries are deleted 30 days after they arrived.
Data shared
From NexHealth to bubbl3: each new appointment's patient and start time, and each new patient. bubbl3 keeps only first and last name, cell (else home) number, email and the appointment time.
From bubbl3 to NexHealth: only bubbl3's webhook and its two subscriptions.
Patient data
NexHealth can hold patient health information, so bubbl3 keeps only the minimum from its records: name, phone, email, consent and appointment time. Every other field, such as notes, dates of birth, insurance or health details, is dropped before anything is saved, and message templates can't use clinical fields.
Need another field? It takes bubbl3's HIPAA add-on and a signed business associate agreement. Contact bubbl3 support: bubbl3's staff add the field to your connection, the addition is recorded in your audit log, and the field is kept on the contact where message templates can't use it.
Scopes and permissions
NexHealth has no scopes for bubbl3 to ask for: your practice authorizes bubbl3 in NexHealth, and bubbl3 reads only the location you name and the records its webhook announces.
Events
What bubbl3 receives
| Event in NexHealth | In bubbl3 |
|---|---|
appointment_created | New lead. A booking: matched, labelled and, if you chose one, enrolled in the source's workflow. For a patient bubbl3 already has, also "Appointment booked". |
patient_created | New lead. A new patient, matched and enrolled the same way. |
What bubbl3 writes back
Nothing. NexHealth only sends bookings and patients to bubbl3. A STOP in bubbl3 isn't written back.
Sending rules that still apply
NexHealth 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 NexHealth can turn them off.
- Consent. When you connect NexHealth 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 NexHealth is told when bubbl3 doesn't send
NexHealth 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
- A practice is held until bubbl3's team confirms it. Bookings made while it's held aren't kept, so ask bubbl3 support how long confirmation takes before you rely on it.
- A practice already connected in another bubbl3 workspace is also held until bubbl3's team approves it.
- NexHealth's opt-outs aren't sent to bubbl3; contacts who reply STOP are opted out in bubbl3.
Troubleshooting
- "Waiting for bubbl3 to confirm this account is yours". That's expected for a new connection: bubbl3's team checks with your practice, then turns it on. You don't need to reconnect.
- "Authorize bubbl3 in NexHealth". Your practice hasn't authorized bubbl3 yet, or the subdomain or location id is wrong.
- Bookings arrive but nobody is texted. The person opted out, or the lead source has no workflow chosen.