Configurar um gatilho de webhook
Receba dados de serviços externos para acionar fluxos de trabalho.
Gatilhos de webhook permitem que serviços externos iniciem seus fluxos de trabalho enviando dados para uma URL exclusiva. Use-os para conectar formulários, aplicativos de terceiros e integrações personalizadas.
Quando usar webhooks
| Caso de uso | Exemplo |
|---|---|
| Formulários da web | Envios de formulários de contato geram leads |
| Aplicativos de terceiros | Pagamento confirmado → criar registro de cliente |
| Integrações personalizadas | Seu aplicativo → automação no Vecta Desk |
| Ferramentas no-code | Conexões com Zapier, Make, n8n |
Configuração passo a passo
Etapa 1: criar o fluxo de trabalho
- Vá para Configurações → Fluxos de trabalho.
- Clique em + Novo fluxo de trabalho.
- Dê um nome (por exemplo, “Envio de formulário do site”).
Etapa 2: configurar o gatilho de webhook
- Clique no bloco de gatilho.
- Selecione Webhook.
- Você receberá uma URL de webhook exclusiva, como:
https://sua-instancia/webhooks/workflow/abc123... - Copie esta URL — você vai precisar dela no seu serviço externo.
Etapa 3: definir a estrutura de dados esperada
Para solicitações POST, defina a estrutura esperada do corpo:
- Clique em Definir corpo esperado.
- Insira um JSON de exemplo que corresponda ao que o seu serviço enviará:
{
"firstName": "João",
"lastName": "Silva",
"email": "joao@exemplo.com.br",
"company": "Comércio Andrade",
"message": "Tenho interesse no seu produto"
}- Clique em Salvar — isso cria variáveis que você pode usar nas etapas subsequentes.
Etapa 4: adicionar ações
Agora adicione ações que usem os dados do webhook.
Exemplo: criar um registro de Pessoa
- Adicione a ação Criar registro.
- Selecione o objeto Pessoas.
- Mapeie os campos:
| Campo | Valor |
|---|---|
| Nome | {{trigger.body.firstName}} |
| Sobrenome | {{trigger.body.lastName}} |
{{trigger.body.email}} | |
| Empresa | Pesquisar ou criar com base em {{trigger.body.company}} |
Etapa 5: testar o webhook
Antes de ativar, teste o seu webhook.
Usando cURL:
curl -X POST https://sua-instancia/webhooks/workflow/abc123... \
-H "Content-Type: application/json" \
-d '{"firstName":"Teste","lastName":"Usuário","email":"teste@exemplo.com.br"}'Usando o Postman ou similar:
- Crie uma solicitação POST para a sua URL de webhook.
- Defina o cabeçalho Content-Type como
application/json. - Adicione o corpo JSON de teste.
- Envie e verifique as execuções do fluxo de trabalho.
Etapa 6: ativar
Depois de testar, clique em Ativar para ativar o fluxo de trabalho.
Como lidar com diferentes estruturas de dados
Dados aninhados
Se o seu webhook enviar dados aninhados:
{
"contact": {
"name": "João Silva",
"email": "joao@exemplo.com.br"
},
"source": "site"
}Referencie com: {{trigger.body.contact.email}}
Arrays
Se os dados incluírem arrays:
{
"items": [
{"name": "Produto A", "qty": 2},
{"name": "Produto B", "qty": 1}
]
}Como você lida com arrays depende do seu caso de uso.
Número desconhecido de itens → use o Iterador. Se você precisar processar cada item no array (por exemplo, criar um registro para cada), adicione uma ação Código para analisar o array e, em seguida, use o Iterador:
export const main = async (params: { items: any }) => {
const items = typeof params.items === "string"
? JSON.parse(params.items)
: params.items;
return { items };
};Em seguida, use o Iterador para percorrer: {{code.items}}
Campos conhecidos/específicos → extraia para campos nomeados. Se o array contiver campos específicos aos quais você deseja acessar individualmente (por exemplo, respostas de formulário em que a posição 0 é sempre “nome”, a posição 1 é sempre “sobrenome”), adicione uma ação Código para extraí-los:
export const main = async (params: { items: any }) => {
const items = typeof params.items === "string"
? JSON.parse(params.items)
: params.items;
return {
product: {
name: items[0]?.name || "",
qty: items[0]?.qty || 0
}
};
};Agora você pode selecionar product.name e product.qty individualmente nas etapas subsequentes.
Para mais detalhes sobre como lidar com arrays, consulte Tratar arrays em ações de código.