Automações

Criar, obter ou atualizar contatos no banco de dados da empresa.

Nó Contact

O nó Contact (contact) cria, recupera ou atualiza um contato no banco de dados WhatsWave da empresa. As operações são selecionadas pelo seletor de operation template.

Encontre-o na paleta WhatsWave em Automações.

Workflows > editor > Contact create fields Figura 1: Nó Contact — operação create com telefone e custom fields

O que faz

AspectoComportamento
Node typecontact
Executorhttp_request
OperationsCreate, Get, Update
Outputscontact

Contatos são indexados por telefone dentro da empresa. Nós de CRM e mensagens frequentemente referenciam o mesmo número.

Operação: Create contact (contact_op_create)

Endpoint: POST /contacts/create

CampoKeyObrigatórioDescrição
Companycompany_idAutoOculto
Phonephone_numberSim*E.164 — identificador principal
NamenameNãoNome de exibição
EmailemailNãoEndereço de e-mail
TagstagsNãoArray JSON de strings de tag
Custom fieldscustom_fieldsNãoObjeto JSON — campos definidos pela empresa

*Telefone é a chave de busca usual no create.

Operação: Get contact (contact_op_get)

Endpoint: GET /contacts/get

CampoKeyObrigatórioDescrição
Companycompany_idAutoOculto
Phonephone_numberSimContato a recuperar

Operação: Update contact (contact_op_update)

Endpoint: PUT /contacts/update

CampoKeyObrigatórioDescrição
Companycompany_idAutoOculto
Contact IDidCondicionalUUID — alternativa à busca por telefone
Phonephone_numberCondicionalAtualizar ou identificar registro
NamenameNão
EmailemailNão
TagstagsNãoArray JSON
Custom fieldscustom_fieldsNãoObjeto JSON

Forneça id ou phone_number para identificar o contato.

Dicas e boas práticas

  • Normalize telefone para E.164 em um nó Variable antes de create/get — evita contatos duplicados.
  • Use custom_fields para IDs de integração (ID de cliente Shopify, chave CRM externa).
  • Get antes de update ao mesclar dados de webhook com tags existentes — a API pode substituir arrays inteiramente.
  • Create cedo no fluxo — nós CRM e Send seguintes podem usar {{contact_1.contact.phone_number}}.
  • Tags como array JSON — ex.: ["lead","webinar"], não strings separadas por vírgula (diferente das tags de conversa).

Exemplos de uso

Exemplo 1 — Captura de lead via webhook

Trigger: Webhook — envio de formulário.

Fluxo:

  1. Contact — Create
    • phone_number: {{trigger.body.phone}}
    • name: {{trigger.body.name}}
    • email: {{trigger.body.email}}
    • tags: ["website_form"]
  2. Send — mensagem de boas-vindas
  3. CRM — upsert do card

Exemplo 2 — Enriquecer a partir de webhook de pagamento

Trigger: Webhook — pagamento confirmado.

Fluxo:

  1. Contact — Get, phone_number: {{trigger.body.payer_phone}}
  2. Contact — Update
    • custom_fields: { "last_payment_at": "{{trigger.body.paid_at}}" }

Exemplo 3 — Padrão upsert com Condition

Fluxo:

  1. Contact — Get
  2. Condition — se contato existe → Update; Senão → Create

FAQ

Create vs CRM upsert?

Contact gerencia a agenda de contatos. CRM gerencia cards do funil — frequentemente ambos no mesmo fluxo.

IDs legados contact_create, contact_get, contact_update?

Mapeados para template unificado contact.

Qual formato para tags?

Array JSON no Contact; nó Conversations usa strings separadas por vírgula para tags de chat — não confunda os dois.

Artigos relacionados

Este artigo foi útil?

Precisa de mais ajuda? Falar com suporte

Central de Ajuda