Connect HubSpot or Zoho CRM

OAuth with the right admin, deliberate field mapping, and the one test booking that tells you sync actually works.

Connect with the right person

Open Integrations → Connectors → HubSpot or Zoho. Use a CRM admin who can authorize the scopes you need. A marketing user who “sort of has access” will authorize a half-permission token that fails later in ways that look like AptaBook bugs.

Confirm your plan includes the connector before you promise the sales team “it’ll sync tonight.” If the connector isn’t on the plan, use webhooks instead of pretending OAuth will appear.

Map fields on purpose

Map phone and email deliberately. Pretty labels in AptaBook do not auto-match weird CRM properties like mobilephone vs phone or a custom “WhatsApp number” field.

Decide which system wins when both sides have a phone number. Document that for your team. Silent overwrites make ops distrust every integration.

If you only need new leads from chat, don’t map twenty optional fields on day one. Start with identity + appointment time, prove it, then expand.

Prove it with one booking

Run a chat that creates a customer and books a real (or clearly tagged test) appointment. Find that person in the CRM within a few minutes. If they’re missing, check connector logs and CRM permissions before rewriting agent copy - the greeting is rarely the problem.

Update the appointment (reschedule once). Confirm the CRM reflects it if your mapping includes appointment objects. One-way create-only sync surprises people during no-show follow-up.

When a contact lands twice, you usually mapped identity poorly (email vs phone) or staff manually created a duplicate the same day. Fix matching rules; don’t ask the agent to “be careful.”