# Conectar com Zapier (sem escrever código)

> Monte automações entre seus formulários e o GS Engage usando o Zapier — criando leads e distribuindo cadências sem programar nenhuma linha.

- URL canônica: https://docs.growthstation.app/docs/api/no-code/zapier
- Idioma: pt-BR
- Última atualização: 2026-09-20T08:21:20.451Z
- Produto: GS Engage
- Mantido por: Produto GS Engage



<PageHero emoji="⚡" title="Conectar com Zapier" description="O caminho mais rápido para automatizar o GS Engage sem escrever código. Você arrasta blocos, cola uma URL e pronto: seus formulários viram leads que já caem no colo do vendedor." gradient="brand" />

Se a ideia de "chamar uma API" parece coisa de programador, respira: com o **Zapier** você não escreve nenhuma linha de código. Você monta um <TextHighlight>Zap</TextHighlight> — uma automação em blocos — dizendo "quando **isto** acontecer, faça **aquilo**". O GS Engage entra nesse "faça aquilo".

Nesta página você vai montar, do zero, uma automação real: **quando alguém preenche um formulário, o GS Engage cria o lead, coloca numa cadência e distribui para um vendedor** — tudo sozinho, na hora.

<Callout type="tip" title="O que é um Zap, em uma frase">
  Um <TextHighlight>Zap</TextHighlight> é uma receita de duas partes: um **gatilho** (o "quando" — ex.: novo envio no formulário) e uma ou mais **ações** (o "então" — ex.: criar o lead no GS Engage). Você só aponta e clica.
</Callout>

⚡ Como o Zapier fala com o GS Engage [#-como-o-zapier-fala-com-o-gs-engage]

O GS Engage tem **gatilhos nativos no Zapier** (por exemplo, avisos de webhook — falamos deles mais adiante). Mas para **enviar dados** para o GS Engage — como criar um lead — você usa um bloco genérico e poderoso do próprio Zapier: o <TextHighlight>Webhooks by Zapier</TextHighlight>.

Esse bloco é o seu "telefone" para qualquer API. O <TextHighlight>endpoint</TextHighlight> (o endereço de uma operação da API) fica sempre sob `https://api.gsengage.com/api/v1`, e você só preenche campos numa tela — sem terminal, sem código.

<Mermaid
  chart={`graph LR
A["Formulário / Planilha"] --> B["Zapier (gatilho)"]
B --> C["Webhooks by Zapier chama a API"]
C --> D["GS Engage cria o lead"]
D --> E["Lead entra na cadência e vai para o SDR"]`}
/>

<Callout type="info" title="Webhooks by Zapier é um recurso de plano pago">
  O bloco <TextHighlight>Webhooks by Zapier</TextHighlight> (que faz a chamada à API) costuma exigir um plano pago do Zapier. Os **gatilhos** de formulário e planilha, esses funcionam mesmo no plano gratuito.
</Callout>

🔑 A apiKey é uma senha — trate como tal [#-a-apikey-é-uma-senha--trate-como-tal]

Antes de montar qualquer Zap, você precisa da sua <TextHighlight>apiKey</TextHighlight>: a chave de cerca de 40 caracteres criada na plataforma em <TextHighlight>Configurações</TextHighlight> > <TextHighlight>Configurações de API</TextHighlight>.

No GS Engage, a chave viaja **na URL**, como um parâmetro no formato `?apiKey=SUA_CHAVE` (não é um cabeçalho). É prático, mas tem uma consequência importante: a chave aparece em **logs de servidor, no histórico do navegador e em qualquer link compartilhado**.

<Callout type="danger" title="Nunca digite a chave à mostra num passo do Zap">
  Guarde a `apiKey` no cofre de credenciais do Zapier e referencie-a de lá — nunca cole a chave direto num campo visível nem em canais públicos (Slack aberto, e-mail, prints). Se ela vazar, gere uma nova em Configurações de API e aposente a antiga.
</Callout>

Onde guardar a apiKey com segurança no Zapier [#onde-guardar-a-apikey-com-segurança-no-zapier]

<Steps>
  <Step num={1} title="Abra o bloco Webhooks by Zapier">
    No editor do Zap, adicione uma ação <TextHighlight>Webhooks by Zapier</TextHighlight> e escolha o evento <TextHighlight>Custom Request</TextHighlight> (ou <TextHighlight>POST</TextHighlight>). É aqui que a chamada à API é configurada.
  </Step>

  <Step num={2} title="Salve a chave no cofre de contas do Zapier">
    Ao conectar a conta do Webhooks, o Zapier permite guardar valores secretos de forma reutilizável. Salve a `apiKey` ali uma única vez, com um apelido claro (ex.: <TextHighlight>GS Engage apiKey</TextHighlight>), em vez de digitá-la em cada Zap.
  </Step>

  <Step num={3} title="Referencie a chave na URL">
    Ao montar a URL da chamada, anexe `?apiKey=` e insira o valor guardado. Assim a chave não fica escrita de forma legível na configuração do passo.
  </Step>
</Steps>

✅ Antes de criar leads, teste a chave [#-antes-de-criar-leads-teste-a-chave]

Toda chamada ao GS Engage é **real**: não existe ambiente de teste (sandbox) separado. Por isso, antes de montar um Zap que cria ou altera dados, confirme que a chave responde com uma operação leve e **somente leitura**: listar os campos personalizados.

Faça esta chamada uma vez (pelo próprio Webhooks by Zapier ou por um `curl` avulso, se você tiver à mão):

```bash
curl "https://api.gsengage.com/api/v1/custom-fields?apiKey=SUA_CHAVE"
```

Uma resposta **200** com uma lista confirma que a chave está válida. A lista pode vir vazia (`[]`) se o projeto ainda não tem campos personalizados — e está tudo certo assim.

<Callout type="warning" title="Toda chamada afeta produção">
  Como não há sandbox, um lead criado num teste é um lead de verdade, que o time comercial vai ver. Ao experimentar, prefira leituras (`GET`) e avise sua equipe antes de qualquer criação ou alteração.
</Callout>

🚀 Receita completa: formulário → lead na cadência → SDR [#-receita-completa-formulário--lead-na-cadência--sdr]

Agora o principal. O objetivo de negócio: **quem preenche o formulário do seu site vira um lead no GS Engage, entra numa cadência e é distribuído a um vendedor** — na hora, sem ninguém copiar e colar planilha. O lead nasce marcado como <TextHighlight>Levantada de Mão</TextHighlight>, no topo da fila de atividades do SDR.

| Ingrediente        | Detalhe                                                                                            |
| ------------------ | -------------------------------------------------------------------------------------------------- |
| Ferramenta         | Zapier                                                                                             |
| Gatilho            | Novo envio no formulário (Typeform, Google Forms) **ou** nova linha no Google Sheets               |
| Ações              | `POST /api/v1/leads` (cria o lead) → `POST /api/v1/routines/{routineId}/lead` (coloca na cadência) |
| Resultado esperado | Lead criado + prospecção iniciada para o SDR responsável                                           |

<Steps>
  <Step num={1} title="Escolha o gatilho: formulário ou planilha">
    Esse é o "quando". Use o gatilho nativo da sua ferramenta — os dois abaixo funcionam bem:

    <Tabs items={['Formulário', 'Google Sheets']}>
      <Tab value="Formulário">
        Use o gatilho <TextHighlight>New Entry</TextHighlight> do Typeform, ou <TextHighlight>New Response in Spreadsheet</TextHighlight> do Google Forms. Ele dispara sempre que alguém preenche o formulário.
      </Tab>

      <Tab value="Google Sheets">
        Use o gatilho <TextHighlight>New Spreadsheet Row</TextHighlight> do Google Sheets. Ideal se os leads chegam primeiro numa planilha (uma exportação, um formulário que grava em linha, etc.). Cada linha nova vira um lead.
      </Tab>
    </Tabs>
  </Step>

  <Step num={2} title="Crie o lead no GS Engage">
    Adicione uma ação <TextHighlight>Webhooks by Zapier → Custom Request</TextHighlight>, com método `POST` e a URL `https://api.gsengage.com/api/v1/leads?apiKey=SUA_CHAVE`.

    É **obrigatório pelo menos um contato**: os contatos vão nos arrays `emails`, `phones` e `mobiles`, cada item no formato `{ "value": "...", "label": "..." }`. Defina o cabeçalho `Content-Type: application/json` e mapeie os campos do gatilho para o corpo:

    ```json
    {
      "name": "{{nome_do_formulario}}",
      "company": "{{empresa_do_formulario}}",
      "emails": [
        { "value": "{{email_do_formulario}}", "label": "Trabalho" }
      ],
      "mobiles": [
        { "value": "{{telefone_do_formulario}}", "label": "Celular" }
      ]
    }
    ```

    A resposta traz o `id` do lead recém-criado. **Guarde esse `id`**: a próxima ação vai precisar dele. No Zapier, o valor fica disponível para os passos seguintes automaticamente.
  </Step>

  <Step num={3} title="Coloque o lead na cadência e distribua ao SDR">
    Adicione outra ação <TextHighlight>Webhooks by Zapier → Custom Request</TextHighlight>, com método `POST` e a URL `https://api.gsengage.com/api/v1/routines/{routineId}/lead?apiKey=SUA_CHAVE`, trocando `{routineId}` pelo identificador da <TextHighlight>Cadência</TextHighlight> que vai receber o lead.

    Envie o `id` do lead do passo anterior. Se você informar um `responsibleId` (ou se a distribuição automática estiver ativa na cadência), a prospecção **começa na hora** para o vendedor certo:

    ```json
    {
      "leadId": "{{id_do_lead_do_passo_2}}",
      "responsibleId": "{{id_do_sdr}}"
    }
    ```
  </Step>

  <Step num={4} title="Teste com um registro só e confira no app">
    Rode o Zap uma vez com um preenchimento de teste. Depois, abra o GS Engage e verifique se o lead apareceu como <TextHighlight>Levantada de Mão</TextHighlight> no topo da fila do SDR. Como toda chamada é real, valide com **um único lead** antes de ligar a automação de vez.
  </Step>
</Steps>

<Callout type="tip" title="Onde acho o routineId e o responsibleId?">
  Liste as cadências com uma leitura leve — `GET /api/v1/routines?apiKey=SUA_CHAVE` — e copie o `id` da que você quer. O [guia de adicionar lead à cadência](/docs/api/guias/adicionar-lead-cadencia) mostra como descobrir o `responsibleId` de cada SDR.
</Callout>

<Callout type="warning" title="Respeite o limite de chamadas">
  A API tem <TextHighlight>rate limit</TextHighlight> (teto de chamadas por tempo): janela de 60 segundos, 200 leituras/min e 100 escritas/min. Se estourar, você recebe um HTTP **429** com o cabeçalho `Retry-After` (em segundos). Em picos de leads, o Zapier costuma espaçar as tarefas — mas evite disparar centenas de criações de uma vez só.
</Callout>

🔔 O GS Engage também pode ser o gatilho [#-o-gs-engage-também-pode-ser-o-gatilho]

Até aqui, o gatilho estava de fora (o formulário) e o GS Engage recebia dados. Mas dá para inverter: **o GS Engage pode avisar o Zapier quando algo acontece** — usando um <TextHighlight>webhook</TextHighlight> (um aviso automático que ele envia para uma URL sua no exato momento do evento).

Um exemplo clássico: quando uma prospecção é marcada como <TextHighlight>Ganha</TextHighlight>, o GS Engage bate na porta do seu Zap, que então registra a venda numa planilha e comemora no Slack.

<Steps>
  <Step num={1} title="Crie a URL que recebe o aviso">
    No Zapier, comece um Zap com o gatilho <TextHighlight>Webhooks by Zapier → Catch Hook</TextHighlight>. O Zapier gera uma URL única. É para esse endereço que o GS Engage vai mandar os avisos.
  </Step>

  <Step num={2} title="Registre o webhook no GS Engage">
    Cadastre a URL com um `POST` para `https://api.gsengage.com/api/v1/webhooks?apiKey=SUA_CHAVE`, escolhendo os eventos que quer ouvir:

    ```json
    {
      "name": "Venda ganha para o Zapier",
      "url": "https://hooks.zapier.com/hooks/catch/sua-url",
      "events": ["prospection.won"]
    }
    ```

    A resposta traz um campo `secret` **uma única vez** — copie-o na hora e guarde no cofre. Ele serve para confirmar que o aviso veio mesmo do GS Engage.
  </Step>
</Steps>

Os eventos que você pode ouvir são: `prospection.started`, `prospection.won`, `prospection.lost`, `activity.finished`, `call.started`, `call.finished` e `call.transcribed`.

<Callout type="info" title="Quer se aprofundar nos webhooks?">
  O passo a passo completo — o formato do envelope de entrega e como confirmar a assinatura — está no guia [Avisos de venda por webhook](/docs/api/guias/avisos-de-venda-webhook) e em [Validar a assinatura do webhook](/docs/api/guias/validar-assinatura-webhook).
</Callout>

📋 Antes de ligar em produção [#-antes-de-ligar-em-produção]

<Checklist id="zapier-pre-voo" title="Confira antes de ativar o Zap">
  <ChecklistItem>
    Guardei a 

    `apiKey`

     no cofre do Zapier, sem digitá-la à mostra em nenhum passo?
  </ChecklistItem>

  <ChecklistItem>
    Testei a chave com 

    `GET /api/v1/custom-fields`

     e recebi 

    <TextHighlight>200</TextHighlight>

    ?
  </ChecklistItem>

  <ChecklistItem>
    Mapeei ao menos um contato (email, telefone ou celular) no corpo do lead?
  </ChecklistItem>

  <ChecklistItem>
    Confirmei o 

    `routineId`

     e o 

    `responsibleId`

     com uma leitura antes de usar?
  </ChecklistItem>

  <ChecklistItem>
    Rodei o Zap com 

    **um único registro**

     e vi o lead na fila do SDR?
  </ChecklistItem>

  <ChecklistItem>
    Avisei o time comercial de que a automação mexe em dados reais de produção?
  </ChecklistItem>
</Checklist>

👍 Boas práticas [#-boas-práticas]

<DoDont>
  <DoDontItem type="do">
    Guardar a 

    `apiKey`

     no cofre do Zapier e referenciá-la na URL.
  </DoDontItem>

  <DoDontItem type="dont">
    Não digitar a chave à mostra num passo nem colá-la em canais públicos.
  </DoDontItem>

  <DoDontItem type="do">
    Testar primeiro com um leitura leve (

    `GET /api/v1/custom-fields`

    ) para validar a chave.
  </DoDontItem>

  <DoDontItem type="dont">
    Não sair criando leads "para ver se funciona" — toda chamada é produção real.
  </DoDontItem>

  <DoDontItem type="do">
    Rodar o Zap com um único registro antes de ligar de vez.
  </DoDontItem>

  <DoDontItem type="dont">
    Não disparar centenas de criações de uma vez e estourar o rate limit (HTTP 429).
  </DoDontItem>

  <DoDontItem type="do">
    Copiar e guardar o 

    `secret`

     do webhook na hora da criação.
  </DoDontItem>

  <DoDontItem type="dont">
    Não esquecer que o 

    `secret`

     aparece uma única vez — depois não dá para recuperá-lo.
  </DoDontItem>
</DoDont>

❓ Perguntas frequentes [#-perguntas-frequentes]

<FAQ>
  <FAQItem question="Preciso saber programar para usar o Zapier com o GS Engage?">
    Não. Você monta o Zap arrastando blocos e preenchendo campos. O único trecho um pouco mais técnico é montar a chamada no Webhooks by Zapier — mas é só colar a URL, escolher o método `POST` e mapear os campos. Nada de código.
  </FAQItem>

  <FAQItem question="Onde coloco a apiKey, no cabeçalho ou na URL?">
    Na URL. No GS Engage a autenticação é por parâmetro de consulta: `?apiKey=SUA_CHAVE`. Não é um cabeçalho. Por isso ela aparece em logs e links — trate como senha e guarde no cofre do Zapier.
  </FAQItem>

  <FAQItem question="Por que meu lead foi recusado com erro 400?">
    Um `400` significa que faltou algo obrigatório — o mais comum é não enviar nenhum contato. É obrigatório pelo menos um item em `emails`, `phones` ou `mobiles`. A resposta traz `{ "error": { "message": "...", "errors": [ { "field", "message" } ] } }` em português (tudo dentro de `error`), apontando o campo com problema.
  </FAQItem>

  <FAQItem question="Recebi um 401. O que houve?">
    Um `401` (Unauthorized) quer dizer que a `apiKey` está ausente ou inválida. Confira se você anexou `?apiKey=SUA_CHAVE` na URL e se a chave não expirou. Gere uma nova em Configurações > Configurações de API, se preciso.
  </FAQItem>

  <FAQItem question="Prefiro Make ou n8n. As mesmas automações funcionam?">
    Funcionam. O Zapier é o caminho mais rápido, com gatilhos nativos, mas o Make e o n8n também consomem a API REST e recebem os mesmos webhooks. Veja o guia de [Make e n8n](/docs/api/no-code/make-e-n8n).
  </FAQItem>
</FAQ>

Artigos Relacionados [#artigos-relacionados]

<RelatedArticles>
  <RelatedArticle href="/docs/api/no-code/receitas" title="Receitas prontas" description="Catálogo de automações copiáveis para leads, vendas ganhas e RD Station." />

  <RelatedArticle href="/docs/api/no-code/make-e-n8n" title="Make e n8n" description="As mesmas integrações no Make e no n8n, também sem código." />

  <RelatedArticle href="/docs/api/guias/adicionar-lead-cadencia" title="Adicionar um lead a uma cadência" description="O guia técnico por trás da receita: criar o lead e iniciar a prospecção." />

  <RelatedArticle href="/docs/api/comece-aqui/o-que-da-pra-fazer" title="Comece aqui" description="Entenda o que dá para automatizar e faça sua primeira chamada com segurança." />
</RelatedArticles>
