> 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 de telemetria 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

Assim que 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 de envio e esquecimento. 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

Insira a URL do Web App do Google Apps Script associada à planilha do Google na 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 requisição deve estar no formato JSON. Ele deve incluir a chave de autenticação e quaisquer dados que você queira enviar ao Google Sheets.

Exemplo:

*{*

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

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

*"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 placeholders.

Observação: o campo "key" é obrigatório se o seu Google Apps Script usar um segredo compartilhado para autenticar requisiçõ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 do Google, clique em Extensões 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 requisiçõ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ó do Webhook e anexá-los como uma nova linha na sua planilha do 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 do 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 e hora do recebimento, o nome do dispositivo, o ID do dispositivo, a longitude, a latitude ou quaisquer outros valores de telemetria — são adicionados automaticamente 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 IoT Logic Webhook. 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:

*{*

*"nível\_de\_Combustível": 68,5*

*}*

O Apps Script deve referenciá-lo como:

*data.fuel\_level*

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

*data.Combustível\_level\_march*

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

Este é um dos erros de configuração mais comuns ao integrar o Webhook do IoT Logic com o Google Sheets. Verifique sempre 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 entre o corpo JSON e o código do Apps Script, clique no botão Deploy.

Em Quem tem acesso, certifique-se de selecionar Qualquer pessoa.

Essa configuração é necessária porque, quando o Nó de 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 do Google).

Se o nível de acesso estiver configurado como:

* Apenas eu – o Google rejeitará a solicitação ou exigirá autenticação.
* Qualquer pessoa – o Google aceitará a solicitação POST sem exigir que o remetente faça login.

Por esse motivo, Qualquer pessoa é 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 Nova implantação e, em seguida, escolha Web App no menu de tipo de implantação. O processo de implantação pode levar alguns instantes. Quando ele for concluído, uma URL do Web App será gerada. Copie essa URL e cole-a no campo URL do Nó de Webhook no seu fluxo do IoT Logic. A URL do Web App é o endpoint que receberá as solicitações HTTP POST enviadas pelo Nó de 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 → Gerenciar implantações, selecione a implantação existente e clique em Editar (ícone de lápis). Depois de salvar e reimplantar 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 o IoT Logic e o Google Sheets deverá ser estabelecida com êxito.

Essa integração oferece uma maneira simples e eficaz de registrar dados de telemetria, parâmetros externos ou atributos personalizados do IoT Logic para geração de 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 dynamically by asking a question.

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

```
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=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
