CRMs#
O GuruAgenda se liga a CRMs como HubSpot, Pipedrive, RD Station CRM, PipeRun e Ploomes por meio de uma ferramenta de automação (n8n, Make ou Zapier), que fica no meio traduzindo os dados. Esta página mostra os fluxos mais comuns e como guardar o vínculo entre os registros dos dois lados. O passo a passo das ferramentas está em n8n, Make e Zapier.
Os fluxos mais comuns#
| Fluxo | Direção | Como |
|---|---|---|
| Lead ou contato do CRM vira cliente | CRM → GuruAgenda | Gatilho do CRM → POST /v1/clients, que encontra o cliente existente em vez de duplicar. |
| Agendamento vira atividade ou reunião | GuruAgenda → CRM | Webhook appointment.created → criar a atividade no CRM. |
| Reagendamento e cancelamento atualizam a atividade | GuruAgenda → CRM | appointment.rescheduled e appointment.cancelled → atualizar a atividade pelo id guardado em metadata. |
| Atendimento concluído ou falta mudam o negócio | GuruAgenda → CRM | appointment.completed e appointment.no_show → registrar o resultado ou mover a etapa. |
| Sinal pago marca o negócio como ganho | GuruAgenda → CRM | deposit.paid → atualizar o negócio. |
| Equipe comercial agenda pelo CRM | CRM → GuruAgenda | GET /v1/availability/slots → POST /v1/appointments. |
| Mensagem no WhatsApp vira nota no CRM | GuruAgenda → CRM | whatsapp.message.received → criar nota no contato. |
O evento já traz o objeto completo (nome, telefone e e-mail do cliente, profissional, serviços, horários com fuso), então o nó do CRM cria a atividade sem consultar a API de novo.
Guardar o vínculo entre os dois lados#
Clientes e agendamentos têm um campo metadata para você guardar ids de outros sistemas: até 50 chaves por registro, texto → texto.
- O id do CRM no GuruAgenda: ao criar ou atualizar, mande
"metadata": {"hubspot_contact_id": "501"}. Ele volta em todoGETe em todo webhook, e dá para buscar por ele:GET /v1/clients?metadata[hubspot_contact_id]=501. - O id do GuruAgenda no CRM: crie no CRM um campo personalizado (por exemplo,
guruagenda_id) e grave nele oiddo cliente ou do agendamento.
Com isso, um appointment.rescheduled chega com data.object.metadata.hubspot_meeting_id, e o fluxo atualiza a reunião certa, sem procurar por nome ou data.
Status do agendamento no CRM#
| GuruAgenda | Sugestão no CRM |
|---|---|
PENDING, CONFIRMED |
Agendada |
COMPLETED |
Realizada |
NO_SHOW |
Não compareceu |
CANCELLED_CLIENT, CANCELLED_PROFESSIONAL |
Cancelada |
evento appointment.rescheduled |
Reagendada (o horário anterior vem em data.changes.start.from) |
Cuidados#
- Datas: os horários vêm em ISO 8601 com o fuso (
2026-10-20T14:30:00-03:00). Alguns CRMs pedem UTC, data e hora separadas ou milissegundos desde 1970; converta na ferramenta de automação (no n8n,{{ DateTime.fromISO($json.body.data.object.start).toUTC().toISO() }}). - Repetições: um webhook pode chegar mais de uma vez. Antes de criar a atividade, confira se o
iddo evento já foi tratado, ou procure a atividade pelo id guardado emmetadata. - Ordem: eventos podem chegar fora de ordem. Use
created_atdo evento para não sobrescrever um estado novo com um antigo. - Limites do CRM: cada CRM tem o seu limite de requisições. Em importações grandes, use os recursos de lote e espera da ferramenta de automação.