# Webhook

### Para criar e atualizar contatos no Hubspot <a href="#para-criar-e-atualizar-contatos-no-hubspot" id="para-criar-e-atualizar-contatos-no-hubspot"></a>

Após validar se o contato possui nome e e-mail, e outras informações que estejam em propriedades de contato no Hubspot, você pode atualizar as informações e criar novos contatos na base do Hubspot.

<figure><img src="/files/YCY7M9p6QkZ8NlFGJlHv" alt="" width="435"><figcaption></figcaption></figure>

```
Url: https://server.spread.chat/landbot/createLead/colocar_aqui_id_gerado_pela_spread 

Método: POST

Body:

{
"contactToken": "{{contacttoken}}",
"name": "{{name}}",
"email": "{{email}}",
"phone": "{{phone}}"
}
```

### Retornar o valor de uma propriedade <a href="#retornar-o-valor-de-uma-propriedade" id="retornar-o-valor-de-uma-propriedade"></a>

É possível retornar o valor guardado dentro de uma propriedade de contato usando como referencia o nome interno dessa propriedade e salvando seu conteúdo em uma variavel criado no Builder.

<figure><img src="/files/93phHijsojBtoSRu276r" alt="" width="434"><figcaption></figcaption></figure>

<figure><img src="/files/crgTGDGyBRPv4iBnw4fc" alt="" width="435"><figcaption></figcaption></figure>

```
Url: https://server.spread.chat/landbot/getProperties

Método: POST

Body:
{
"contactToken": "{{contacttoken}}",
"props": [
"nome interno da propriedade do hubspot"
]
}
```

### Modificar o valor de uma propriedade de contato <a href="#modificar-o-valor-de-uma-propriedade-de-contato" id="modificar-o-valor-de-uma-propriedade-de-contato"></a>

Aqui é possível editar o valor interno de uma propriedade de contato com informações coletadas no chatbot ou para marcar os contatos que entraram por algum caminho especifico.

<figure><img src="/files/076nsXBMq8umhYtHIDip" alt="" width="435"><figcaption></figcaption></figure>

{% hint style="warning" %}
As propriedades devem ser preenchidas **conforme a configuração da mesma no Hubspot**. Pode ser qualquer campo aberto, mas caso seja um propriedade com opções de seleção, ela **deve ser preenchida conforme o valor do rotulo interno**. Essa informação é acessada diretamente nas configurações da propriedade no Hubspot.
{% endhint %}

```
// Url: https://server.spread.chat/landbot/setProperties

Método: POST 

Body:

{
"contactToken": "{{contacttoken}}",
"props": {
"nome interno propriedade do hubspot": "valor de como será preenchido"
}
}
```

### Direcionamento com base no fluxo de trabalho <a href="#criacao-de-negocio" id="criacao-de-negocio"></a>

Essa configuração permite identificar fluxos de trabalhos ativos e com isso realizar construção de fluxos e direcionamentos específicos para cada fluxo.&#x20;

<figure><img src="/files/Wp9KuJ2iX1YZgwgFqSgo" alt="" width="436"><figcaption></figcaption></figure>

<figure><img src="/files/1coYabEcJJHa7iayxAPG" alt="" width="434"><figcaption></figcaption></figure>

```
// Url: https://server.spread.chat/landbot/getType/colocar_aqui_id_gerado_pela_spread

Método: POST 

Body:

{
"contactnumber": "{{phone}}",
"interval": 48,
"lastChatInterval": 0
}
```

{% hint style="warning" %}
**Importante**: Precisa criar a variável **workflowId** e em seguida conectar um keyword jump com a variável criada, informando o ID do fluxo que deseja identificar.
{% endhint %}

### Revezamento entre atendentes <a href="#criacao-de-negocio" id="criacao-de-negocio"></a>

O **revezamento** é uma configuração que garante que os contatos que chegam sejam distribuídos de forma **equilibrada** entre os atendentes que desejar.

<figure><img src="/files/yr1D8YwjrAs15titvkTd" alt="" width="434"><figcaption></figcaption></figure>

<figure><img src="/files/1GX5naiTfXnAE5I1EcOH" alt="" width="432"><figcaption></figcaption></figure>

{% hint style="warning" %}
**Importante:** Após realizar essa configuração é necessário que conecte esse webhook a um keyword jump usando a variavel criada e incluindo o número de opções informadas na url.
{% endhint %}

```
// Url: https://us-central1-spread-chat-333716.cloudfunctions.net/hubspot-api-interface/getRandomInt

Método: POST

Body:

{
"min": 1,
"max": 2
}
```

{% hint style="info" %}
Você pode realizar o revezamento entre mais atendentes basta em "max" colocar o número que deseja.
{% endhint %}

### Criação de negócio

Criar um negócio envolve configurar um fluxo que permita coletar informações dos usuários e registrar essas informações de forma eficiente.

<figure><img src="/files/HVzVR7YM9pXo1rcklwup" alt="" width="434"><figcaption></figcaption></figure>

```
// Url: https://us-central1-spread-chat-333716.cloudfunctions.net/hubspot-api-interface/createDeal/[PORTAL-ID]

Método: POST

Body:

{
"contactId": "22301",
"properties": {
"dealname": "Nome do negócio",
"dealstage": "22503826",
"pipeline": "7773810",
"prop-hubspot": "example"
}
}
```

{% hint style="info" %}
**Observações:**

**dealstage:** Id da etapa que o negócio será criado

**pipeline:** Id do pipeline que o negócio será criado

Qualquer propriedade adicional pode ser adicionada, exemplo:

"**nome\_interno\_da\_prop**": "**novo valor**"
{% endhint %}

### Criação de Tickets <a href="#criacao-de-tickets" id="criacao-de-tickets"></a>

Criar um ticket no chatbot pode ser uma ótima maneira de gerenciar solicitações de suporte ou feedback de usuários de forma organizada.

<figure><img src="/files/K276IFzE1jxBXrIjSr7K" alt="" width="434"><figcaption></figcaption></figure>

<pre><code>// Url: https://us-central1-spread-chat-333716.cloudfunctions.net/hubspot-api-interface/createTicket/[PORTAL-ID]

Método: POST

Body:

{
"contactId": "[id-do-contato]",
"properties": {
"subject": "Nome do ticket",
"hs_pipeline_stage": "1",
<strong>"hs_pipeline": "0",
</strong>"hs_ticket_priority": "HIGH"
}
}
</code></pre>

{% hint style="info" %}
**Observações:**

**subject:** Nome do ticket

**hs\_pipeline\_stage:** Id do pipeline

**hs\_pipeline:** Id do pipeline

Qualquer propriedade adicional pode ser inserida, exemplo:

"**nome\_interno\_da\_prop**": "**novo valor**"
{% endhint %}

Essas integrações garantem que as informações sejam transmitidas de forma eficiente e segura, melhorando a agilidade do atendimento e a personalização da experiência dos seus clientes.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.rvops.com/spread.chat/chatbot/webhook.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
