Saltar para o conteúdo principal
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 usoExemplo
Formulários da webEnvios de formulários de contato geram leads
Aplicativos de terceirosPagamento no Stripe → criar registro de cliente
Integrações personalizadasSeu aplicativo → automação no Twenty
Ferramentas no-codeConexões com Zapier, Make, n8n

Configuração passo a passo

Etapa 1: Criar o fluxo de trabalho

  1. Vá para Configurações → Fluxos de trabalho
  2. Clique em + Novo fluxo de trabalho
  3. Dê um nome (por exemplo, “Envio de formulário do site”)

Etapa 2: Configurar o gatilho de Webhook

  1. Clique no bloco de gatilho
  2. Selecione Webhook
  3. Você receberá uma URL de webhook exclusiva, como:
    https://api.twenty.com/webhooks/workflow/abc123...
    
  4. 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:
  1. Clique em Definir corpo esperado
  2. Insira um JSON de exemplo que corresponda ao que o seu serviço enviará:
{
  "firstName": "John",
  "lastName": "Doe",
  "email": "john@example.com",
  "company": "Acme Inc",
  "message": "Interested in your product"
}
  1. 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
  1. Adicione a ação Criar registro
  2. Selecione o objeto Pessoas
  3. Mapeie os campos:
CampoValor
Nome{{trigger.body.firstName}}
Sobrenome{{trigger.body.lastName}}
E-mail{{trigger.body.email}}
EmpresaPesquisar 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://api.twenty.com/webhooks/workflow/abc123... \
  -H "Content-Type: application/json" \
  -d '{"firstName":"Test","lastName":"User","email":"test@example.com"}'
Usando o Postman ou similar:
  1. Crie uma solicitação POST para a sua URL de webhook
  2. Defina o cabeçalho Content-Type como application/json
  3. Adicione o corpo JSON de teste
  4. 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": "John Doe",
    "email": "john@example.com"
  },
  "source": "website"
}
Referencie com: {{trigger.body.contact.email}}

Arrays

Se os dados incluírem arrays:
{
  "items": [
    {"name": "Product A", "qty": 2},
    {"name": "Product B", "qty": 1}
  ]
}
Como você lida com arrays depende do seu caso de uso: Número desconhecido de itens → Use Iterator Se você precisar processar cada item no array (por exemplo, criar um registro para cada), adicione uma ação Code para analisar o array e, em seguida, use Iterator:
export const main = async (params: { items: any }) => {
  const items = typeof params.items === "string"
    ? JSON.parse(params.items)
    : params.items;
  return { items };
};
Em seguida, use Iterator 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 Code 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.

Relacionados