HubSpot
Com um workflow do HubSpot, cada contato que entra no workflow é criado ou atualizado na PicChat e inscrito numa automação, que dispara a mensagem no WhatsApp. É o mesmo disparo por automação, numa rota que aceita o contato direto no corpo, do jeito que o webhook do HubSpot manda.
Antes de começar
- Uma automação de disparo ativa no painel da PicChat, com canal e template aprovado.
- O ID da automação: no painel, abra a automação e use Integrar via API. A aba do HubSpot já mostra a URL e o corpo prontos para copiar.
- Um token de integração da conta (veja Autenticação e tokens). Crie um só para o HubSpot: se precisar trocar, você revoga sem derrubar as outras integrações.
- No HubSpot, um plano em que os workflows tenham a ação de webhook.
Configurar o workflow
No HubSpot, em Automações › Workflows, crie (ou abra) um workflow de contatos e adicione a ação de webhook:
| Campo | Valor |
|---|---|
| Método | POST |
| URL | https://api.picchat.com.br/automations/enrollments/hubspot |
| Autenticação | Cabeçalho Authorization com o valor Bearer SEU_TOKEN |
| Corpo | JSON com os campos abaixo |
{
"automation_id": "0193e1b7-2a3c-7f40-9b51-6c7d8e9fa0b2",
"first_name": "{{contact.firstname}}",
"last_name": "{{contact.lastname}}",
"mobilephone": "{{contact.phone}}",
"email": "{{contact.email}}"
}automation_idé fixo: é a automação da PicChat que vai disparar.- Os demais campos vêm das propriedades do contato no HubSpot. Ligue cada chave à propriedade correspondente no editor do corpo do webhook.
- Precisa de pelo menos celular ou e-mail. O celular pode vir em qualquer formato: a PicChat guarda só os dígitos e completa o
55quando falta.
Qualquer outro campo no corpo vira propriedade do contato na PicChat, desde que a propriedade exista na conta com o mesmo nome interno. Mande, por exemplo,
"etapa_do_funil": "{{contact.lifecyclestage}}"e use o valor nas variáveis do template.
Testar sem o HubSpot
curl --request POST \
--url https://api.picchat.com.br/automations/enrollments/hubspot \
--header 'Authorization: Bearer SEU_TOKEN' \
--header 'Content-Type: application/json' \
--data '{
"automation_id": "0193e1b7-2a3c-7f40-9b51-6c7d8e9fa0b2",
"first_name": "Maria",
"mobilephone": "+55 (11) 99999-0000",
"email": "maria.souza@example.com"
}'{ "message": "Hubspot enrollment request sent to processing queue" }Esta chamada envia a mensagem de verdade. Teste com o seu próprio número. Como no disparo comum, o
201só confirma que o pedido entrou na fila: confira o envio emGET /v1/messages?automation_id=….
O que acontece depois
- O contato é procurado pelo celular e pelo e-mail. Se existir, é atualizado; se não, é criado.
- Ele é inscrito na automação, que agenda o envio conforme o horário de atendimento do canal (detalhes).
- Cada vez que o workflow do HubSpot rodar de novo para o mesmo contato, a mensagem sai de novo. Use as regras de reinscrição do workflow para controlar isso.
Erros
| Código | Quando |
|---|---|
400 |
Corpo sem automation_id |
403 |
Automação desativada (Automation is inactive) ou que não é da conta do token (Automation Not found with id …) |
498 |
Token ausente, inválido ou revogado. Confira se o cabeçalho tem o prefixo Bearer |