> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/expert-center/pt-br/faq-and-troubleshooting/iot-logic/how-to-connect-an-iot-logic-webhook-node-to-google-sheets.md).

# Como conectar um Nó Webhook do IoT Logic ao Google Sheets

Envie parâmetros de telemática de um fluxo do IoT Logic ao Google Sheets usando o Nó Webhook. Abrange configuração do nó, Apps Script e níveis de acesso de implantação.

Neste guia, você aprenderá como enviar parâmetros telemáticos ou valores de uma Fonte de Dados externa do fluxo do IoT Logic da Navixy para o Google Sheets usando o nó Webhook.

<img src="https://1173629567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIgDb43gtyXcm1Av4h1np%2Fuploads%2FN1ViKhMchLe2tVWC9rW5%2Funknown.png?alt=media&amp;token=21f441d8-e064-4336-afcc-c22c5e1779a0" alt="" height="236" width="624">

## Etapa 1. Adicione o nó Webhook

Depois que o seu fluxo do IoT Logic tiver sido criado, adicione um nó Webhook e conecte-o ao gatilho que iniciará a transmissão de dados.

O nó Webhook funciona como um mecanismo fire-and-forget. Isso significa que ele envia a solicitação HTTP imediatamente quando é acionado, mas não espera nem armazena a resposta do servidor.

Depois de adicionar o nó Webhook, configure-o da seguinte forma.

#### URL

Digite a URL do aplicativo web do Google Apps Script associada à planilha do Google Sheets para a qual você deseja enviar as informações.

#### Cabeçalhos

Adicione o seguinte cabeçalho HTTP:

| Chave            | Valor            |
| ---------------- | ---------------- |
| Tipo de conteúdo | application/json |

#### Corpo

O corpo da solicitação deve estar no formato JSON. Ele deve incluir a chave de autenticação e todos os dados que você deseja enviar ao Google Sheets.

Exemplo:

*{*

*"key": "MY\_SUPER\_SECRET\_123",*

*"evento": "relatório\_matinal\_de\_Combustível",*

*"device\_id": "{{device\_label}}",*&#x20;

*"timestamp": "{{comb\_current\_time}}"*

*}*

Você pode incluir quaisquer atributos adicionais do IoT Logic ou parâmetros de telemetria usando seus respectivos espaços reservados.

Observação: o campo "key" é obrigatório se o seu Google Apps Script usar um segredo compartilhado para autenticar solicitações de webhook recebidas. Substitua "MY\_SUPER\_SECRET\_123" pelo segredo configurado no seu Google Apps Script.

<img src="https://1173629567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIgDb43gtyXcm1Av4h1np%2Fuploads%2FRrdnGQ2FtONud0qqk7Gn%2Funknown.png?alt=media&amp;token=50444694-7408-4931-9d78-f7b713cb468b" alt="" height="497" width="309">

## Etapa 2. Configure a planilha do Google

Abra sua Planilha Google, clique em Extensions e, em seguida, selecione Apps Script.

<img src="https://1173629567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIgDb43gtyXcm1Av4h1np%2Fuploads%2FxBPxi9Ahrz6hYj3isiO4%2Funknown.png?alt=media&amp;token=333a133e-0728-42a2-9439-c9e77e130727" alt="" height="277" width="624">

Isso abrirá o arquivo Code.gs, onde você adicionará o script responsável por receber as solicitações de webhook e gravar os dados na planilha.

<img src="https://1173629567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIgDb43gtyXcm1Av4h1np%2Fuploads%2FzGi71dP0c0yoqEGsjbbB%2Funknown.png?alt=media&amp;token=9ceac0d9-d50c-4cf2-84b2-2f275925e9a4" alt="" height="249" width="624">

O código de exemplo a seguir pode ser usado para receber os valores enviados pelo nó Webhook e acrescentá-los como uma nova linha na sua Planilha Google.

*function doPost(e) {*

*var SECRET\_KEY = "MY\_SUPER\_SECRET\_123";*

*var data = JSON.parse(e.postData.contents);*

*if (data.key !== SECRET\_KEY) {*

*return ContentService.createTextOutput("Access Denied").setMimeType(ContentService.MimeType.TEXT);*

*}*

*var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();*

*sheet.appendRow(\[*

*new Date(),*

*data.name || "",*

*data.device\_id || "",*

*data.longitud || "",*

*data.latitud || ""*

*]);*

*return ContentService.createTextOutput("Success").setMimeType(ContentService.MimeType.TEXT);*

*}*

**Observação**: Substitua o código de exemplo acima pelo script fornecido abaixo. Você também pode personalizar os campos para corresponder aos dados enviados pelo seu webhook do IoT Logic.

O script acima atua como um endpoint HTTP POST que recebe solicitações enviadas pelo nó Webhook do IoT Logic.

Sempre que uma solicitação é recebida, o script primeiro valida um segredo compartilhado (SECRET\_KEY) para garantir que apenas solicitações de webhook autorizadas possam gravar dados na Planilha Google. Se a autenticação for bem-sucedida, a carga útil JSON é analisada e os parâmetros especificados — como o carimbo de data/hora de recebimento, o nome do dispositivo, o ID do dispositivo, a longitude, a latitude ou quaisquer outros valores de telemetria — são automaticamente adicionados como uma nova linha na planilha.

Por fim, o script retorna uma resposta indicando se a operação foi concluída com sucesso (Sucesso) ou rejeitada devido a uma chave de autenticação inválida (Acesso negado).

Importante: Os nomes de campo usados no script devem corresponder exatamente aos nomes dos parâmetros enviados pelo webhook do IoT Logic. Cada valor é acessado usando a sintaxe data.\<parameter\_name>, em que \<parameter\_name> corresponde à propriedade JSON recebida na solicitação.

Por exemplo, se o webhook enviar o seguinte parâmetro:

*{*

*"fuel\_level": 68,5*

*}*

O Apps Script deve se referir a ele como:

*data.Combustível\_level*

Se o script, em vez disso, fizer referência a:

*data.nível\_de\_Combustível\_março*

O valor não será preenchido porque não existe nenhum parâmetro com esse nome no payload JSON recebido. Como resultado, a célula correspondente no Google Sheets permanecerá vazia.

Este é um dos erros de configuração mais comuns ao integrar o IoT Logic Webhook com o Google Sheets. Sempre verifique se os nomes dos parâmetros no corpo do Webhook correspondem exatamente aos usados no Apps Script, incluindo maiúsculas e minúsculas, sublinhados e grafia.

Depois de concluir a correspondência do corpo JSON com o seu código do Apps Script, clique no botão Deploy.

Em Who has access, certifique-se de selecionar Anyone.

Essa configuração é necessária porque, quando o nó Webhook envia uma solicitação HTTP POST para a URL do Web App do Google Apps Script, a solicitação é recebida como um cliente anônimo (sem as credenciais da sua conta Google).

Se o nível de acesso estiver configurado como:

* Only myself – o Google rejeitará a solicitação ou exigirá autenticação.
* Anyone – o Google aceitará a solicitação POST sem exigir que o remetente faça login.

Por esse motivo, Anyone é o nível de acesso recomendado ao receber solicitações de provedores externos de webhook, como Navixy, ngrok, Postman, curl ou qualquer outro cliente HTTP de terceiros.<br>

<img src="https://1173629567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIgDb43gtyXcm1Av4h1np%2Fuploads%2FpUD1naI3DbunN0V3zmhD%2Funknown.png?alt=media&amp;token=aa405c86-ae6d-48ca-bb88-e00bc7290d45" alt="" height="409" width="390">

Selecione New Deployment e, em seguida, escolha Web App no menu de tipo de implantação. O processo de implantação pode levar alguns instantes. Quando for concluído, uma URL do Web App será gerada. Copie esta URL e cole-a no campo URL do nó Webhook no seu fluxo do IoT Logic. A URL do Web App é o endpoint que receberá as solicitações HTTP POST enviadas pelo nó Webhook.

<img src="https://1173629567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIgDb43gtyXcm1Av4h1np%2Fuploads%2Fk4TCKGYMxwcPb4kzvPxo%2Funknown.png?alt=media&amp;token=c0e5a05f-5a90-43d5-82b3-c5c068dc5b35" alt="" height="494.99999999999994" width="624">

<img src="https://1173629567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIgDb43gtyXcm1Av4h1np%2Fuploads%2FH8Ullj2zVuFZs4lHGItx%2Funknown.png?alt=media&amp;token=f63312b5-a3fa-40c2-83e0-ef977a06fd05" alt="" height="492" width="624">

#### Atualizando o Apps Script

Se você precisar modificar o Apps Script mais tarde, não precisará criar uma nova implantação.

Em vez disso, clique em Deploy → Manage Deployments, selecione a implantação existente e clique em Edit (ícone de lápis). Depois de salvar e implantar novamente a versão atualizada, as alterações feitas no script entrarão em vigor imediatamente, mantendo a mesma URL do Web App.

Isso permite que você atualize o script sem precisar modificar a configuração do Webhook no IoT Logic.

<img src="https://1173629567-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FIgDb43gtyXcm1Av4h1np%2Fuploads%2FsfpLsoQucj997CWAc2oS%2Funknown.png?alt=media&amp;token=7270bc46-c379-47a1-91b3-e6b43edd8d7a" alt="" height="613" width="624">

Depois de concluir todas as etapas descritas neste guia, a conexão entre IoT Logic e Google Sheets deverá ser estabelecida com sucesso.

Esta integração oferece uma maneira simples e eficaz de registrar dados de telemetria, parâmetros externos ou atributos personalizados do IoT Logic para relatórios, análise, auditoria ou integração com outras ferramentas do Google Workspace.

<br>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://navixy.com/docs/expert-center/pt-br/faq-and-troubleshooting/iot-logic/how-to-connect-an-iot-logic-webhook-node-to-google-sheets.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
