Automações

Envio WhatsApp: texto, mídia, áudio, localização, templates, enquetes, listas e botões.

Nó Send (WhatsApp)

O nó Send (whatsapp_send) entrega mensagens WhatsApp pelas instâncias conectadas. Escolha um operation template para o tipo de mensagem — texto, template Meta, imagem, vídeo, documento, áudio, localização, cartão de contato, sticker, enquete, lista, botões ou reação.

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

Workflows > editor > Send node operation picker Figura 1: Nó Send — operation template e campos de destino

O que faz

AspectoComportamento
Node typewhatsapp_send
Executorhttp_request — chama a REST API WhatsWave com endpoints pré-configurados
AuthAuthorization: Bearer {{api_token}} + X-WhatsWave-Sent-By: workflow (automático)
Outputskey, status, message — referencie como {{send_1.status}}, etc.

Cada operação mapeia para um path de API dedicado (por exemplo /instances/message/send-text, /instances/message/send-template). Mensagens de lista e botões usam formato interativo Meta e exigem janela de atendimento ao cliente de 24 horas aberta (ou template aprovado para iniciação outbound).

Campos compartilhados (maioria das operações)

Estes campos aparecem em quase toda operação de envio:

CampoKeyObrigatórioDescrição
Companycompany_idAutoOculto — padrão {{company_id}}
Instanceinstance_idNãoLinha WhatsApp (UUID). Opcional — a plataforma pode escolher instância conectada padrão
Destination number or PSIDnumberSimTelefone E.164 (ex.: 5511999999999) ou PSID Instagram em instância multicanal

Use variáveis: {{trigger.body.phone}}, {{contact_1.contact.phone_number}}.

Operation templates

Text / message (wa_op_text)

CampoKeyDescrição
MessagetextCorpo em texto simples

Endpoint: POST /instances/message/send-text

Template — Meta API (wa_op_template)

CampoKeyDescrição
Template nametemplate_nameNome do template Meta aprovado (ex.: order_confirmation)
LanguagelanguageOculto, padrão pt_BR
Template variablescomponentsArray JSON de parâmetros de componentes Meta

Endpoint: POST /instances/message/send-template

Use para mensagens fora da janela de 24h. Liste nomes aprovados com o nó Meta Templates.

Image / Video / Document (wa_op_image, wa_op_video, wa_op_document)

CampoKeyDescrição
Media typemedia_typeOculto — image, video ou document
MediamediaUrlURL pública ou upload via seletor de mídia
Storage pathmediaStoragePathOculto — definido ao fazer upload no storage WhatsWave
CaptioncaptionLegenda opcional

Endpoint: POST /instances/message/send-media

Audio (wa_op_audio)

CampoKeyDescrição
AudioaudioUrlURL ou upload de áudio
Storage pathaudioStoragePathOculto ao usar upload

Endpoint: POST /instances/message/send-audio

Location (wa_op_location)

CampoKeyDescrição
LatitudelatGraus decimais
LongitudelngGraus decimais
Place namenameRótulo exibido no pin do mapa
AddressaddressEndereço legível

Endpoint: POST /instances/message/send-location

Contact card (wa_op_contact)

CampoKeyDescrição
Contact namecontactNameNome exibido no vCard
Contact phonecontactNumberTelefone no cartão compartilhado

Endpoint: POST /instances/message/send-contact

Sticker (wa_op_sticker)

CampoKeyDescrição
Sticker URLstickerUrlURL do sticker WebP

Endpoint: POST /instances/message/send-sticker

Poll (wa_op_poll)

CampoKeyDescrição
Poll namenameTítulo da pergunta
OptionsoptionsArray JSON, ex.: ["Option A","Option B"]
Max selectionsselectableCountPadrão 1

Endpoint: POST /instances/message/send-poll

List (wa_op_list)

CampoKeyDescrição
TitletitleCabeçalho da lista
DescriptiondescriptionTexto do corpo
Button textbuttonTextPadrão Ver opções
SectionssectionsJSON — seções e linhas da lista Meta

Endpoint: POST /instances/message/send-list

Buttons (wa_op_buttons)

CampoKeyDescrição
TitletitleCabeçalho
MessagedescriptionTexto do corpo
ButtonsbuttonsJSON — até três botões de resposta

Endpoint: POST /instances/message/send-buttons

Reaction (wa_op_reaction)

CampoKeyDescrição
Message IDmessageIdID da mensagem WhatsApp para reagir
EmojireactionPadrão 👍

Endpoint: POST /instances/message/send-reaction

Dicas e boas práticas

  • Escolha a operação primeiro. Os campos são filtrados por template — você só vê entradas relevantes (campos de imagem em Image, não em Text).
  • Use templates Meta para outbound frio. Texto livre, listas e botões falham fora da sessão de 24h, a menos que o cliente tenha enviado mensagem recentemente.
  • Sempre passe números E.164. Inclua código do país sem + ou espaços: 5511999999999.
  • Defina instance_id com múltiplas linhas. Evita enviar pelo número WhatsApp errado.
  • Faça upload de mídia no editor quando possível — mediaStoragePath é resolvido automaticamente; URLs públicas devem ser HTTPS e acessíveis pela Meta.
  • Inspecione {{send_1.status}} no histórico de execução antes de encadear nós CRM ou Return em caso de falha.

Exemplos de uso

Exemplo 1 — Confirmação de pedido (webhook + template)

Trigger: Webhook — pedido e-commerce pago.

Fluxo:

  1. Send — operação Template (Meta API)
    • number: {{trigger.body.phone}}
    • template_name: order_shipped
    • components: [{ "type": "body", "parameters": [{ "type": "text", "text": "{{trigger.body.order_id}}" }] }]
  2. CRM — upsert do card na coluna "Shipped"
  3. Return{ "sent": true, "status": "{{send_1.status}}" }

Exemplo 2 — Handoff de agente com mídia

Trigger: Webhook — ticket de suporte com URL de anexo.

Fluxo:

  1. SendText: "We received your request #{{trigger.body.ticket_id}}"
  2. SendDocument: mediaUrl = {{trigger.body.pdf_url}}, caption = "Your invoice"
  3. ConversationsTransfer para responsável de {{trigger.body.agent_name}}

Exemplo 3 — Menu interativo dentro da janela de 24h

Trigger: Webhook — mensagem recebida já armazenada.

Fluxo:

  1. SendList
    • title: "How can we help?"
    • sections: JSON com linhas "Sales", "Support", "Billing"
  2. Condition — ramifica com base na resposta capturada em workflow de webhook de follow-up

FAQ

Por que minha mensagem de lista/botões falhou?

Provavelmente fora da janela de atendimento de 24h. Mude para template Meta ou aguarde o cliente enviar mensagem primeiro.

Preciso configurar headers Authorization?

Não. O template injeta Bearer {{api_token}} automaticamente.

Posso enviar para PSID Instagram neste nó?

O campo number aceita PSID quando a instância selecionada suporta Instagram. Para fluxos só Instagram, prefira o nó Instagram.

Qual a diferença entre Send e Message queue?

Send entrega imediatamente. Message queue agenda entrega via scheduled_at e vincula o item ao workflow atual — veja nó Message queue.

Como referencio o message ID para uma reação?

Use a saída do nó Messages ou campo do payload do webhook e passe para messageId na operação Reaction.

Artigos relacionados

Este artigo foi útil?

Precisa de mais ajuda? Falar com suporte

Central de Ajuda