> 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/fr/faq-and-troubleshooting/iot-logic/how-to-connect-an-iot-logic-webhook-node-to-google-sheets.md).

# Comment connecter un nœud Webhook IoT Logic à Google Sheets

Envoyez des paramètres de télématique depuis un flux IoT Logic vers Google Sheets à l'aide du nœud Webhook. Couvre la configuration du nœud, Apps Script et les niveaux d'accès au déploiement.

Dans ce guide, vous apprendrez à envoyer des paramètres de télémétrie ou des valeurs d'une Source de données externe depuis le flux Navixy IoT Logic vers Google Sheets à l'aide du Nœud Webhook.

<img src="https://938069364-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">

## Étape 1. Ajouter le Nœud Webhook

Une fois votre flux IoT Logic créé, ajoutez un Nœud Webhook et connectez-le au déclencheur qui lancera la transmission des données.

Le Nœud Webhook fonctionne comme un mécanisme d'envoi sans attente. Cela signifie qu'il envoie immédiatement la requête HTTP lorsqu'il est déclenché, mais n'attend pas la réponse du serveur et ne la stocke pas.

Après avoir ajouté le Nœud Webhook, configurez-le comme suit.

#### URL

Saisissez l'URL de l'application web Google Apps Script associée à la feuille de calcul Google Sheets vers laquelle vous souhaitez envoyer les informations.

#### En-têtes

Ajoutez l'en-tête HTTP suivant :

| Clé             | Valeur           |
| --------------- | ---------------- |
| Type de contenu | application/json |

#### Corps

Le corps de la requête doit être au format JSON. Il doit inclure la clé d’authentification et toutes les données que vous souhaitez envoyer à Google Sheets.

Exemple :

*{*

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

*"événement": "rapport\_matinal\_de\_Carburant",*

*"device\_id": "{{device\_label}}",*

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

*}*

Vous pouvez inclure des attributs supplémentaires de IoT Logic ou des paramètres de télémétrie en utilisant leurs espaces réservés correspondants.

Remarque : le champ « key » est requis si votre Google Apps Script utilise un secret partagé pour authentifier les requêtes Webhook entrantes. Remplacez « MY\_SUPER\_SECRET\_123 » par le secret configuré dans votre Google Apps Script.

<img src="https://938069364-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">

## Étape 2. Configurer la feuille de calcul Google

Ouvrez votre feuille de calcul Google, cliquez sur Extensions, puis sélectionnez Apps Script.

<img src="https://938069364-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">

Cela ouvrira le fichier Code.gs, où vous ajouterez le script chargé de recevoir les requêtes Webhook et d’écrire les données dans la feuille de calcul.

<img src="https://938069364-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">

Le code d’exemple suivant peut être utilisé pour recevoir les valeurs envoyées par le nœud Webhook et les ajouter comme une nouvelle ligne dans votre feuille de calcul 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);*

*}*

**Remarque**: Remplacez le code d'exemple ci-dessus par le script fourni ci-dessous. Vous pouvez également personnaliser les champs pour qu'ils correspondent aux données envoyées depuis votre Webhook IoT Logic.

Le script ci-dessus agit comme un point de terminaison HTTP POST qui reçoit les requêtes envoyées depuis le Nœud Webhook d’IoT Logic.

Lorsqu’une requête est reçue, le script valide d’abord un secret partagé (SECRET\_KEY) afin de garantir que seules les requêtes Webhook autorisées puissent écrire des données dans la feuille Google. Si l’authentification réussit, la charge utile JSON est analysée et les paramètres spécifiés — tels que l’horodatage de réception, le nom de l’appareil, l’ID de l’appareil, la longitude, la latitude ou toute autre valeur de télémétrie — sont automatiquement ajoutés comme une nouvelle ligne dans la feuille de calcul.

Enfin, le script renvoie une réponse indiquant si l’opération a été menée à bien avec succès (Succès) ou rejetée en raison d’une clé d’authentification invalide (Accès refusé).

Important : les noms de champ utilisés dans le script doivent correspondre exactement aux noms de paramètres envoyés par le Webhook IoT Logic. Chaque valeur est accessible à l’aide de la syntaxe data.\<parameter\_name>, où \<parameter\_name> correspond à la propriété JSON reçue dans la requête.

Par exemple, si le Webhook envoie le paramètre suivant :

*{*

*"fuel\_level": 68,5*

*}*

Le script Apps doit y faire référence comme suit :

*data.fuel\_level*

Si le script fait référence à :

*data.niveau\_de\_carburant\_marche*

La valeur ne sera pas renseignée, car aucun paramètre portant ce nom n'existe dans la charge utile JSON entrante. Par conséquent, la cellule correspondante dans Google Sheets restera vide.

C'est l'une des erreurs de configuration les plus courantes lors de l'intégration du Webhook IoT Logic avec Google Sheets. Vérifiez toujours que les noms de paramètres dans le corps du Webhook correspondent exactement à ceux utilisés dans Apps Script, y compris la casse, les traits de soulignement et l'orthographe.

Une fois que vous avez terminé d'associer le corps JSON à votre code Apps Script, cliquez sur le bouton Déployer.

Sous Qui a accès, assurez-vous de sélectionner N'importe qui.

Ce paramètre est requis, car lorsque le Nœud Webhook envoie une requête HTTP POST à l'URL de l'application Web Google Apps Script, la requête est reçue comme un client anonyme (sans les identifiants de votre compte Google).

Si le niveau d'accès est configuré comme suit :

* Moi uniquement – Google rejettera la requête ou exigera une authentification.
* N'importe qui – Google acceptera la requête POST sans exiger que l'expéditeur se connecte.

Pour cette raison, N'importe qui est le niveau d'accès recommandé lors de la réception de requêtes provenant de fournisseurs de Webhook externes tels que Navixy, ngrok, Postman, curl ou tout autre client HTTP tiers.<br>

<img src="https://938069364-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">

Sélectionnez Nouveau déploiement, puis choisissez Application Web dans le menu du type de déploiement. Le processus de déploiement peut prendre quelques instants. Une fois terminé, une URL de l'application Web sera générée. Copiez cette URL et collez-la dans le champ URL du Nœud Webhook dans votre flux IoT Logic. L'URL de l'application Web est le point de terminaison qui recevra les requêtes HTTP POST envoyées par le Nœud Webhook.

<img src="https://938069364-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://938069364-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">

#### Mise à jour d'Apps Script

Si vous devez modifier Apps Script ultérieurement, vous n'avez pas besoin de créer un nouveau déploiement.

Au lieu de cela, cliquez sur Déployer → Gérer les déploiements, sélectionnez le déploiement existant, puis cliquez sur Modifier (icône crayon). Après avoir enregistré et redéployé la version mise à jour, les modifications apportées au script prendront effet immédiatement tout en conservant la même URL de l'application Web.

Cela vous permet de mettre à jour le script sans avoir à modifier la configuration du Webhook dans IoT Logic.

<img src="https://938069364-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">

Après avoir terminé toutes les étapes décrites dans ce guide, la connexion entre IoT Logic et Google Sheets devrait être établie avec succès.

Cette intégration offre un moyen simple et efficace d'enregistrer des données de télémétrie, des paramètres externes ou des attributs personnalisés IoT Logic à des fins de création de rapports, d'analyse, d'audit ou d'intégration avec d'autres outils 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/fr/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.
