Skip to main content

Housecall Pro

StatusKindHow you connect
Coming soonCommerce and paymentsEnter your Housecall Pro account details in bubbl3

Housecall Pro 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​

Housecall Pro runs home service businesses. Connecting it sends four kinds of event to bubbl3, from the webhook you set up in Housecall Pro:

  • a new customer;
  • an estimate sent (for estimate follow-up);
  • a job scheduled (for reminders; it carries the job's start time, and counts as Appointment booked for a customer bubbl3 already has);
  • a job finished (for review requests).

Each one becomes (or updates) a contact, matched on phone and email, and goes through the connection's lead source, which sets its labels, owner, consent and workflow. One workflow takes every kind: branch on the contact's housecall_pro_event field (customer_created, estimate_sent, job_scheduled or job_completed).

bubbl3 never books, bills or messages anything in Housecall Pro.

Setup​

Housecall Pro's API and webhooks are on its MAX plan.

  1. In Housecall Pro, open App Store, API and generate an API key.
  2. In bubbl3, open Settings, Integrations, choose Housecall Pro and paste the key. bubbl3 reads your company once to check it.
  3. On the connection page, the Customer data card shows the connection's own webhook address (people with full access to integrations can see it). Paste it into Housecall Pro's webhook settings for new customers, estimates sent, and jobs scheduled and finished. Keep it private: reconnecting makes a new one.
  4. Set the lead source's consent and workflow. "Not sure" records new customers' consent as unknown; they can still be texted, because you confirmed when connecting that everyone you send has agreed to receive texts.
What you enterWhere to find it
API keyIn Housecall Pro, App Store, API (MAX plan)

Disconnect​

Disconnect from the connection page in Settings, Integrations, then remove the webhook in Housecall Pro.

  • Stops at once: bubbl3 refuses deliveries to the old webhook address, and the lead source is paused.
  • Deleted at once: your API key.
  • 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 Housecall Pro, with their messages, labels and consent. The paused lead source stays. The connection's account details (the company it names) stay on the disconnected connection.
  • Deleted later: stored deliveries are deleted 30 days after they arrived.

Data shared​

From Housecall Pro to bubbl3: first and last name, a number (mobile, else home, else work), email, the job's start, and which event it was. Notes, addresses, line items, prices and tags are never read.

From bubbl3 to Housecall Pro: nothing.

Scopes and permissions​

Housecall Pro API keys have no scopes: the key acts for your company.

Events​

What bubbl3 receives​

Event in Housecall ProIn bubbl3
customer.createdNew lead. A new customer: matched, labelled and, if you chose one, enrolled in the source's workflow.
estimate.sentNew lead. Enrolled the same way, with housecall_pro_event set to estimate_sent.
job.scheduledNew lead. Carries the job's start as the appointment time; "Appointment booked" for a customer bubbl3 already has.
job.completedNew lead. Enrolled the same way, for a review request.

What bubbl3 writes back​

Nothing. A STOP in bubbl3 isn't written back to Housecall Pro.

Sending rules that still apply​

Housecall Pro 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 Housecall Pro can turn them off.

  • Consent. When you connect Housecall Pro 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 Housecall Pro is told when bubbl3 doesn't send​

Housecall Pro has nothing to write a refusal to. You see it in bubbl3: on the message, or on the workflow run's step.

ReasonCodeWhat you see
A link before the contact repliespre_reply_link_blockedNot sent: "Links can't be sent until the contact replies"
A photo or file before the contact repliespre_reply_media_blockedNot sent: "Photos and files can't be sent until the contact replies"
A phone number before the contact repliespre_reply_phone_blockedNot sent: "Phone numbers can't be sent until the contact replies"
An email address before the contact repliespre_reply_email_blockedNot sent: "Email addresses can't be sent until the contact replies"
A first message that is too longpre_reply_too_longNot sent: "First messages must be 300 characters or fewer"
Too many texts without a replypre_reply_message_limitNot sent: "Already sent 3 texts without a reply. Wait for the contact to reply"
The same text to too many people todayidentical_text_limitNot sent: "This exact text went to 20 people from this line today"
The line is paused after unanswered textsunanswered_streak_limitNot sent: "This line is paused after too many unanswered texts"
The contact opted outcontact_opted_outNot sent: "The contact opted out of texts"
The workspace texts only opted-in contactsconsent_requiredNot sent: "This workspace only texts contacts who opted in"
No line can reach the contactline_unavailableNot sent: "bubbl3's line for this contact isn't available"
Quiet hoursquiet_hoursHeld: "Scheduled for 9:00 AM America/Chicago, quiet hours"
The line's daily limitdaily_new_contact_capHeld: "Scheduled for Oct 15, 9:00 AM America/Chicago: today's limit for this line is reached"
The line's hourly limit of new contactshourly_new_contact_capHeld: "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 job scheduled and the same job finished are two leads; the same delivery twice is one.
  • Housecall Pro's webhooks are set up in Housecall Pro, so bubbl3 can't add or remove them for you.

Troubleshooting​

  • Nothing arrives. Check Housecall Pro's webhook uses the address from the Customer data card, and that you haven't reconnected since.
  • The workflow texts everyone the same thing. Branch on the contact's housecall_pro_event field.