Leads entrando sozinhos no funil
Todo lead que chega pelo seu site, pelo anúncio ou por outra ferramenta pode cair direto no funil do Vibe Board, com a origem do anúncio. Você não copia nada à mão, e o Painel passa a mostrar quanto cada canal trouxe de verdade.
Três caminhos, do mais simples ao mais técnico
Formulário pronto
Em Ajustes › Integrações, crie um formulário e cole a linha que ele gera no seu site (WordPress, Wix, Lovable, Elementor: um bloco de HTML). Ou use o link direto na bio e no botão do anúncio. Já vem com anti-robô e lê a campanha do anúncio sozinho.
Endereço de envio
Se o seu formulário (Elementor, Webflow, um <form> próprio) consegue mandar os dados para um endereço, use o endereço de envio do formulário, com a verificação anti-robô desligada. Os nomes dos campos são flexíveis: nome, whatsapp, email…
API com chave
Para integrar de servidor para servidor. Crie uma chave de API e chame o POST /v1/leads. É o caminho para o Typeform, o Tally, o RD Station e qualquer ferramenta que fale com o Zapier ou o Make.
Tudo começa em Integrações
Formulários, chaves de API e a lista do que chegou, num lugar só.
Começar pela API
- No Vibe Board, abra Ajustes › Integrações › Chaves de API e toque em Nova chave. Dê um nome (onde ela vai ser usada) e escolha o canal em que os leads vão entrar.
- Copie a chave na hora. Ela aparece uma única vez. Se perder, revogue e crie outra.
- O endereço da API é
https://api.appvibeboard.com(está também na tela da chave). Nos exemplos abaixo, a sua chave aparece como$BD_CHAVE. - Toda chamada leva a chave no cabeçalho
Authorization: Bearer $BD_CHAVE.
Teste a conexão (é o que o botão Testar agora da tela da chave faz). A resposta traz o nome do negócio e da chave:
curl https://api.appvibeboard.com/v1/me \
-H "Authorization: Bearer $BD_CHAVE"
{
"workspace": {"id": "…", "name": "Studio da Bia"},
"key": {"id": "…", "name": "Zapier", "prefix": "bd_live_AbCdEf"}
}
Criar um lead
curl -X POST https://api.appvibeboard.com/v1/leads \
-H "Authorization: Bearer $BD_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"name": "Ana Souza",
"phone": "(11) 99999-8888",
"email": "ana@exemplo.com",
"stage_id": "mql",
"utm_source": "instagram",
"utm_campaign": "consultoria-outubro",
"objetivo": "Ganhar força"
}'
201 {"lead_id": "Q3r8LmZp0aXv2Kt9WcYh", "duplicate": false}
| Campo | O que é |
|---|---|
name obrigatório | Nome do lead. Também aceita nome. |
phone ou email um dos dois | Telefone (com DDD; sem + é tratado como Brasil) e/ou e-mail. Também aceita telefone, whatsapp, celular, e-mail. |
instagram | O @ do lead. |
channel_id | Canal em que o lead entra. Sem ele, vale o canal da chave. Os ids estão em GET /v1/channels. |
stage_id | lead (padrão) ou mql, se o lead já chega qualificado. Só esses dois: o id de outra etapa (mesmo vindo de /v1/stages) volta 400. |
external_id | O id do lead no sistema de origem. Mandar o mesmo de novo atualiza o mesmo lead (veja Repetidos). |
utm_source utm_medium utm_campaign utm_content utm_term fbclid gclid | A origem do anúncio. É o que liga o lead à campanha no Painel. |
consent_text | O texto de consentimento que a pessoa aceitou no seu formulário. Se vier preenchido, o Vibe Board registra o consentimento na ficha do lead, com a data (LGPD). Mande só quando a pessoa marcou o aceite. |
| qualquer outro campo | Vira uma resposta na ficha do lead, com o nome do campo como pergunta (até 30 campos, 2.000 caracteres cada). Vale texto, número e lista; objeto aninhado ({"endereco": {"cidade": …}}) é ignorado: no Zapier e no Make, mande cada valor num campo próprio. |
Também aceita application/x-www-form-urlencoded, além de JSON. O lead aparece no funil na hora, com "Chegou pela integração" e o nome da chave na linha do tempo.
Repetidos, atualizações e reenvios
- Mesmo telefone ou e-mail em 30 dias não cria outro lead: o envio entra na linha do tempo do lead que já existe, e só os contatos que faltavam são preenchidos. A resposta é
200com"duplicate": truee olead_idde quem já estava no funil. - Lead perdido há mais de 7 dias que volta entra como lead novo: é uma pessoa retomando o interesse.
external_id: o mesmo id manda sempre para o mesmo lead, em qualquer data.- Reenvio seguro: mande o cabeçalho
Idempotency-Keycom um id único por envio (o Zapier e o Make têm o id da execução). Se a mesma chave chegar de novo em 24 horas, a resposta é a mesma e nada é gravado de novo.
Canais e etapas
curl https://api.appvibeboard.com/v1/channels -H "Authorization: Bearer $BD_CHAVE"
{"channels": [
{"id": "paid_landing", "name": "Tráfego (Página)", "kind": "paid_landing"},
{"id": "referral", "name": "Indicação", "kind": "referral"}
]}
curl https://api.appvibeboard.com/v1/stages -H "Authorization: Bearer $BD_CHAVE"
Lista as etapas do funil. Pela API, o lead entra como lead ou mql ("accepts_new_leads": true). O resto do caminho (call, venda) acontece no Vibe Board.
Erros e limites
Todo erro vem como {"error": {"code": "…", "message": "…"}}.
| Status | code | O que fazer |
|---|---|---|
| 400 | bad-request | Falta nome, telefone ou e-mail, ou um campo é inválido. A lista vem em error.fields. |
| 401 | unauthorized | Chave ausente ou errada. Confira o cabeçalho: Authorization: Bearer bd_live_…. |
| 401 | key-revoked | A chave foi revogada. Crie outra e troque no Zapier/Make. A tentativa aparece em Recebidos. |
| 403 | subscription-inactive | A assinatura do negócio não está ativa. O envio fica registrado em Recebidos. |
| 405 | method-not-allowed | POST só em /v1/leads; o resto é GET. |
| 429 | rate-limited | Mais de 120 chamadas por minuto com a mesma chave. Espere o tempo do cabeçalho Retry-After. |
| 429 | quota-exceeded | O negócio passou de 1.000 leads no dia, somando formulários e API. Fale com a gente se precisar de mais. |
| 5xx | — | Falha nossa. Tente de novo em alguns segundos, com a mesma Idempotency-Key. |
Recusados e aceitos aparecem em Ajustes › Integrações › Recebidos por 30 dias, com o motivo. Recusados não guardam nome nem contato. A chave errada (unauthorized) não aparece lá: sem chave válida, não dá para saber de qual negócio é.
Crie a sua chave
Leva um minuto, e ela pode ser revogada a qualquer momento.
Receitas
Para conferir qualquer receita, mande um envio de teste pela própria ferramenta (o "Enviar teste" do Vibe Board testa o funil, não a sua integração) e veja em Recebidos se ele chegou e como.
Zapier
- Escolha o gatilho (ex.: "New Lead" do Facebook Lead Ads, "New Entry" do Typeform, "New Submission" do Tally).
- Ação: Webhooks by Zapier › Custom Request. Method
POST, URLhttps://api.appvibeboard.com/v1/leads, Data Pass-Through false. - Em Data, monte o JSON com os campos do gatilho:
name,phone,email, as perguntas que quiser e, se houver,external_id(o id da resposta ou do lead). - Em Headers:
Authorization=Bearer $BD_CHAVEeContent-Type=application/json. - Teste a ação. O lead aparece no funil.
Make
- Depois do módulo de origem, adicione HTTP › Make a request.
- URL
https://api.appvibeboard.com/v1/leads, MethodPOST, Body type Raw, Content type JSON (application/json). - Header
Authorization=Bearer $BD_CHAVE. Para reenvio seguro, headerIdempotency-Key= o id da execução. - No corpo, mapeie
name,phone,emaile o resto. Marque Parse response para usar olead_idnos módulos seguintes.
n8n
- Nó HTTP Request: Method
POST, URLhttps://api.appvibeboard.com/v1/leads. - Authentication: Generic Credential Type › Header Auth, com Name
Authorizatione ValueBearer $BD_CHAVE. - Send Body: JSON, com os campos do lead.
Elementor (formulário do WordPress)
- No Vibe Board, crie um formulário em Integrações e desligue a verificação anti-robô dele. Copie o endereço de envio.
- No Elementor, em Actions After Submit, adicione Webhook e cole o endereço. Deixe Advanced Data desligado.
- Dê aos campos os rótulos Nome, WhatsApp e E-mail. As outras perguntas entram como respostas, com o rótulo de cada uma.
- Mande um envio de teste e confira em Recebidos.
Prefere não mexer no Elementor? Use o formulário pronto: um bloco de HTML com a linha que o Vibe Board gera.
Typeform, Tally e RD Station
O webhook dessas ferramentas manda os dados num formato próprio, com as respostas aninhadas, que o endereço de envio não lê sozinho. Use o Zapier ou o Make no meio:
- Gatilho: "New Entry" (Typeform), "New Submission" (Tally) ou "New Lead"/"Conversion" (RD Station).
- Ação: a requisição
POST https://api.appvibeboard.com/v1/leadsdas receitas acima, com a chave noAuthorization. - No corpo, ponha cada resposta num campo:
name← a pergunta do nome,phone← a do WhatsApp,email← a do e-mail, e as outras com o nome que quiser (objetivo,cidade…). external_id← o id da resposta (assim um reenvio não duplica). Se o formulário tem aceite,consent_text← o texto do aceite.
Seu próprio formulário em HTML
Com a verificação anti-robô desligada, um <form method="post"> apontando para o endereço de envio do formulário (com ?redirect=1 no fim) funciona sem JavaScript. Depois do envio, a pessoa vê o que você escolheu em "Depois do envio": mensagem, página ou WhatsApp. Se faltar um campo obrigatório, ela vê uma página em português com o motivo e um "Voltar". O Vibe Board gera esse HTML pronto na tela do formulário.
Segurança e dados
- A chave de API é secreta. Use só de servidor para servidor (Zapier, Make, n8n, o backend da agência). Nunca a coloque no código de uma página, porque qualquer visitante veria. No site, use o formulário pronto, que não precisa de chave.
- Vazou? Revogue em Integrações. A chave para de funcionar na hora.
- Os dados dos leads são seus: você é o controlador, e o Vibe Board é o operador, como nos Termos de uso e na Política de privacidade. Mande só leads que você pode tratar (quem pediu contato, com o consentimento do seu formulário), nunca lista comprada.
- O formulário pronto e o link direto passam pelo Cloudflare (entrega da página e verificação anti-robô).
Ainda não usa o Vibe Board?
Funil, caixa e painel do seu negócio, com os leads entrando sozinhos.