Configurar um webhook
Envia as respostas da pesquisa para o seu próprio endereço e confere se o seu servidor as recebeu
Skill grátis para Claude Code, Codex, Cursor e Gemini CLI. Funciona pelo servidor MCP do SurveyNinja, com as suas permissões.
- Categoria
- Fazer as respostas chegarem
- Tags
- webhook, integrações
- Funciona com
- Claude Code, Codex, Cursor, Gemini CLI
- Ferramentas MCP
- 11, 6 alteram dados
- Versão
- 1.0.1, 20 de outubro de 2026
- Feita por
- SurveyNinja
- Preço
- Grátis
- Veja também
- Integração com webhooksIntegração com Zapier
- Arquivo da skill
- SKILL.md
O que ela faz
- As respostas vão direto para o seu sistema. Cada resposta é enviada como requisição HTTP para o seu endereço, com os campos e os nomes de que você precisa.
- A entrega é conferida. Depois da primeira resposta, a skill lê o registro de entregas: o código e o retorno do servidor.
- As chaves de acesso ficam fora do chat. As chaves de acesso do seu sistema vão nos cabeçalhos do webhook dentro do app. Você nunca precisa ditá-las para o assistente.
Exemplo
Você escreve
Configure um webhook para enviar as respostas para o nosso servidor
O que o assistente traz
- 3
- Camposde nove perguntas
- não
- Incompletas
- 47
- Entregasnesta semana
- 0
- Erros
- https://crm.example.com/hooks/survey POST, respostas completas, ligado
- phone ← Seu telefone campo renomeado
- rating ← Qual é a sua satisfação? campo renomeado
- Authorization: *** cabeçalho, valor oculto
- Última entrega 30 de setembro, 14:02, o servidor respondeu 200
O webhook funciona. Se o servidor começar a responder 4xx, o assistente não reenvia às cegas. Primeiro se resolve a causa, depois vem o reenvio.
O endereço e os campos são um exemplo. A configuração é montada para o seu sistema.
Como funciona
- Confere o que já existeUm segundo webhook para o mesmo endereço quase sempre é um erro. O assistente confere a lista antes de criar qualquer coisa.
- Pede as quatro coisas sem as quais nada funcionaO endereço, o método, quais campos enviar e como eles se chamam. Os nomes dos campos batem com o seu sistema graças à renomeação.
- Cuidado com respostas incompletasSe você também quer as abandonadas, elas saem com atraso. Senão, a pessoa que volta para terminar chega duas vezes.
- Lê o registro de entregas200 quer dizer que funciona, 4xx que o servidor recusou a requisição e 5xx que o erro é do lado dele. Nada é reenviado enquanto o servidor continuar falhando.
Experimente também
- Envie o telefone da pesquisa para o nosso CRM num campo chamado phone
- Confira se as respostas estão chegando pelo webhook
O que ela não faz
- Não criar um segundo webhook para o mesmo endereço.
- Não enviar todas as perguntas.
- Não pedir para a pessoa ditar chaves de acesso no chat.
- Não ligar um webhook que foi desligado de propósito.
- Não sugerir troca de plano nem levar ao pagamento.
A skill funciona com as suas permissões. As ferramentas que alteram dados vêm marcadas, então você confere o que o assistente vai fazer antes de confirmar. Para cortar o acesso, remova o conector no assistente ou apague a chave de API.
Em resumo
Os webhooks estão no meu plano?
A skill confere isso primeiro, porque os webhooks não estão em todos os planos. Se não estiverem disponíveis, ela avisa na hora e para.
O que preciso informar?
Quatro coisas: o endereço (público, com http ou https), o método (quase sempre POST), quais campos enviar e como o seu sistema os chama.
Os campos podem ter o nome que o meu sistema espera?
Sim. Se o seu sistema espera phone e a pergunta se chama Seu telefone, a skill renomeia o campo no envio. A pergunta na pesquisa continua igual.
As respostas abandonadas são enviadas?
Por padrão, só as completas. Se você também quer as abandonadas, a skill envia com atraso de 1, 6, 12 ou 24 horas, para que quem volta para terminar não chegue duas vezes.
Como sei que o webhook funciona?
Um webhook novo é criado desligado, e a skill liga quando você confirma que o seu servidor está pronto. Depois da primeira resposta ela lê o registro: 200 quer dizer que funciona, 4xx que o servidor recusou a requisição e 5xx que o erro é do lado dele. Registro vazio quer dizer que ainda não houve respostas.
Como passo uma chave de acesso do meu sistema?
Não cole no chat. Coloque as chaves nos cabeçalhos do webhook dentro do app. O assistente só vê os valores escondidos por asteriscos.
A skill completa
O arquivo SKILL.md que o assistente lê, exatamente como está no arquivo para download.
Ver o texto completo
Webhook: responses to your own address
A webhook is the most direct way to get responses into your own system: every response goes out as an HTTP request to the given address. It is quick to set up and quiet when it breaks, so order matters more than speed here.
Reply to the person in the language they write in.
1. Check that webhooks are available
get_workspace_tariff (the workspace_id comes from get_workspace_list):
webhooks are not part of every plan. If they are not available, say so right away
and stop. Creating and switching on a webhook check the plan too, but collecting
the address, method, fields and headers only to hit a refusal at the last step
wastes the conversation.
If the target is Zapier, a webhook is not needed: SurveyNinja has a Zapier
integration. The zap is built in Zapier, and manage_quiz_zapier shows whether
sending is on and switches it.
2. See what already exists
get_quiz_webhooks lists the survey's webhooks, whether each is on, and whether one
switched itself off after a run of failed deliveries. A second webhook to the same
address is almost always a mistake, not a wish: check before creating.
3. Find out four things
Nothing can be created without them:
| What | Why |
|---|---|
| Address | where to send; a public http or https address (internal addresses are rejected), and the receiver must answer 2xx |
| Method | post almost always; get, put, patch if the receiver demands it |
| Which fields | a contact and two or three key answers beat the whole questionnaire and are easier for the receiver |
| Field names | if the system expects phone and the question is "Your phone", rename it with body_naming |
Question names and identifiers come from get_quiz_structure.
4. Create and switch on
create_quiz_webhook: a title (for the person, to tell webhooks apart), address,
method, fields (body), renaming (body_naming) and headers (headers, where the
receiver's access keys go).
Unfinished responses: incomplete and hours. By default only finished ones
are sent. If abandoned ones are wanted too, send them with a delay of 1, 6, 12 or 24
hours; otherwise a person who comes back to finish arrives twice.
A new webhook is created switched off. Tell the person, and once they confirm
the receiver is ready, turn it on with toggle_quiz_webhook.
5. Verify delivery
After the first response, read get_quiz_webhook_logs: the receiver's response code
and body. 200 means it works. 4xx means the receiver rejected it, usually because
of the address, the method or the body format. 5xx is an error on their side. An
empty log means no responses yet, which is not an error.
Do not resend with resend_quiz_webhook_log while the receiver answers with an
error: the same thing will happen again. Once it is fixed, resend one entry by
log_id or every entry over a period.
Change, disable, delete
- Fix the address or fields with
update_quiz_webhook. Fields you do not pass keep their values, so send only what changes.headersis replaced as a whole list, and header values come back masked: to change one header, ask the person for the others again, or leaveheadersout entirely. - A webhook that switched itself off after failures comes back on with
toggle_quiz_webhook, once the receiver is fixed. - To pause while they fix their side, switch it off with
toggle_quiz_webhookrather than deleting it. - Delete with
delete_quiz_webhookonly on a direct request: the settings, headers and delivery log are gone for good.
What not to do
- Do not create a second webhook to the same address without asking.
- Do not send every question when there are many. The receiver needs the right fields.
- Do not ask the person to dictate access keys into the chat. Ask them to put the keys into the webhook headers in the app, or insert only what they sent themselves.
- Do not enable a webhook that was disabled on purpose.
- Do not suggest a plan upgrade or lead to payment. If a limit is hit, state the fact and stop.
Mais skills
Todas as skills- Por que as respostas não chegam Descobre por que as respostas não chegam ao seu Telegram, Google Sheets, Zapier ou webhook, e o que fazer
- Qualidade dos leads Conta quem deixou um contato que você consegue usar de verdade
- Avisos de novas respostas Configura os avisos de novas respostas, por e-mail ou no Telegram, e resolve quando eles param de chegar
- Análise de variantes A/B Diz se a diferença entre as variantes é real ou só ruído
- Auditoria do espaço de trabalho Mostra em um relatório onde o seu espaço de trabalho está perdendo respostas, armazenamento e atenção
- Revisão antes do lançamento Encontra o que vai quebrar com respondentes reais enquanto o link ainda não foi enviado
Conecte o SurveyNinja ao seu assistente
O servidor MCP funciona em todos os planos, inclusive no Free. Crie sua conta, permita o acesso e peça ao assistente para montar a primeira pesquisa.
25 perguntas para clientes de agências de viagens após o retorno