# HubSpot

> Crie o contato no HubSpot direto do fluxo, com uma requisição externa à API dele, e receba contatos do HubSpot num webhook de entrada.

Endereço: https://help.nextags.com.br/integracoes/hubspot/
Tipo: Integração

Atualizado em: 25/10/2026

A NexTags não tem um cartão do HubSpot em **Configurações** › **Integrações**. A ligação usa a API do HubSpot: no fluxo, uma requisição externa cria o contato no HubSpot com os dados da conversa. No caminho contrário, um fluxo de trabalho (workflow) do HubSpot pode mandar o contato para um webhook de entrada da NexTags. Os dois caminhos pedem um pouco de familiaridade com API. Para ligar sem montar requisições, use um integrador, como o [Make](https://help.nextags.com.br/integracoes/make/), o [n8n](https://help.nextags.com.br/integracoes/n8n/) ou o [Zapier](https://help.nextags.com.br/integracoes/zapier/).

## O que dá para fazer

- Criar o contato no HubSpot quando o lead conversa com você e guardar a resposta, como o id do contato, num campo. Veja [Requisição externa: enviar e receber dados de outro sistema](https://help.nextags.com.br/tutoriais/fluxos/requisicao-externa/).
- Receber contatos do HubSpot num webhook de entrada e iniciar um fluxo para cada um. Veja [Webhooks de entrada: receber dados de outro sistema](https://help.nextags.com.br/tutoriais/ferramentas/webhook-de-entrada/).
- Guardar o token do HubSpot num campo do bot, longe dos textos do fluxo. Veja [Campos do bot: um valor para a conta toda](https://help.nextags.com.br/tutoriais/fluxos/campos-do-bot/).

## Como conectar

### Passo 1: Crie o token de acesso no HubSpot

No HubSpot, quem é superadministrador cria um app privado: em **Development** › **Legacy apps**, clique em **Create legacy app** e escolha **Private**. Dê um nome e, na aba **Scopes**, adicione a permissão de ler e gravar contatos (`crm.objects.contacts.read` e `crm.objects.contacts.write`). Clique em **Create app**. Depois, na aba **Auth**, clique em **Show token** e copie o token.

O caminho completo está na [documentação para desenvolvedores do HubSpot](https://developers.hubspot.com/docs/apps/legacy-apps/private-apps/overview).

### Passo 2: Crie a requisição no fluxo

Numa etapa **Ações**, adicione **External API Request** e clique no cartão. Preencha a janela **External Request**:

![Janela External Request: tipo POST, endereço da API e, na aba Cabeçalhos, o cabeçalho Authorization com a chave guardada num campo.](https://help.nextags.com.br/_img/fluxos-acoes/requisicao.webp)
*Uma requisição POST com o cabeçalho de autorização.*

1. **Request Type**: **POST**.
2. **Request URL**: `https://api.hubapi.com/crm/v3/objects/contacts`.
3. As abas: abra **Corpo**, escolha **JSON** e escreva as propriedades do contato, como no exemplo abaixo.
4. **Cabeçalhos**: `Authorization` à esquerda e, à direita, `Bearer`, um espaço e o token. Use o campo do bot com o token, e não o token escrito.

```json
{
  "properties": {
    "email": "{{email}}",
    "firstname": "{{first_name}}",
    "lastname": "{{last_name}}",
    "phone": "{{phone}}"
  }
}
```

### Passo 3: Teste e ligue as saídas

Abra **Testar Agora**, clique no botão **Testar Agora**, escolha o canal e clique em **Continuar**. O HubSpot responde **201** quando cria o contato.

![Aba Testar Agora com o resultado do teste: código do estado 200, corpo da resposta e os cabeçalhos e o corpo da solicitação.](https://help.nextags.com.br/_img/fluxos-acoes/requisicao-testar.webp)
*O resultado do teste: o código e o corpo da resposta.*

1. **Código do estado**: a resposta do HubSpot. Códigos de 400 em diante indicam erro.
2. **Corpo da resposta**: o que o HubSpot devolveu, com o `id` do contato criado. Para guardar o id, use a aba **Mapeamento de resposta** com o caminho `$.id`.

Clique em **Salvar**. No quadro, ligue as saídas **Sucesso** e **Falhado** e publique o fluxo.

### Passo 4: Para receber contatos do HubSpot

Crie um webhook de entrada na NexTags e copie o link dele. Num fluxo de trabalho do HubSpot, adicione a ação **Send a webhook**, escolha o método **POST** e cole o link em **Webhook URL**. Em **Test action**, mande um teste e copie o corpo da aba **Request**: ele é o exemplo que você cola em **Sample JSON** na NexTags.

A ação **Send a webhook** é dos planos Data Hub Professional e Enterprise do HubSpot. Mais na [Central de Conhecimento do HubSpot](https://knowledge.hubspot.com/workflows/send-get-requests-with-hubspot-workflows).

O passo a passo completo da requisição está em [Requisição externa: enviar e receber dados de outro sistema](https://help.nextags.com.br/tutoriais/fluxos/requisicao-externa/), e o do webhook, em [Webhooks de entrada: receber dados de outro sistema](https://help.nextags.com.br/tutoriais/ferramentas/webhook-de-entrada/).

## Se não funcionou

### O teste mostra 401

O HubSpot não aceitou o token. Confira o cabeçalho `Authorization`: a palavra `Bearer`, um espaço e o token inteiro. Se o token foi trocado no HubSpot, atualize o campo do bot.

### O teste mostra 403

O app privado não tem permissão para gravar contatos. No HubSpot, abra o app, adicione a permissão `crm.objects.contacts.write` na aba **Scopes** e salve.

### O teste mostra 409

O contato já existe no HubSpot, com o mesmo e-mail. A requisição sai por **Falhado**: ligue essa saída a uma etapa que siga o fluxo sem criar de novo.

### Outro código de erro ou nenhuma resposta

Veja [Erros de requisição externa, webhook e planilha](https://help.nextags.com.br/tutoriais/erros/erros-de-requisicao-externa/). No caminho contrário, veja [Meu webhook de entrada não recebe os dados](https://help.nextags.com.br/perguntas/integracoes/webhook-nao-recebe/).

### Faça com a IA

Cole este pedido no ChatGPT ou no Claude:

```text
Quero ligar a NexTags ao HubSpot. Leia esta página: https://help.nextags.com.br/integracoes/hubspot.md

O que eu quero: [criar o contato no HubSpot quando o lead conversar no WhatsApp / receber os contatos de uma lista do HubSpot num fluxo]. Monte o corpo JSON da requisição com as propriedades do HubSpot que eu uso ([liste]) e as variáveis da NexTags, sem que eu precise colar o meu token aqui.
```
