Vagaro
| Status | Kind | How you connect |
|---|---|---|
| Coming soon | Clinics and wellness | Enter your Vagaro account details in bubbl3 |
Vagaro 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
Vagaro runs salons, spas and studios. Connecting it sends each new appointment and each new customer to bubbl3, from the webhook you set up in Vagaro. Each one:
- becomes (or updates) a contact, matched on phone and email, with only the customer's name, mobile, email and appointment time;
- goes through the connection's lead source, which sets its labels, owner, consent and workflow;
- for a customer bubbl3 already has, a booking also counts as the conversion event Appointment booked.
bubbl3 never books or messages anything in Vagaro.
Setup
APIs and webhooks are a paid Vagaro add-on.
- In Vagaro, open Settings, Developers and note your business ID, API region, client ID and secret.
- In bubbl3, open Settings, Integrations, choose Vagaro and enter them. bubbl3 checks them once with Vagaro.
- On the connection page, the Patient data card shows the connection's own webhook address (people with full access to integrations can see it). Paste it into Vagaro's webhook settings for new appointments and new customers. Keep it private: reconnecting makes a new one.
- Set the lead source's consent and workflow.
| What you enter | Where to find it |
|---|---|
| Business ID | In Vagaro, Settings, Developers |
| API region | us01, us02, us03 or us04, from the same page |
| Client ID | From the same page |
| Client secret | From the same page |
Disconnect
Disconnect from the connection page in Settings, Integrations, then remove the webhook in Vagaro.
- Stops at once: bubbl3 refuses deliveries to the old webhook address, and the lead source is paused.
- Deleted at once: your client ID and secret.
- 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 Vagaro, with their messages, labels and consent. The paused lead source stays. The connection's account details (the business it names) stay on the disconnected connection.
- Deleted later: stored deliveries are deleted 30 days after they arrived.
Data shared
From Vagaro to bubbl3: new appointments and customers. bubbl3 reads only first and last name, mobile, email and the appointment's start, and nothing else.
From bubbl3 to Vagaro: nothing.
Scopes and permissions
Vagaro's client ID and secret have no scopes: they act for your business.
Events
What bubbl3 receives
| Event in Vagaro | In bubbl3 |
|---|---|
appointment.created | New lead. A booking: matched, labelled and, if you chose one, enrolled in the source's workflow. For a customer bubbl3 already has, also "Appointment booked". |
customer.created | New lead. A new customer, enrolled the same way. |
What bubbl3 writes back
Nothing. A STOP in bubbl3 isn't written back to Vagaro.
Sending rules that still apply
Vagaro 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 Vagaro can turn them off.
- Consent. When you connect Vagaro 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 Vagaro is told when bubbl3 doesn't send
Vagaro 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
- Vagaro's webhooks are set up in Vagaro, so bubbl3 can't add or remove them for you.
- Deliveries are trusted only with the key in the connection's own address.
Troubleshooting
- Nothing arrives. Check the webhook in Vagaro uses the address from the Patient data card, and that you haven't reconnected since (that makes a new address).
- Bookings arrive but nobody is texted. The person opted out, or the lead source has no workflow chosen.