Quem recruta conhece dois silêncios. O do candidato que mandou currículo e nunca soube se alguém abriu — e que, por isso, aceita a primeira proposta que aparecer. E o da cadeira vazia às 14h de terça, com o gestor bloqueado na agenda e o painel de entrevistas montado para quem não veio nem avisou.
Os dois silêncios têm a mesma origem: comunicação que depende de alguém ter tempo de escrever. Uma API de WhatsApp tira essa dependência. O zapon expõe uma API REST direta — header token, JSON entrando e saindo — que o seu sistema de recrutamento, o formulário de vagas do site ou a rotina de triagem chamam como chamariam qualquer serviço. A seguir: os quatro momentos que sustentam um processo seletivo, os endpoints em cURL e Node, o evento que chega quando o candidato responde ou manda um documento, e o que uma mensagem de RH não pode dizer de jeito nenhum.
A dor: o candidato no escuro e a agenda do gestor desperdiçada
Por que o candidato some entre a inscrição e a entrevista?
Porque quem procura emprego está em vários processos ao mesmo tempo e trabalha com o que tem: informação. Sem retorno, ele assume que foi descartado e segue adiante — inclusive aceitando outra colocação na semana em que você ia chamá-lo. Um aviso curto dizendo que a inscrição chegou e qual é o próximo passo custa uma linha de código e muda o comportamento de quem está do outro lado.
São quatro pontos onde o processo vaza, e cada um custa de um jeito:
- A inscrição sem confirmação. O candidato não sabe se o currículo chegou; a empresa parece desorganizada antes mesmo da primeira conversa.
- O convite que não é respondido. E-mail de convite cai em caixa cheia ou em promoções. O recrutador liga três vezes, deixa recado e continua sem saber se aquele horário está de pé.
- A falta na entrevista. Um painel com gestor e liderança técnica desmontado por uma ausência custa muito mais do que a hora do recrutador.
- A admissão que atrasa por documento faltando. A pessoa foi aprovada, aceitou, e a data de início escorrega porque falta um comprovante que ninguém pediu com clareza.
Por que o e-mail não resolve a comunicação com o candidato?
Porque a taxa de leitura não é comparável. Mensagem no WhatsApp é lida em minutos, inclusive por quem está no meio de um expediente e não pode abrir o computador — perfil de boa parte das vagas operacionais. Isso não elimina o e-mail: o convite formal, com endereço, orientação e anexo, continua fazendo sentido lá. O que o WhatsApp resolve é o aviso curto e a resposta rápida — "recebemos", "confirma esse horário?", "é hoje às 14h" —, que é justamente o que trava quando depende de alguém digitar um a um.
O que o RH precisa ter antes do primeiro envio
O que é preciso para avisar candidato por WhatsApp automaticamente?
Três coisas: um número de WhatsApp da empresa dedicado ao recrutamento, uma conexão no zapon com esse número lido por QR Code ou código de pareamento, e um lugar que saiba das etapas — o sistema de recrutamento, o formulário de vagas ou uma planilha de candidatos. Não é preciso servidor próprio, conta na Meta, aprovação de template nem aplicativo instalado em aparelho nenhum.
- Um número institucional identificável. Idealmente o número que aparece na página de carreiras da empresa, para que o candidato consiga confirmar que a mensagem é legítima. Nunca o celular pessoal de um recrutador: além de misturar vida e trabalho, some com o histórico quando a pessoa muda de emprego.
- Uma conexão por número. Cada conexão tem o seu
token, credencial de todas as chamadas daquele número. Empresa que faz recrutamento em mais de uma unidade ou em mais de uma marca costuma manter uma conexão para cada, com webhooks separados.
- Etapas com data. Inscrição recebida, entrevista marcada para tal dia e hora, documentação com prazo de entrega. A automação só consegue avisar o que está registrado em algum campo.
Isso vale para consultoria de recrutamento, e não só para RH interno?
Vale, com um cuidado extra de identificação. Quando quem escreve é uma consultoria, o candidato precisa saber logo na primeira linha quem está falando e para qual empresa — ou para qual tipo de vaga, quando o cliente é confidencial. Mensagem de número desconhecido citando uma vaga sem dizer quem enviou é indistinguível de abordagem fraudulenta, e a pessoa faz bem em desconfiar.
Os quatro momentos do processo seletivo, passo a passo
Como funciona a comunicação automática com o candidato ponta a ponta?
Cinco etapas: (1) a inscrição recebida gera uma confirmação imediata com o nome da vaga e o próximo passo; (2) o convite de entrevista sai com data, horário, formato e endereço, pedindo confirmação em um toque; (3) no dia, um lembrete curto com o essencial; (4) para quem avança à admissão, a lista de documentos vai por escrito, e os arquivos voltam pelo mesmo canal; (5) toda resposta chega por webhook e move o candidato de etapa no sistema.
Comece pela confirmação de inscrição: é a de menor risco, a mais barata de escrever e a que mais muda a percepção do candidato sobre a empresa.
1. O que escrever quando o currículo chega?
Uma mensagem curta, enviada em minutos, com três informações: que a inscrição foi registrada, para qual vaga, e o que acontece em seguida — inclusive o prazo aproximado de retorno da triagem. Se a empresa não devolve resposta a quem não avança, diga isso; é mais honesto do que deixar a pessoa esperando por semanas.
Esta mensagem não é avaliação. Ela não diz que o perfil é interessante, não sugere que a pessoa está bem posicionada e não promete entrevista. Confirma um recebimento — nada mais. Frase entusiasmada em confirmação automática cria expectativa que a triagem vai desfazer depois.
2. Como convidar para a entrevista com confirmação por botão?
O convite precisa de: nome da vaga, data, horário, duração aproximada, formato (presencial ou remoto), endereço com referência ou a informação de que o link será enviado, e o nome de quem vai conduzir. Depois disso, três botões — Confirmo, Outro horário e Não vou seguir — e a resposta chega amarrada ao candidato certo.
O terceiro botão é o que muita empresa evita e é o mais útil dos três: candidato que desiste com dois dias de antecedência libera a vaga na agenda do gestor para outro nome da lista. Desistir precisa ser fácil, ou a pessoa simplesmente não aparece — e aí ninguém aproveita o horário.
O convite não é proposta. Ele não menciona remuneração, benefício, jornada, tipo de contratação ou data de início, e não afirma nem sugere que a pessoa será contratada. Tudo isso é tratado nas etapas formais do processo, pelos canais que a empresa usa para isso, com quem responde por essas condições.
3. Como é o lembrete no dia da entrevista?
Curto e logístico. Horário, endereço ou link, nome de quem recebe, o que levar (documento com foto, geralmente) e quanto tempo antes chegar. Nada de repetir o convite inteiro: quem já confirmou não precisa reler tudo, precisa saber para onde ir.
Uma regra de implementação que evita constrangimento: o lembrete lê a situação do candidato no momento do envio. Se ele desistiu ontem, se a entrevista foi remarcada ou se o processo foi cancelado, a mensagem não sai. Lista montada na véspera é a causa número um de "recebi lembrete de uma entrevista que eu já tinha cancelado".
4. Como organizar a documentação da admissão?
Depois que a contratação foi formalizada pelos canais próprios da empresa, o WhatsApp vira um ótimo canal de logística: a lista de documentos, um por linha, com o formato aceito e o prazo de entrega. E o candidato responde com as fotos ali mesmo — o webhook entrega cada arquivo, o seu sistema anexa ao cadastro e marca o item como recebido.
Dois limites que valem mais do que a comodidade. Primeiro: nada de dado bancário ou de documento sensível pedido por mensagem sem que a pessoa tenha como verificar que é a empresa — esse é exatamente o roteiro do golpe de vaga falsa, e o candidato precisa poder confirmar por um canal oficial antes de enviar qualquer coisa. Segundo: a mensagem organiza a entrega, mas não estabelece condição nenhuma da relação de trabalho. Ela remete ao que já foi formalizado, e não substitui documento nenhum.
5. O que o RH faz com a resposta?
O webhook entrega, a sua regra interpreta e a ação acontece no seu sistema: o candidato muda de etapa, a agenda do gestor é liberada, o item da lista de documentos é marcado como recebido e o pedido de descadastro grava um campo que todas as rotinas consultam. O que a regra não reconhecer vira pendência nominal do recrutador daquela vaga, com telefone, código do processo seletivo e o texto do candidato.
Os endpoints que o RH usa na prática
Quais endpoints do zapon cobrem um processo seletivo?
Quatro dão conta: POST /chat/send/text para confirmações e lembretes, POST /chat/send/buttons para o convite de entrevista, POST /chat/send/document para a lista de documentos ou orientações em PDF, e POST /user/check para conferir quais telefones das inscrições têm WhatsApp. Todos na base https://api.zapon.dev, com o header token. São 49 endpoints publicados, todos com schema — o processo seletivo vive nesses quatro.
A autenticação é um header só, token, copiado da conexão no painel: não é Authorization, não é Bearer, não há OAuth. Trate como credencial de sistema — quem tem o token escreve em nome da empresa, para candidatos.
Como confirmar o recebimento do currículo pela API?
Um POST em /chat/send/text com dois campos obrigatórios: Phone, o número em formato internacional só com dígitos, e Body, o texto.
confirmação de inscrição — cURL
curl -X POST https://api.zapon.dev/chat/send/text \
-H "token: SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"Phone": "5511999999999",
"Body": "Olá, Camila. Aqui é o RH da Empresa Exemplo.\n\nSua inscrição para a vaga de Assistente Administrativo (código 2181) foi registrada hoje.\n\nA triagem leva cerca de 10 dias úteis. Se o seu perfil avançar, entramos em contato por este mesmo número para combinar a entrevista.\n\nEste é um canal de recrutamento: nunca pedimos pagamento, depósito ou compra de material em nenhuma etapa."
}'
A resposta traz o identificador da mensagem dentro do WhatsApp:
retorno do envio
{
"code": 200,
"success": true,
"data": {
"Details": "Sent",
"Id": "90B2F8B13FAC8A9CF6B06E99C7834DC5",
"Timestamp": "2026-03-10T14:03:52-03:00"
}
}
Guarde esse Id junto do candidato. Ele prova qual mensagem saiu e quando, e impede que uma reprocessagem da fila de inscrições mande a mesma confirmação duas vezes para a mesma pessoa.
Como enviar o convite de entrevista com botões?
O /chat/send/buttons envia botões de resposta rápida, com rótulo curto — o WhatsApp corta texto longo, então até vinte caracteres é a regra prática. Cada botão carrega um id definido por você: coloque o código do candidato no processo ali dentro e a resposta volta identificada, sem interpretar texto. Além da resposta rápida, o mesmo endpoint monta botão que abre um link ("type": "cta_url"), botão que abre o discador ("type": "cta_call") e botão que copia um código ("type": "copy") — e os tipos convivem na mesma mensagem. O toque em resposta rápida volta no webhook; os outros três agem no aparelho de quem recebe.
convite de entrevista
POST https://api.zapon.dev/chat/send/buttons
token: SEU_TOKEN
{
"Phone": "5511999999999",
"Body": "Camila, seu perfil avançou na vaga de Assistente Administrativo (2181).\n\nEntrevista: 19/03 (quinta), às 14h, presencial, cerca de 40 minutos\nOnde: Rua das Oliveiras, 55 — recepção do 2º andar\nCom: Renata, do RH\n\nPodemos confirmar esse horário?",
"Footer": "RH — Empresa Exemplo",
"Buttons": [
{ "id": "c2181-4407|confirmo", "text": "Confirmo" },
{ "id": "c2181-4407|outro", "text": "Outro horário" },
{ "id": "c2181-4407|desisto", "text": "Não vou seguir" }
]
}
Repare no que o convite não traz: nenhuma condição de contratação, nenhum valor, nenhuma promessa. Ele marca uma conversa. Para oferecer mais de três horários, o /chat/send/list entrega um menu em lista.
Como mandar a lista de documentos da admissão em PDF?
O /chat/send/document recebe o arquivo em data URI base64, o nome com que ele aparece na conversa e uma legenda opcional. Nome de arquivo é parte da mensagem: documentos-admissao-empresa-exemplo.pdf se explica sozinho na lista de mídia do candidato; lista.pdf não.
checklist de admissão — cURL
curl -X POST https://api.zapon.dev/chat/send/document \
-H "token: SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"Phone": "5511999999999",
"Document": "data:application/pdf;base64,JVBERi0xLjQKJcfs…",
"FileName": "documentos-admissao-empresa-exemplo.pdf",
"Caption": "Lista dos documentos da admissão, com o formato aceito de cada um. Pode enviar as fotos por aqui, uma de cada vez. Em caso de dúvida, confirme pelo telefone da recepção que está na página de carreiras antes de enviar qualquer documento."
}'
Como disparar os lembretes das entrevistas do dia?
O padrão é uma rotina agendada que roda de manhã cedo, busca as entrevistas do dia e chama a API. Em Node:
lembrete de entrevista — Node
// entrevistas-hoje.js — roda todo dia útil às 8h
const API = "https://api.zapon.dev";
const TOKEN = process.env.ZAPON_TOKEN;
async function enviarTexto(phone, body) {
const r = await fetch(`${API}/chat/send/text`, {
method: "POST",
headers: { "token": TOKEN, "Content-Type": "application/json" },
body: JSON.stringify({ Phone: phone, Body: body })
});
const json = await r.json();
if (!r.ok || !json.success) throw new Error(json.error || `HTTP ${r.status}`);
return json.data.Id;
}
const pausa = (ms) => new Promise((r) => setTimeout(r, ms));
for (const e of await entrevistasDeHoje()) {
const atual = await situacaoAtual(e.candidatoId); // lê AGORA, não na véspera
if (atual !== "entrevista_confirmada") continue; // desistiu ou remarcou
if (e.candidato.semMensagens || e.lembreteEnviado) continue;
try {
const id = await enviarTexto(e.candidato.telefone,
`${e.candidato.nome}, sua entrevista é hoje às ${e.hora}.\n\n` +
`${e.local}\nCom ${e.entrevistador}\nLeve um documento com foto e chegue 10 minutos antes.\n\n` +
`Se não conseguir vir, responda por aqui — conseguimos remarcar.`);
await marcarLembrete(e.id, id);
} catch (err) {
await registrarFalha(e.id, "lembrete", String(err)); // vira tarefa do recrutador
}
await pausa(4000); // o painel inteiro no mesmo segundo não parece gente
}
Três detalhes desse laço evitam o erro que mais irrita candidato. A leitura da situação no instante do envio impede lembrete de entrevista já cancelada. O marcarLembrete garante um lembrete por entrevista, mesmo que a rotina rode duas vezes. E o intervalo entre envios mantém um ritmo compatível com uma equipe de recrutamento de verdade.
Como conferir se os telefones das inscrições têm WhatsApp?
Formulário de vaga aceita o que a pessoa digitar, e digitar telefone errado no celular é comum. O POST /user/check recebe uma lista e diz quais têm conta no WhatsApp — serve para separar, antes do disparo, quem precisa ser contatado por outro canal.
conferir telefones das inscrições — cURL
curl -X POST https://api.zapon.dev/user/check \
-H "token: SEU_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "Phone": ["5511999999999", "5511888888888"] }'
// resposta
{ "code": 200, "success": true, "data": { "Users": [
{ "Query": "5511999999999", "IsInWhatsapp": true, "JID": "[email protected]" },
{ "Query": "5511888888888", "IsInWhatsapp": false, "JID": "" }
] } }
A resposta do candidato: webhook, regra e ação
Como a confirmação do candidato chega ao sistema de recrutamento?
Cada conexão tem um webhook próprio: você cadastra no painel a URL do seu sistema e escolhe os eventos. A partir daí, toda mensagem recebida naquele número vira um POST nessa URL, com o conteúdo inteiro no corpo — telefone, identificador, horário, texto e, quando é resposta de botão, o id que você definiu. Documento enviado pelo candidato chega com o bloco correspondente, para o seu sistema anexar ao cadastro.
São três partes que não se confundem: o webhook entrega o evento, a sua regra interpreta e a ação acontece no seu sistema. A API não sabe o que é vaga nem o que é etapa; sabe que uma mensagem chegou naquele número.
Qual é o formato do evento de mensagem recebida?
O corpo traz o tipo do evento e a mensagem completa. Assim chega quem escreveu "consigo sim":
webhook — mensagem recebida
{
"type": "Message",
"event": {
"Info": {
"ID": "3EB0C767D26A1B5F7C83",
"Chat": "[email protected]",
"Sender": "[email protected]",
"IsFromMe": false, "IsGroup": false,
"PushName": "Camila Nunes",
"Timestamp": "2026-03-17T16:18:40-03:00"
},
"Message": { "conversation": "consigo sim" }
}
}
// tocando num botão, muda só o bloco Message:
"Message": { "buttonsResponseMessage": {
"selectedButtonID": "c2181-4407|confirmo",
"Response": { "SelectedDisplayText": "Confirmo" }
} }
Duas observações economizam horas de depuração. O corpo pode chegar como JSON puro ou como formulário codificado com o JSON dentro de um campo — aceite os dois. E o que o próprio número envia também gera evento, com IsFromMe igual a true: se não ignorar, o recrutador respondendo um candidato no aparelho aciona a sua automação.
Como transformar a resposta em movimento de etapa?
Descarte o que não interessa, encontre o candidato, decida pela intenção e devolva uma frase curta confirmando o que foi feito.
recebedor de eventos — Node/Express
app.post("/zapon/eventos", express.json(), async (req, res) => {
res.sendStatus(200); // responda primeiro, processe depois
const ev = req.body?.event ?? req.body, info = ev?.Info ?? {};
if (info.IsFromMe || info.IsGroup) return; // o que o RH enviou, e grupos, fora
if (await jaTratado(info.ID)) return; // o mesmo evento pode chegar 2x
const telefone = String(info.Chat || "").split("@")[0];
const botao = ev?.Message?.buttonsResponseMessage?.selectedButtonID ?? "";
const texto = (ev?.Message?.conversation ??
ev?.Message?.extendedTextMessage?.text ?? "").trim().toLowerCase();
const anexo = ev?.Message?.imageMessage || ev?.Message?.documentMessage;
if (anexo) { // documento da admissão
const adm = await admissaoEmAndamento(telefone);
if (!adm) return filaDoRecrutador(telefone, "anexo sem admissão aberta");
await anexarAoCadastro(adm.id, info.ID);
return enviarTexto(telefone, "Recebido. Marquei na sua lista e aviso se faltar algo.");
}
if (/(parar|nao quero mais|não quero mais|descadastr)/.test(texto)) {
await marcarSemMensagens(telefone); // vale para TODAS as rotinas
return enviarTexto(telefone, "Certo, não enviamos mais mensagens por aqui.");
}
const [candidato, acao] = botao ? botao.split("|") : [null, null];
if (acao === "confirmo") {
await moverEtapa(candidato, "entrevista_confirmada");
return enviarTexto(telefone, "Confirmado. Até quinta, às 14h.");
}
if (acao === "outro") {
await abrirTarefa(candidato, "oferecer novos horários");
return enviarTexto(telefone, "Sem problema. Mando outras opções de horário.");
}
if (acao === "desisto") {
await encerrarParticipacao(candidato);
await liberarAgenda(candidato); // horário volta para a fila
return enviarTexto(telefone, "Obrigado por avisar. Boa sorte nos próximos processos.");
}
return filaDoRecrutador(telefone, texto); // o resto é assunto de gente
});
E quando o candidato pergunta sobre salário, benefício ou resultado?
Ele vai perguntar — "quanto paga?", "tem vale-refeição?", "consegui a vaga?". Nenhuma dessas respostas pode sair de uma regra automática. Condições de contratação são tratadas nas etapas formais, por quem responde por elas, e resultado de processo seletivo é comunicação sensível que merece um ser humano do outro lado, especialmente quando é negativa. Essas mensagens viram pendência nominal do recrutador da vaga, com telefone, código do processo e o texto original. O papel da automação é sinalizar a conversa que espera alguém.
O que uma mensagem de RH nunca deve dizer
Que frases não podem aparecer numa mensagem automática de recrutamento?
Três famílias. As que prometem: "vaga garantida", "sua contratação está aprovada", qualquer afirmação sobre relação de trabalho que ainda não foi formalizada. As que negociam: remuneração, benefício, jornada, tipo de contrato ou data de início escritos por uma rotina. E as que pedem o que golpista pede: pagamento de taxa, compra de material, depósito para exame ou dado bancário sem que o candidato possa verificar a origem.
A terceira família merece atenção redobrada porque não é hipótese: abordagem falsa de recrutamento é comum, e o candidato desconfiado é o candidato certo. Ajude-o a distinguir. Escreva sempre do mesmo número, identifique a empresa na primeira linha, cite o código da vaga e inclua uma frase fixa dizendo que o processo nunca cobra nada e que ele pode confirmar pelo canal oficial da página de carreiras. Quem recruta de verdade só ganha em ser fácil de verificar.
Como tratar a recusa e o candidato que não avançou?
Se a empresa dá retorno a quem não avança — e dar é melhor —, mande uma mensagem curta, sem avaliação do perfil e sem justificativa genérica. Explicar por mensagem automática por que alguém não passou não ajuda ninguém e costuma soar pior do que o silêncio. Diga que o processo seguiu com outros candidatos, agradeça o tempo e informe o que acontece com os dados dele daqui em diante.
Consentimento, banco de talentos e uso responsável
- Fale do processo em que a pessoa se inscreveu. Confirmação, convite, lembrete e admissão são comunicação esperada: ela deu o telefone justamente para isso. Divulgar vagas novas para quem se inscreveu num processo antigo é outra coisa e pede consentimento específico, registrado, com data.
- Banco de talentos tem prazo. Guardar currículo por tempo indefinido e escrever para alguém dois anos depois surpreende mal. Defina por quanto tempo os dados ficam, diga isso na confirmação de inscrição e apague quando o prazo vencer.
- Horário compatível. Muitos candidatos estão empregados e não podem receber mensagem de recrutamento no meio de uma reunião. Concentre os envios no horário comercial e evite fim de semana, exceto para lembrete de entrevista que acontece no próprio sábado.
- Descadastro que vale para tudo. Quem pede para parar não recebe mais nada, em nenhuma rotina. Grave num campo consultado antes de cada envio — foi o que o
semMensagens fez no exemplo — e revise a fila de exceções todo dia, porque o pedido chega em qualquer palavra.
Sobre bloqueio de número, sem promessa mágica. Mensagem não pedida aumenta o risco: quando muita gente denuncia ou bloqueia um número, o WhatsApp age — e um número de recrutamento bloqueado leva junto as conversas de todos os processos abertos. Esse risco existe em qualquer API, inclusive na oficial da Meta, e não se elimina; só se reduz falando com quem se inscreveu, mantendo volume e ritmo compatíveis com o tamanho da operação, respondendo quem responde e parando de enviar para quem pediu para sair. Quem promete que o número nunca será bloqueado não está sendo honesto.
Preço, conexão e o que o painel mostra
Quanto custa para uma equipe de RH com um número?
R$ 27 por mês por número conectado, sem cobrança por mensagem: o valor não muda entre 100 e 8.000 mensagens no mês. O limite fica no ritmo diário — 300 mensagens por número conectado —, teto que evita que um lote de convocações seja lido pelo WhatsApp como disparo e derrube o número do RH. O teste é de 14 dias sem cartão e só começa a contar na primeira conexão — dá para criar a conta, integrar com o sistema de recrutamento com calma e conectar o número quando a rotina estiver pronta.
Recrutamento é o caso em que cobrança por mensagem mais atrapalha, porque o volume é irregular: um mês de vaga aberta em massa gera milhares de confirmações de inscrição e o mês seguinte quase nenhuma. Com valor fixo por número, ninguém precisa decidir se vale a pena confirmar o recebimento de currículo — e essa é justamente a mensagem que muda a percepção do candidato. Com marcas ou unidades separadas, é uma conexão para cada, e o seu sistema escolhe de qual número a mensagem sai trocando o header token.
Como sei que a conexão continua de pé?
O painel mostra o estado de cada conexão e atualiza a cada 10 segundos enquanto a página está aberta. Para não depender de alguém olhando a tela, assine os eventos de conexão no webhook: Disconnected avisa a queda e LoggedOut avisa que o número precisa reler o QR Code. E quando uma chamada de envio falhar, registre numa lista visível — foi o papel do registrarFalha — e faça alguém conferir essa lista todo dia. Convite de entrevista que não saiu precisa virar tarefa, não silêncio.
Perguntas frequentes
Funciona com o sistema de recrutamento que a empresa já usa?
Funciona sempre que esse sistema conseguir fazer uma chamada HTTP ou expor os dados de alguma forma. Se ele tem área de integrações, chama a API direto quando a inscrição entra e quando a entrevista é marcada. Se é fechado, leia os dados por fora — relatório, banco, exportação — e dispare com uma rotina ou uma ferramenta de automação no meio.
Posso mandar salário e benefícios na mensagem de convite?
Não pela automação. Condições de contratação são tratadas nas etapas formais do processo, por quem responde por elas. O convite marca uma conversa: vaga, data, horário, formato, local e quem conduz. Escrever condição numa mensagem automática cria expectativa que a empresa terá de administrar depois.
Como o candidato sabe que a mensagem é mesmo da empresa?
Escrevendo sempre do mesmo número, identificando a empresa na primeira linha, citando o código da vaga em que ele se inscreveu e incluindo uma frase fixa de que o processo não cobra nada e pode ser confirmado pelo canal oficial da página de carreiras. Facilitar a verificação é responsabilidade de quem recruta.
Dá para receber os documentos da admissão por WhatsApp?
Dá. Quando o candidato responde com imagem ou arquivo, o webhook entrega o evento com o bloco correspondente e o seu sistema anexa ao cadastro e marca o item como recebido. Envie a lista com o formato aceito de cada documento e oriente a pessoa a confirmar a origem da solicitação por um canal oficial antes de enviar qualquer coisa.
Posso escrever para quem está no banco de talentos de anos atrás?
Só se houver consentimento específico e vigente para isso, com prazo definido e registrado. Inscrição num processo antigo não autoriza divulgação de vagas novas por tempo indeterminado. Defina o prazo de guarda, informe isso na confirmação de inscrição e apague os dados quando o prazo terminar.
Quanto custa e quantas mensagens por dia o número aguenta?
R$ 27 por mês por número conectado, sem cobrança por mensagem, com cota de 300 mensagens por dia por número conectado. Numa triagem grande isso significa espalhar as convocações por mais de um dia — que é justamente o que mantém o número do RH vivo. O teste é de 14 dias sem cartão e só começa a contar quando você conecta o primeiro número.
O WhatsApp pode bloquear o número de recrutamento?
Pode — em qualquer API, inclusive na oficial da Meta. O risco não é eliminável, é gerenciável: fale com quem se inscreveu, não transforme o banco de currículos em lista de divulgação, mantenha volume compatível com o tamanho da operação e pare de enviar para quem pediu para sair. O que dispara bloqueio é mensagem não solicitada em massa, não o uso de API.
Preciso da API oficial da Meta ou de conta WhatsApp Business?
Não. O número é conectado por QR Code ou código de pareamento, sem fila de aprovação, sem cadastro de template e sem custo por mensagem. Em compensação, a boa conduta do número é responsabilidade da empresa.