> 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 télématiques ou des valeurs de source de données externe depuis le flux IoT Logic de Navixy 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 initiera la transmission des données.

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

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 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\_du\_matin\_sur\_le\_Carburant",*

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

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

*}*

Vous pouvez inclure tout attribut IoT Logic supplémentaire ou paramètre 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 Google

Ouvrez votre feuille 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, dans lequel 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 depuis le nœud Webhook et les ajouter en tant que nouvelle ligne dans votre feuille 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("Accès refusé").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);*

*}*

**Note**: Remplacez l'exemple de code 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 par le nœud Webhook IoT Logic.

Chaque fois qu’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 peuvent é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 non valide (Accès refusé).

Important : Les noms de champ utilisés dans le script doivent correspondre exactement aux noms des 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 :

*{*

*"niveau\_de\_carburant": 68,5*

*}*

Le script Apps Script doit y faire référence ainsi :

*data.fuel\_level*

Si le script fait plutôt référence à :

*data.fuel\_level\_march*

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 des paramètres dans le corps du Webhook correspondent exactement à ceux utilisés dans Apps Script, y compris la casse, les tirets bas 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 provenant d'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 externes de Webhook 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 du script Apps Script

Si vous devez modifier le script Apps Script par la suite, 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 fournit un moyen simple et efficace d'enregistrer des données de télémétrie, des paramètres externes ou des attributs personnalisés d'IoT Logic pour la création de rapports, l'analyse, l'audit ou l'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 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/fr/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.
