Skip to content
Back to skills

Webhook Integration

ASecurity

Webhook Integration — Skill especializada para webhook integration

  • 91 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added June 2, 2026
ai-agentspythongoapi

Works with

  • cli
  • api

Security analysis

A100/100

Scanned June 2, 2026

npx -y skills add kursku/skills --skill webhook-integration --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Webhook Integration?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Webhook Integration
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/kursku-webhook-integration/badge)](https://www.skillsdirectory.com/skills/kursku-webhook-integration)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: webhook-integration
description: "Webhook Integration — Skill especializada para webhook integration"
license: MIT
metadata:
  version: 1.0.0
  author: Cafe Code AI
  category: 12-ia-automacao
  updated: 2026-03-01
risk: safe
---

# Webhook Integration

Esta skill capacita o Claude a projetar, implementar e depurar integrações de webhook para automatizar fluxos de trabalho e conectar sistemas, com foco em plataformas como Make, N8N e Zapier.

---

## Keywords

Webhook, Payload, Endpoint, Listener, Webhook URL, HTTP POST, JSON, API Gateway, OAuth, Token de Acesso, Make.com, N8N, Zapier, Automação, Event-driven, Retry Policy, Idempotência, Signature.

---

## Quick Start

1.  **Obter Webhook URL:** Gere um endpoint único em sua plataforma de automação (ex: Make.com > Webhooks > Custom Webhook > "Copy address to clipboard").
2.  **Configurar Disparador:** Cole o Webhook URL no sistema de origem (ex: Stripe, Typeform, CRM) que enviará os dados, definindo o evento de disparo (ex: "nova venda", "novo lead", "atualização de status").
3.  **Capturar Payload:** Envie um evento de teste do sistema de origem para o Webhook URL e capture o payload JSON na plataforma de automação para analisar a estrutura dos dados.
4.  **Processar e Mapear Dados:** Use módulos na plataforma de automação (ex: "JSON Parser", "Text Parser") para extrair e transformar informações específicas do payload, mapeando-as para os campos de destino.
5.  **Testar e Ativar Fluxo:** Execute o cenário completo na plataforma de automação, monitorando logs e verificando se os dados são processados e enviados corretamente para o destino final (ex: Google Sheets, Slack, CRM), e então ative-o.

---

## Core Workflows

### Workflow 1: Recebimento de Leads de Formulário Web e Notificação no Slack via Make.com

Este workflow detalha a criação de uma integração de webhook para capturar novos leads de um formulário web (ex: Typeform, Jotform) e enviar uma notificação formatada para um canal Slack, utilizando o Make.com como orquestrador.

**Passos Detalhados:**

1.  **Criação do Webhook no Make.com:**
    *   Acesse Make.com e crie um novo cenário.
    *   Adicione um módulo "Webhooks" e selecione "Custom Webhook".
    *   Clique em "Add a hook", dê um nome descritivo (ex: `leads_form_contato`), e clique em "Save".
    *   Copie o "Webhook URL" gerado (ex: `https://hook.eu1.make.com/abcdefghijk1234567890`). Este será o endpoint que seu formulário irá chamar.

2.  **Configuração do Formulário Web (Exemplo Typeform):**
    *   No painel do seu formulário (ex: Typeform), navegue até a seção "Connect" ou "Integrations".
    *   Localize a opção "Webhooks" e clique em "Add a webhook".
    *   Cole o "Webhook URL" do Make.com no campo apropriado.
    *   Configure o evento para disparar em "On new submission" ou similar.
    *   Envie um teste preenchendo o formulário para que o Make.com possa "ouvir" e capturar a estrutura do payload.

3.  **Mapeamento e Processamento do Payload no Make.com:**
    *   Após a captura do payload de teste, o Make.com exibirá os dados recebidos. Inspecione a estrutura JSON.
    *   Adicione um módulo "Slack" e selecione a ação "Create a Message".
    *   Conecte sua conta Slack.
    *   No campo "Channel", selecione o canal de destino (ex: `#leads-novos`).
    *   No campo "Text", construa a mensagem usando os dados mapeados do webhook e formatação Markdown. É crucial verificar o JSON real capturado para os caminhos corretos.
        ```markdown
        *NOVO LEAD RECEBIDO!* 🚀
        Nome: {{1.form_response.answers[0].text}}
        Email: {{1.form_response.answers[1].email}}
        Telefone: {{1.form_response.answers[2].text}}
        Origem: Formulário de Contato - {{1.form_response.definition.title}}
        Submetido em: {{1.form_response.submitted_at}}
        ```
        *(Nota: Os índices `[0]`, `[1]`, `[2]` e os caminhos `form_response.answers` ou `form_response.definition.title` podem variar ligeiramente dependendo da estrutura exata do payload do seu Typeform. Sempre use a visualização do payload capturado para mapear com precisão.)*

4.  **Tratamento de Erros e Monitoramento (Recomendado):**
    *   Adicione um módulo "Error Handler" (ferramenta Make.com) para notificar em caso de falha no envio para o Slack.
    *   Configure-o para enviar um e-mail para a equipe de TI com os detalhes do erro e o payload original, permitindo depuração rápida.

**Exemplo de Payload (Typeform simplificado):**

```json
{
  "event_id": "EV-XYZ12345",
  "event_type": "form_response",
  "form_response": {
    "form_id": "abcdefg",
    "submitted_at": "2024-07-26T10:00:00Z",
    "definition": {
      "title": "Formulário de Contato do Site"
    },
    "answers": [
      {
        "field": { "id": "name_field", "type": "text", "ref": "nome_completo" },
        "type": "text",
        "text": "João Silva"
      },
      {
        "field": { "id": "email_field", "type": "email", "ref": "email_contato" },
        "type": "email",
        "email": "joao.silva@exemplo.com"
      },
      {
        "field": { "id": "phone_field", "type": "text", "ref": "telefone_contato" },
        "type": "text",
        "text": "+5511987654321"
      }
    ]
  }
}
```

### Workflow 2: Sincronização de Dados de Vendas de E-commerce com CRM via N8N (HTTP Request)

Este workflow foca em como usar um webhook para receber informações de novas vendas de uma plataforma de e-commerce (ex: WooCommerce via plugin) e criar/atualizar um registro de contato ou negócio em um CRM (ex: Pipedrive) usando o N8N.

**Passos Detalhados:**

1.  **Configuração do Webhook no N8N:**
    *   Inicie um novo workflow no N8N.
    *   Adicione um nó "Webhook" e configure-o como "POST" (geralmente é o método padrão para recebimento de dados de eventos).
    *   O N8N gerará um "Webhook URL" (ex: `https://yourn8n.com/webhook-test/your-unique-id`). Este URL será o destino das notificações do seu e-commerce.

2.  **Configuração na Plataforma de E-commerce (Exemplo WooCommerce):**
    *   No painel do WooCommerce, navegue até "WooCommerce > Configurações > Avançado > Webhooks".
    *   Clique em "Adicionar webhook".
    *   Dê um nome (ex: `N8N_Nova_Venda`).
    *   Defina o "Tópico" como "Pedido criado" (`order.created`).
    *   Cole o "Webhook URL" do N8N no campo "URL de entrega".
    *   Selecione o formato do payload como JSON.
    *   Envie um pedido de teste no e-commerce para que o N8N possa capturar o payload e inspecionar a estrutura dos dados.

3.  **Processamento e Envio para CRM no N8N:**
    *   Após a captura do payload, inspecione a estrutura JSON recebida no nó "Webhook" do N8N.
    *   Adicione um nó "Set" para extrair e renomear campos importantes para o Pipedrive.
        *   `order.billing.first_name` para `firstName`
        *   `order.billing.last_name` para `lastName`
        *   `order.billing.email` para `email`
        *   `order.total` para `dealValue`
        *   `order.id` para `orderId`
    *   Adicione um nó "Pipedrive" para criar um novo negócio (Deal).
    *   Conecte sua conta do Pipedrive (via API Key).
    *   Configure o nó para a operação "Create Deal".
    *   Mapeie os campos de entrada do nó "Set" para os campos correspondentes no Pipedrive:
        *   `Title`: `Novo Pedido #{{ $json.orderId }} - {{ $json.firstName }} {{ $json.lastName }}`
        *   `Value`: `{{ $json.dealValue }}`
        *   `Currency`: `BRL`
        *   `Person Email`: `{{ $json.email }}` (Isso criará ou associará uma pessoa automaticamente)
        *   `Stage`: Selecione o ID da etapa de "Novo Lead" ou "Prospecção" no seu Pipedrive.
    *   **Opcional - Idempotência**: Adicione um nó "Code" ou um nó de banco de dados para verificar se `orderId` já foi processado para evitar duplicação em caso de retries.

4.  **Tratamento de Erros e Logs:**
    *   Adicione um nó "Respond to Webhook" no final do fluxo para enviar um status HTTP 200 OK de volta ao WooCommerce, indicando que o webhook foi recebido, mesmo que o processamento interno falhe (para não gerar retries indesejados no WooCommerce).
    *   Utilize o nó "Log" para registrar os payloads processados e os resultados das operações do CRM.
    *   Configure notificações por e-mail ou Slack (usando um nó "Send Email" ou "Slack") em caso de falha na criação/atualização do CRM, incluindo o payload original para depuração.

**Exemplo de Payload (WooCommerce simplificado):**

```json
{
  "id": 12345,
  "status": "processing",
  "currency": "BRL",
  "total": "199.90",
  "customer_id": 678,
  "billing": {
    "first_name": "Maria",
    "last_name": "Santos",
    "address_1": "Rua Exemplo, 123",
    "city": "São Paulo",
    "state": "SP",
    "postcode": "01000-000",
    "country": "BR",
    "email": "maria.santos@exemplo.com",
    "phone": "11999998888"
  },
  "line_items": [
    {
      "id": 1,
      "name": "Produto X",
      "product_id": 987,
      "quantity": 1,
      "total": "199.90"
    }
  ],
  "date_created": "2024-07-26T15:30:00"
}
```

---

## Templates

### Template 1: Configuração de Webhook para Notificação de Evento (JSON)

Este é um exemplo de um corpo de requisição HTTP POST para um webhook, formatado em JSON, que um sistema de origem enviaria ao disparar um evento.

```json
{
  "event_type": "new_user_registration",
  "timestamp": "2024-07-26T14:30:00Z",
  "payload": {
    "user_id": "usr_abc123",
    "email": "novo.usuario@exemplo.com",
    "name": "Carlos Nogueira",
    "source": "website_signup_form",
    "metadata": {
      "ip_address": "203.0.113.45",
      "browser": "Chrome",
      "os": "macOS"
    }
  },
  "signature": "sha256=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x3y4z5a6b7c8d9e0f1"
}
```

### Template 2: Prompt para Claude para Ajuda em Depuração de Webhook no Zapier

Este prompt auxilia na depuração de um problema de webhook no Zapier, fornecendo contexto e solicitando uma análise detalhada.

```
Sou um especialista em automação e estou enfrentando um problema de depuração com um webhook no Zapier.
O sistema de origem (Plataforma de E-learning) está enviando dados quando um aluno conclui um curso, mas meu Zap não está criando o certificado no Google Drive corretamente.

**Detalhes:**
- **Zapier Trigger:** Catch Hook (Webhook)
- **Payload Capturado (Zapier - Teste de Trigger):**
```json
{
  "studentId": "S-007",
  "studentName": "Laura Mendes",
  "studentEmail": "laura.mendes@email.com",
  "courseTitle": "Introdução à Programação Python",
  "completionDate": "2024-07-25",
  "score": 95,
  "certificateUrl": null
}
```
- **Ação do Zapier:** Google Drive - Create File From Text
  - **File Name:** `Certificado - {{studentName}} - {{courseTitle}}`
  - **File Content:**
    ```
    CERTIFICADO DE CONCLUSÃO
    Este certifica que {{studentName}} concluiu o curso de "{{courseTitle}}"
    com a pontuação de {{score}}%.
    Data de Conclusão: {{

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.