Adicionar um lead e iniciar uma cadência
Cadastre um novo lead direto em uma cadência e comece a prospecção na mesma chamada, sem passos manuais.
Adicionar um lead e iniciar uma cadência
O fluxo mais comum da API: você cadastra a pessoa e já coloca ela na fila do vendedor.
Imagine que um novo contato chegou (por um formulário, uma indicação, uma conversa em evento) e você quer que ele entre na esteira de prospecção agora, sem ninguém digitar nada na plataforma.
É exatamente isso que esta página resolve. Com uma única chamada você faz duas coisas ao mesmo tempo:
- Cria o lead (a pessoa/empresa que você vai prospectar).
- Coloca esse lead em uma cadência — o nome que o GS Engage dá para a sequência de atividades de contato (ligar, mandar e-mail, mandar WhatsApp) que o vendedor segue.
Se a cadência tiver a distribuição automática ligada — ou se você indicar um responsável na própria chamada — a prospecção começa na hora e a primeira atividade já aparece para o vendedor.
Em uma frase
Uma chamada = lead criado + lead na cadência + (se possível) prospecção iniciada.
Você vai precisar de duas coisas:
A chave de API do projeto, criada em Configurações > Configurações de API. Ela vai na URL como ?apiKey=SUA_CHAVE. Veja o Quickstart se ainda não tiver a sua.
O identificador da cadência onde o lead vai entrar. É o {routineId} que aparece no caminho do endpoint. Como obter está logo abaixo.
Toda chamada é real
Não existe ambiente de teste (sandbox) separado. Cadastrar um lead por aqui cria um registro de verdade no seu projeto e pode disparar atividades para o vendedor. Ao experimentar, comece por leituras (GET) e só faça a escrita quando estiver seguro.
Você tem dois caminhos, escolha o que for mais confortável:
Liste as cadências do projeto e pegue o id da que você quer. É uma leitura, então é seguro rodar à vontade.
curl "https://api.gsengage.com/api/v1/routines?apiKey=SUA_CHAVE"A resposta traz uma lista paginada. Cada item tem um id (o seu routineId) e um name para você confirmar que é a cadência certa:
{
"data": [
{
"id": "665f1a2b3c4d5e6f7a8b9c0d",
"name": "Outbound - SDR Time A",
"status": "ACTIVE"
}
],
"meta": { "limit": 20, "count": 1, "total": 1, "page": 1, "totalPages": 1 }
}Copie o valor de id.
Abra a cadência dentro do GS Engage. O routineId aparece no endereço (URL) da página da cadência — é a sequência longa de letras e números. Copie ela e use no lugar de {routineId}.
O que é esse código comprido?
O routineId (e os outros id da API) é um identificador único de 24 caracteres. Você não precisa entender o formato — só copiar e colar exatamente como veio.
Os dados do lead vão no corpo (body) da requisição, em formato JSON. A regra de ouro:
Todo lead precisa de pelo menos um contato
Um lead não pode ser criado sem forma de contato. Você precisa informar pelo menos um item em emails, phones ou mobiles.
Os contatos ficam em três listas, e cada item tem sempre o mesmo formato — um value (o dado) e um label (um rótulo livre, ex.: "Trabalho", "Pessoal"):
| Campo | O que é | Exemplo de item |
|---|---|---|
fullName | Nome completo do lead | "Maria Silva" |
emails | Lista de e-mails | { "value": "maria@empresa.com", "label": "Trabalho" } |
phones | Lista de telefones fixos | { "value": "+551133334444", "label": "Comercial" } |
mobiles | Lista de celulares | { "value": "+5511999998888", "label": "WhatsApp" } |
Este é o gatilho: enviamos um POST para o caminho da cadência com os dados do lead no corpo. Escolha sua linguagem.
curl -X POST "https://api.gsengage.com/api/v1/routines/665f1a2b3c4d5e6f7a8b9c0d/lead?apiKey=SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"fullName": "Maria Silva",
"emails": [
{ "value": "maria@empresa.com", "label": "Trabalho" }
],
"mobiles": [
{ "value": "+5511999998888", "label": "WhatsApp" }
]
}'const apiKey = process.env.GSENGAGE_API_KEY; // guarde a chave em variável de ambiente
const routineId = "665f1a2b3c4d5e6f7a8b9c0d";
const res = await fetch(
`https://api.gsengage.com/api/v1/routines/${routineId}/lead?apiKey=${apiKey}`,
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
fullName: "Maria Silva",
emails: [{ value: "maria@empresa.com", label: "Trabalho" }],
mobiles: [{ value: "+5511999998888", label: "WhatsApp" }],
}),
}
);
const lead = await res.json();
console.log(res.status, lead);import os
import requests
api_key = os.environ["GSENGAGE_API_KEY"] # guarde a chave em variável de ambiente
routine_id = "665f1a2b3c4d5e6f7a8b9c0d"
resp = requests.post(
f"https://api.gsengage.com/api/v1/routines/{routine_id}/lead",
params={"apiKey": api_key},
json={
"fullName": "Maria Silva",
"emails": [{"value": "maria@empresa.com", "label": "Trabalho"}],
"mobiles": [{"value": "+5511999998888", "label": "WhatsApp"}],
},
)
print(resp.status_code, resp.json())Sua apiKey é uma senha
Como a chave vai na URL, ela aparece em logs de servidor, no histórico do navegador e em qualquer link compartilhado. Nunca cole a URL completa em chat público, ticket ou print. Guarde a chave em uma variável de ambiente, como nos exemplos de Node e Python.
Quando tudo funciona, a API responde com HTTP 201 Created e devolve o lead recém-criado (com o id dele). Na prática, isso significa:
- O lead foi cadastrado no seu projeto.
- Ele entrou marcado como Levantada de Mão — o rótulo do GS Engage para o contato que chega já demonstrando interesse. Por isso ele aparece no topo da fila de atividades do vendedor.
- Se a cadência tem distribuição automática ligada (ou você passou um responsável), a prospecção já começou e a primeira atividade está pronta para o time trabalhar.
graph LR
A["POST /routines/{routineId}/lead"] --> B["Lead criado (Levantada de Mão)"]
B --> C{"Distribuição automática ativa<br/>ou responsibleId informado?"}
C -->|"Sim"| D["Prospecção iniciada<br/>1ª atividade na fila"]
C -->|"Não"| E["Lead na cadência,<br/>aguardando distribuição"]Quer confirmar depois?
Você pode listar as prospecções desse lead com GET /api/v1/prospections?leadId=ID_DO_LEAD para ver se a esteira começou. Veja Consultar prospecções.
Este endpoint é para o caso "pessoa nova, quero criar e já prospectar". Se o lead já está cadastrado e você só quer colocá-lo em uma cadência, use outro caminho:
Lead novo vs. lead que já existe
POST /api/v1/routines/{routineId}/lead → cria o lead e inicia a prospecção. Use quando o contato ainda não existe.
POST /api/v1/prospections → inicia a prospecção de um lead que já existe. Você informa leadId, routineId e, opcionalmente, responsibleId.
Um exemplo de prospecção para lead existente:
{
"leadId": "665fabc0123456789abcdef0",
"routineId": "665f1a2b3c4d5e6f7a8b9c0d",
"responsibleId": "665f9876543210fedcba0000"
}- Use
POST /routines/{routineId}/leadquando o contato acabou de chegar e ainda não está na base. - Use
POST /prospectionspara um lead que você já criou antes (e tem oleadId).
- Não cadastre o mesmo lead duas vezes só para colocá-lo em outra cadência — isso gera duplicidade.
Quando algo não dá certo, a API responde com um código de erro e uma mensagem em português, já pronta para você reaproveitar. Os dois casos mais frequentes:
400 — Lead sem contato
Você tentou criar o lead sem nenhum e-mail, telefone ou celular. O corpo do erro aponta o campo:
{
"error": {
"message": "Não foi possível criar o lead.",
"errors": [
{ "field": ["emails"], "message": "Informe ao menos um contato (e-mail, telefone ou celular)." }
]
}
}O que houve: o lead veio sem forma de contato. Por quê: pelo menos um contato é obrigatório. Como corrigir: adicione um item em emails, phones ou mobiles e reenvie.
404 — Cadência não encontrada
O routineId no caminho não corresponde a nenhuma cadência do projeto:
{
"error": {
"message": "Cadência não encontrada."
}
}O que houve: a API não achou essa cadência. Por quê: o routineId está errado, incompleto ou é de outro projeto. Como corrigir: confirme o routineId com GET /api/v1/routines (veja acima) e cheque se a apiKey é do projeto certo.
Outros retornos que valem conhecer
401 — a apiKey está ausente ou inválida. 429 — você passou do limite de requisições (100 escritas por minuto); respeite o header Retry-After e tente de novo. Detalhes em Erros e limites.
Antes de disparar em produção
0/5A prospecção sempre começa sozinha ao criar o lead?
Não. Ela começa automaticamente quando a cadência tem a distribuição automática ligada, ou quando você indica um responsável na chamada. Sem nenhum dos dois, o lead entra na cadência e fica aguardando distribuição.
Preciso criar o lead antes com POST /api/v1/leads?
Não para este fluxo. O POST /api/v1/routines/{routineId}/lead já cria o lead. O endpoint POST /api/v1/leads serve para cadastrar um lead sem colocá-lo direto em uma cadência.
Por que meu lead apareceu no topo da fila do vendedor?
Porque todo lead criado pela API entra marcado como Levantada de Mão — o rótulo de quem chega demonstrando interesse. Esses leads têm prioridade na fila de atividades.
Consigo fazer isso sem programar?
Sim. O GS Engage tem gatilhos nativos no Zapier, e ferramentas como Make e n8n também conseguem chamar esta API REST — dá para montar o fluxo sem escrever código.
Este artigo foi útil?
Receitas prontas
Catálogo de automações no-code copiáveis para conectar formulários, RD Station, Google Sheets e Slack ao GS Engage.
Enviar leads do CRM ou planilha para o GS Engage
Sincronize leads vindos de formulário, CRM ou planilha criando cada um via API, sem gerar duplicados e respeitando o limite de requisições.