# Usar a API no Make, n8n e Zapier

> Chame a API da NexTags pelo módulo HTTP do Make, pelo HTTP Request do n8n e pelo Webhooks by Zapier, e faça o caminho contrário com webhooks.

Endereço: https://docs.nextags.com.br/guias/make-n8n-zapier/
Tipo: Guia

Atualizado em: 26/10/2026

O Make, o n8n e o Zapier chamam qualquer API pelo módulo de HTTP de cada um. Com a chave da NexTags no cabeçalho `X-ACCESS-TOKEN`, eles criam contatos, enviam fluxos, preenchem campos e movem oportunidades, com os mesmos endereços e corpos desta documentação. Neste guia, você monta a chamada nas três ferramentas e liga o caminho contrário: a NexTags avisando a ferramenta e a ferramenta mandando dados para a NexTags.

**Antes de começar**

- A chave de API da conta, de **Configurações** › **Integrações** › **Chave de API do NexTags**. Veja [Gerar a chave de API](https://help.nextags.com.br/tutoriais/configuracoes/chave-de-api/).
- A chamada que você quer fazer: o método, o endereço e o corpo, na [Referência](https://docs.nextags.com.br/referencia/). Os exemplos deste guia usam [Criar contato](https://docs.nextags.com.br/referencia/contatos/criar-contato/).
- No Zapier, um plano com o **Webhooks by Zapier** (Professional, Team ou Enterprise), segundo a [ajuda do Zapier](https://help.zapier.com/hc/en-us/articles/8496326446989) (atualizada em 10/08/2026).

## Passo a passo

### Passo 1: No Make, use o HTTP › Make a request

No cenário, adicione o módulo **HTTP** › **Make a request** e preencha:

- **Authentication type**: **API key**. Em **Credentials**, crie a chave: **Key** com a chave da NexTags, **API key placement** no cabeçalho (**In the header**) e **API key parameter name** com `X-ACCESS-TOKEN`.
- **URL**: o endereço completo, como `https://app.nextagsai.com.br/api/contacts`.
- **Method**: o da chamada (aqui, **POST**).
- **Body content type**: **application/JSON**, com **Body input method** em **JSON string**, e o corpo no campo do JSON.
- **Parse response**: **Yes**, para usar a resposta nos próximos módulos.

**Corpo de Criar contato**

```json
{
  "phone": "5511988776655",
  "email": "ana@exemplo.com.br",
  "first_name": "Ana",
  "last_name": "Souza",
  "actions": [
    {"action": "add_tag", "tag_name": "cliente-vip"}
  ]
}
```

Troque os valores pelos dados dos módulos anteriores. A própria documentação do Make recomenda guardar a chave em **Credentials**, e não nos **Headers**. Veja a [documentação do HTTP no Make](https://apps.make.com/http) e a [chave de API no Make](https://apps.make.com/api-key-authentication-type).

### Passo 2: No n8n, use o HTTP Request

Adicione o nó **HTTP Request**. O jeito mais rápido é colar o cURL da chamada em **Import cURL**:

**cURL para o Import cURL**

```bash
curl -X POST "https://app.nextagsai.com.br/api/contacts" \
  -H "X-ACCESS-TOKEN: $NEXTAGS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "5511988776655",
    "email": "ana@exemplo.com.br",
    "first_name": "Ana",
    "last_name": "Souza",
    "actions": [
      {
        "action": "add_tag",
        "tag_name": "cliente-vip"
      }
    ]
  }'
```
```javascript
const resposta = await fetch('https://app.nextagsai.com.br/api/contacts', {
  method: 'POST',
  headers: {
    'X-ACCESS-TOKEN': process.env.NEXTAGS_API_KEY,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    phone: '5511988776655',
    email: 'ana@exemplo.com.br',
    first_name: 'Ana',
    last_name: 'Souza',
    actions: [
      {
        action: 'add_tag',
        tag_name: 'cliente-vip',
      },
    ],
  }),
});
const dados = await resposta.json();
console.log(resposta.status, dados);
```
```python
import os

import requests

resposta = requests.post(
    "https://app.nextagsai.com.br/api/contacts",
    headers={"X-ACCESS-TOKEN": os.environ["NEXTAGS_API_KEY"]},
    json={
        "phone": "5511988776655",
        "email": "ana@exemplo.com.br",
        "first_name": "Ana",
        "last_name": "Souza",
        "actions": [
            {
                "action": "add_tag",
                "tag_name": "cliente-vip",
            },
        ],
    },
    timeout=30,
)
print(resposta.status_code, resposta.json())
```
```php
<?php
$ch = curl_init('https://app.nextagsai.com.br/api/contacts');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'X-ACCESS-TOKEN: ' . getenv('NEXTAGS_API_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode([
        'phone' => '5511988776655',
        'email' => 'ana@exemplo.com.br',
        'first_name' => 'Ana',
        'last_name' => 'Souza',
        'actions' => [
            [
                'action' => 'add_tag',
                'tag_name' => 'cliente-vip',
            ],
        ],
    ]),
]);
$dados = json_decode(curl_exec($ch), true);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), PHP_EOL;
print_r($dados);
```

Depois de importar:

- Em **Authentication**, escolha **Generic Credential Type** e o tipo **Header Auth**. Crie a credencial com **Name** `X-ACCESS-TOKEN` e **Value** com a chave da NexTags.
- Em **Send Headers**, apague o `X-ACCESS-TOKEN` que veio do cURL: a credencial já manda a chave.
- Em **Send Body**, deixe **Body Content Type** em **JSON** e **Specify Body** em **Using JSON**. O Import cURL traz os valores como texto; com **Using JSON**, os números continuam números.

Veja a [documentação do HTTP Request](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) e das [credenciais do HTTP Request](https://docs.n8n.io/integrations/builtin/credentials/httprequest/).

### Passo 3: No Zapier, use o Webhooks by Zapier › Custom Request

No Zap, adicione a ação **Webhooks by Zapier** com o evento **Custom Request** e preencha:

- **Method**: o da chamada (aqui, **POST**).
- **URL**: o endereço completo, como `https://app.nextagsai.com.br/api/contacts`.
- **Data**: o corpo em JSON, como abaixo. O Zapier manda o texto do jeito que você escreveu: confira as aspas e as vírgulas.
- **Headers**: duas linhas, `X-ACCESS-TOKEN` com a chave da NexTags e `Content-Type` com `application/json`.

**Data do Custom Request**

```json
{
  "phone": "5511988776655",
  "email": "ana@exemplo.com.br",
  "first_name": "Ana",
  "last_name": "Souza",
  "actions": [
    {"action": "add_tag", "tag_name": "cliente-vip"}
  ]
}
```

Troque os valores pelos dados das etapas anteriores do Zap. Veja a [ajuda do Webhooks by Zapier](https://help.zapier.com/hc/en-us/articles/8496326446989). No Pabbly Connect, a ação equivalente é o **API by Pabbly**, com o mesmo endereço, o mesmo corpo e o cabeçalho `X-ACCESS-TOKEN`.

### Passo 4: Nas chamadas com formulário, troque o tipo do corpo

Algumas chamadas recebem formulário no lugar de JSON, como [Preencher campo do contato](https://docs.nextags.com.br/referencia/campos-personalizados/preencher-campo-do-contato/) e [Criar etiqueta](https://docs.nextags.com.br/referencia/etiquetas/criar-etiqueta/). A lista completa está em [Visão geral da API](https://docs.nextags.com.br/comecar/visao-geral/). Nelas:

- No Make, **Body content type**: **application/x-www-form-urlencoded**, com o campo e o valor em **Body content**.
- No n8n, **Body Content Type**: **Form Urlencoded**, com o campo e o valor em **Using Fields Below**.
- No Zapier, **Data** com `campo=valor`, codificado para URL, e o cabeçalho `Content-Type` com `application/x-www-form-urlencoded`.

**Preencher campo do contato**

```bash
curl -X POST "https://app.nextagsai.com.br/api/contacts/123456789/custom_fields/3001" \
  -H "X-ACCESS-TOKEN: $NEXTAGS_API_KEY" \
  --data-urlencode 'value=São Paulo'
```
```javascript
const resposta = await fetch('https://app.nextagsai.com.br/api/contacts/123456789/custom_fields/3001', {
  method: 'POST',
  headers: {
    'X-ACCESS-TOKEN': process.env.NEXTAGS_API_KEY,
  },
  body: new URLSearchParams({
    value: 'São Paulo',
  }),
});
const dados = await resposta.json();
console.log(resposta.status, dados);
```
```python
import os

import requests

resposta = requests.post(
    "https://app.nextagsai.com.br/api/contacts/123456789/custom_fields/3001",
    headers={"X-ACCESS-TOKEN": os.environ["NEXTAGS_API_KEY"]},
    data={
        "value": "São Paulo",
    },
    timeout=30,
)
print(resposta.status_code, resposta.json())
```
```php
<?php
$ch = curl_init('https://app.nextagsai.com.br/api/contacts/123456789/custom_fields/3001');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => [
        'X-ACCESS-TOKEN: ' . getenv('NEXTAGS_API_KEY'),
    ],
    CURLOPT_POSTFIELDS => http_build_query([
        'value' => 'São Paulo',
    ]),
]);
$dados = json_decode(curl_exec($ch), true);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE), PHP_EOL;
print_r($dados);
```

### Passo 5: O caminho contrário: o fluxo avisa a ferramenta

Para a NexTags mandar dados para o Make, o n8n ou o Zapier, crie um webhook na ferramenta (**Webhooks** › **Custom webhook** no Make, o nó **Webhook** no n8n, o **Catch Hook** do Webhooks by Zapier) e, num fluxo, chame esse endereço com a requisição externa. No **Corpo** em **JSON**, use as variáveis do contato:

**Corpo da requisição externa**

```json
{
  "contato_id": "{{user_id}}",
  "nome": "{{full_name}}",
  "telefone": "{{phone}}",
  "email": "{{email}}"
}
```

O passo a passo de tela está nas páginas do [Make](https://help.nextags.com.br/integracoes/make/), do [n8n](https://help.nextags.com.br/integracoes/n8n/) e do [Zapier](https://help.nextags.com.br/integracoes/zapier/). O lado técnico, com a resposta que o seu webhook pode devolver ao fluxo, está em [Requisição externa: o fluxo chama o seu sistema](https://docs.nextags.com.br/webhooks/requisicao-externa-no-fluxo/). Para avisar a ferramenta quando algo acontece na conta, como uma etiqueta aplicada, use os [webhooks de saída](https://help.nextags.com.br/tutoriais/ferramentas/webhooks-de-saida/).

### Passo 6: E a ferramenta manda dados para a NexTags

Além da API, a ferramenta pode mandar os dados em JSON para o link de um webhook de entrada da NexTags, criado em **Ferramentas** › **Webhooks de entrada**. O webhook acha o contato pelo e-mail ou pelo telefone (e cria, se não existir), salva os valores nos campos e aciona um fluxo:

**Corpo enviado ao webhook de entrada**

```json
{
  "cliente": {
    "nome": "Ana Souza",
    "email": "ana@exemplo.com.br",
    "telefone": "5511988776655"
  },
  "pedido": {"id": "PED-1001", "total": "179.80"}
}
```

No webhook de entrada, cada campo é ligado a um caminho do JSON, como `$.cliente.email`. Veja [Webhook de entrada: receber dados de outro sistema](https://docs.nextags.com.br/webhooks/webhook-de-entrada/) e [Webhooks de entrada](https://help.nextags.com.br/tutoriais/ferramentas/webhook-de-entrada/).

## Pronto: como conferir

- Rode o módulo uma vez (no Make, **Run once**; no n8n, o teste do nó; no Zapier, o teste da ação) e veja a resposta da NexTags: `200` e os dados da chamada.
- Na NexTags, confira o resultado: o contato em **Contatos**, a mensagem na **Caixa de Entrada** ou o cartão em **Pipelines**.

## Se não funcionou

### 401 com "No valid API key provided."

A chave não foi no cabeçalho `X-ACCESS-TOKEN`, foi com espaço a mais ou é a antiga. No Make, confira o **API key parameter name** e o **API key placement**; no n8n, o **Name** da credencial; no Zapier, a linha do cabeçalho.

### 400 ou campo vazio numa chamada com formulário

A chamada recebe formulário e foi com JSON. Troque o tipo do corpo como no passo 4.

### O n8n mandou o ID como texto

O **Import cURL** traz os valores como texto. Troque **Specify Body** para **Using JSON** e cole o corpo em JSON.

### O Zapier diz que o JSON é inválido, ou a NexTags recebe o corpo errado

O **Data** do **Custom Request** vai do jeito que foi escrito. Confira as aspas, as vírgulas e as chaves e os campos inseridos de etapas anteriores, que precisam estar entre aspas.

### A ferramenta não recebe o que o fluxo manda

O endereço da requisição externa não é o do webhook ativo, ou o fluxo não está publicado. Veja [Erros de requisição externa, webhook e planilha](https://help.nextags.com.br/tutoriais/erros/erros-de-requisicao-externa/).

### Faça com a IA

Cole este pedido no ChatGPT ou no Claude:

```text
Leia https://docs.nextags.com.br/guias/make-n8n-zapier.md e a página do endpoint que vou usar: [cole o link da referência, por exemplo https://docs.nextags.com.br/referencia/contatos/criar-contato.md].

Estou montando no [Make / n8n / Zapier] uma automação que [descreva: por exemplo, quando chega um lead no formulário, cria o contato na NexTags e envia o fluxo de boas-vindas]. Me diga, módulo por módulo, o que preencher em cada campo do HTTP da ferramenta (método, URL, autenticação com o cabeçalho X-ACCESS-TOKEN, tipo do corpo e corpo), sem pedir a minha chave.
```
