Configure em Comunicação → Webhooks outbound. Cada evento é enviado como POST JSON.
Visão geral da API (auth, sync Make/Zapier, REST): vagafit.net/api.
Inbound (Make → VagaFit): sync de colaboradores e sucessão / 9-Box usam o mesmo webhook_secret no header X-VagaFit-Sync-Secret.
Header X-VagaFit-Signature = HMAC-SHA256 do body JSON usando o secret configurado.
candidatura.criadacandidatura.status_alterado (campos de, para)candidatura.contratada / candidatura.recusadacontratacao.payload_pdi — Payload Padrão de Contratação (forças, gaps, sugestão de PDI 90 dias)email.enviadoentrevista.agendadawebhook.teste (botão Enviar teste)Ative em Configurações → 5. Avançado. Ao mover para Contratado, o VagaFit envia contratacao.payload_pdi (e inclui o mesmo bloco em candidatura.contratada.data.payload_contratacao).
{
"evento": "contratacao.payload_pdi",
"ts": "2026-07-20T15:00:00.000Z",
"candidatura_id": "CD-12345678",
"data": {
"forcas": ["Comunicação", "Ownership", "Skill alinhada: sql"],
"gaps_identificados": ["Desenvolver/aprofundar skill: python"],
"sugestao_pdi_90_dias": [
{
"titulo": "Dominar o playbook do time em 30 dias",
"prazo_dias": 90,
"origem": "okr_rampa",
"prioridade": 1,
"descricao": "..."
}
],
"colaborador": { "nome": "...", "email": "..." },
"vaga_titulo": "Product Analyst",
"score_match": 82,
"atribuicao_canal": {
"origem": "extension",
"canal_label": "Extensão VagaFit",
"veio_da_extensao": true,
"cupom_origem": "@JULIANAVAZ",
"embaixador": {
"codigo": "@JULIANAVAZ",
"nivel": "ouro",
"comissao_pct": 30
},
"beneficios_indicado": {
"trial_pro_horas": 48,
"desconto_primeiro_mes_pct": 20
},
"chaves_cruzamento": {
"candidatura_id": "CD-12345678",
"email_colaborador": "ana@empresa.com",
"vaga_id": "VG-12345678"
},
"performance_pos_contratacao": {
"fonte": null,
"metas_batidas_pct": null,
"faturamento_atribuido": null
},
"custo_contratacao_eficiente": {
"custo_canal_estimado": null,
"custo_por_contratacao": null,
"observacao": "Semente de schema. Cruze origem com Mereo no Make."
}
}
}
}
No Make/n8n: filtre por evento === "contratacao.payload_pdi" e mapeie os campos para o rascunho de PDI do seu software de performance.
Todo evento de candidatura (criada, status, contratada) e o payload PDI incluem
atribuicao_canal / origem:
extension, link, manual, interno, sucessao.
Quando houver cupom de embaixador (@NOME), o bloco traz também
embaixador: { codigo, nivel, comissao_pct } e
beneficios_indicado (stub Pro: 48h trial + 20% 1º mês).
Use atribuicao_canal.chaves_cruzamento.email_colaborador no Make para buscar metas/faturamento no Mereo
e comparar se hires da extensão performam melhor que outros canais.
Os campos performance_pos_contratacao e custo_contratacao_eficiente nascem null
— o VagaFit ainda não calcula ROI; o contrato já existe para você preencher na automação.
{
"evento": "candidatura.status_alterado",
"ts": "2026-06-18T20:00:00.000Z",
"candidatura_id": "CD-12345678",
"data": {
"candidatura_id": "CD-12345678",
"vaga_id": "VG-12345678",
"status_pipeline": "Em Contato",
"origem": "extension",
"atribuicao_canal": { "origem": "extension", "canal_label": "Extensão VagaFit", "veio_da_extensao": true },
"de": "Novo Lead",
"para": "Em Contato",
"candidato": { "nome": "...", "email": "..." }
}
}
Ative Incluir payload WhatsApp em Comunicação. O JSON inclui integracao.whatsapp.mensagem_sugerida para rotear no n8n → Z-API / Evolution / Twilio.
Link único em {{link_portal}} nos e-mails. Página pública: /candidato?t=TOKEN (validade 90 dias).
O ingest POST /api/talentos/ingest aceita vaga_titulo e vaga_id. A extensão envia o título da vaga do LinkedIn; o ATS vincula automaticamente com score.
Falhas ficam na aba EventosWebhook (Google Sheets) com até 5 tentativas. O cron diário reprocessa pendentes.
Além dos webhooks outbound, o VagaFit aceita sync inbound da base interna (Mereo, Sólides, planilha HRIS via Make/Zapier).
POST /api/v1/colaboradores/sync (alias /api/colaboradores-internos/sync)
X-VagaFit-Sync-Secret / Authorization: Bearer … com o mesmo valor do webhook_secret da org{ "colaboradores": [...], "full_sync": false }full_sync: true, e-mails ausentes no lote são inativadosDashboard: menu Mobilidade Interna (CSV com mapeamento IA). Docs completas: /api.
Use um nó Webhook POST, valide o header de assinatura e roteie por evento.