Skip to content

Sheets — ajouter une ligne ​

Ajoute une ligne à une feuille Google Sheets. Une colonne de dédoublonnage évite la ligne en double lors d’une nouvelle tentative.

Ce nœud ajoute une ligne à une feuille de calcul Google Sheets : le cas du registre, où chaque mail qui arrive ajoute une ligne (une demande, une facture, un contact). Les valeurs s’écrivent sous leurs en-têtes de colonne, ou dans l’ordre à partir de la colonne A.

Il exige l’accès Google Sheets d’un compte Google, affiché comme la capacité Feuilles de calcul dans Connexions. Voir Google. La ligne est écrite avec le compte du membre qui exécute le workflow.

Pour extraire d’abord les valeurs du mail, placez une étape Extraire avant lui. Pour un classeur Excel sur SharePoint ou OneDrive, utilisez le nœud Excel ; pour une table tenue dans le produit, voir Tables.

En bref ​

  • Type : google_sheets.append · version 1
  • Catégorie : Actions
  • Nature : Étape — s’exécute pendant une exécution
  • Effet : Écrit à l’extérieur (external_write) — écrit hors de Mankomail ; décrit au lieu d’être fait pendant un essai
  • Exige un mail porteur : Non
  • Connexion : Google (capacité sheets)
  • Entrées : main
  • Sorties : main

Connexion ​

Ce nœud exige une connexion Google avec la capacité sheets accordée.

Paramètres ​

credential ​

Compte Google — Le compte qui porte l’accès Google Sheets. Il se connecte une fois dans Connexions ; le workflow s’exécute toujours avec le compte du membre qui le fait tourner.

  • Type : Connexion (credential)
  • Requis : Oui
  • Défaut : "" (vide)

spreadsheet ​

Feuille de calcul — Choisie dans la liste, par identifiant, ou en collant l’URL de la feuille.

  • Type : Ressource distante (resourceLocator)
  • Requis : Oui
  • Façons de choisir : dans une liste, saisir un identifiant, coller une URL (sheet)
  • Listé avec la connexion de : credential

sheetName ​

Onglet — Laissé vide, la ligne va dans le premier onglet du classeur.

  • Type : Texte (string)
  • Requis : Non
  • Défaut : "" (vide)
  • 200 caractères au plus
  • Exemple : Feuille 1
  • Expressions : {{ }} accepté

mode ​

Comment décrire la ligne

  • Type : Un choix (options)
  • Requis : Oui
  • Défaut : columns
  • Options :
    • columns — Par colonnes (en-têtes) : Chaque valeur va sous son en-tête. Insérer une colonne au milieu ne casse rien.
    • row — Ligne ordonnée (A, B, C…) : Les valeurs dans l’ordre, à partir de la colonne A. Pour un tableur sans en-tête.

values ​

Valeurs par colonne

  • Type : Liste d’éléments (collection)
  • Requis : Non
  • Défaut : []
  • Au plus 40 éléments
  • Chaque élément a :
    • column — En-tête de colonne
      • Type : Texte (string)
      • Requis : Oui
      • Défaut : "" (vide)
      • 200 caractères au plus
      • Expressions : {{ }} refusé
    • value — Valeur
      • Type : Texte (string)
      • Requis : Non
      • Défaut : "" (vide)
      • 10000 caractères au plus
  • Affiché quand : mode vaut columns

row ​

Valeurs, dans l’ordre — La première ligne va en colonne A, la deuxième en B, et ainsi de suite.

  • Type : Liste d’éléments (collection)
  • Requis : Non
  • Défaut : []
  • Au plus 40 éléments
  • Chaque élément a :
    • value — Valeur
      • Type : Texte (string)
      • Requis : Non
      • Défaut : "" (vide)
      • 10000 caractères au plus
  • Affiché quand : mode vaut row

keyColumn ​

Colonne de dédoublonnage — ⚠️ Sans elle, une nouvelle tentative après une coupure peut ajouter la ligne deux fois — l’API de Google n’offre aucune clé d’idempotence. Renseignée, la ligne n’est ajoutée que si sa valeur n’y figure pas déjà.

  • Type : Texte (string)
  • Requis : Non
  • Défaut : "" (vide)
  • 200 caractères au plus
  • Exemple : Référence
  • Affiché quand : mode vaut columns
  • Expressions : {{ }} refusé

Sorties ​

  • main

Données produites ​

Ce que ce nœud ajoute aux données de l’exécution, et comment le lire dans une expression. <step> désigne la clé de l’étape : le nom du nœud ramené à un identifiant (voir Données et expressions).

  • {{ data.<step>.rowNumber }} — number. Le numéro de la ligne écrite, tel que le tableur l’affiche (la ligne d’en-têtes est la ligne 1). Absent quand la ligne était un doublon et en essai.
  • {{ data.<step>.updatedRange }} — string. La plage que Google dit avoir écrite, par exemple Feuille 1!A7:D7. Absente quand la ligne était un doublon et en essai.
  • {{ data.<step>.duplicate }} — boolean. true quand la colonne de dédoublonnage contenait déjà la valeur : rien n’a été écrit. Toujours false sans colonne de dédoublonnage et en essai.
  • {{ data.<step>.simulated }} — boolean. true en essai : rien n’a été écrit dans la feuille.
  • {{ data.<step>.summary }} — string. Une phrase lisible qui dit où la ligne a été ajoutée, ou qu’elle y était déjà.

Exemple ​

Chaque demande de devis est consignée dans un onglet Demandes dont la ligne d’en-têtes contient Date, Référence, Client, Montant. Une étape d’extraction nommée Extraire lit la référence et le montant. Le nœud s’appelle Consigner la demande :

spreadsheet: (mode URL) https://docs.google.com/spreadsheets/d/1Bx…/edit
sheetName: Demandes
mode: columns
values:
  - column: Référence
    value: {{ data.extraire.reference }}
  - column: Client
    value: {{ email.from.email }}
  - column: Montant
    value: {{ data.extraire.montant }}
keyColumn: Référence

La première fois, la ligne est ajoutée sous les bons en-têtes (la cellule Date reste vide) et les données de l’étape sont :

json
{
  "updatedRange": "Demandes!A12:D12",
  "rowNumber": 12,
  "duplicate": false,
  "simulated": false
}

Si l’étape est retentée, ou si un second mail porte la même référence, le nœud trouve cette référence dans la colonne Référence et n’écrit rien : duplicate vaut true.

Conseils ​

  • Éviter les doublons. L’API de Google n’offre aucune clé d’idempotence : sans colonne de dédoublonnage, une nouvelle tentative de l’étape après incident peut ajouter deux fois la même ligne. Avec elle, le nœud lit d’abord cette colonne et n’écrit que si la valeur n’y figure pas déjà. Choisissez une colonne dont la valeur est vraiment unique (un identifiant de mail, une référence de commande). La colonne de dédoublonnage n’existe qu’en mode « Par colonnes », et sa valeur est celle que vous donnez à cette même colonne dans « Valeurs par colonne ».
  • En-têtes. En mode « Par colonnes », le nœud lit la ligne 1 de l’onglet et pose chaque valeur sous son en-tête, quel que soit l’ordre des colonnes ; la correspondance ignore la casse et les espaces de bord. Une valeur dont l’en-tête est introuvable est ajoutée en fin de ligne plutôt que perdue. Une colonne de dédoublonnage introuvable dans les en-têtes ne dédoublonne rien : la ligne est écrite.
  • Ligne ordonnée. En mode « Ligne ordonnée », la première valeur va en colonne A, la deuxième en B, et ainsi de suite ; une valeur vide laisse sa cellule vide sans décaler les suivantes. À utiliser pour une feuille sans ligne d’en-têtes.
  • Onglet. Laissé vide, la ligne va dans le premier onglet du classeur. Les en-têtes de colonne sont des champs de structure et n’acceptent pas d’expression.
  • Valeurs saisies. Les valeurs sont écrites comme si on les tapait : 2026-04-12 devient une date et =SUM(B2:B11) une formule.
  • Bornes. Au plus 40 valeurs par ligne. Le contrôle de doublon lit la colonne jusqu’à la ligne 5 000.
  • Feuille de calcul. Choisissez-la dans la liste, saisissez son identifiant ou collez son URL (https://docs.google.com/spreadsheets/d/<id>/edit). L’onglet présent dans l’URL (#gid=) n’est pas lu : renseignez « Onglet ».
  • Rien à écrire. Une ligne sans valeur (tous les noms de colonne vides, ou aucune entrée) échoue avec node_nothing_to_do ; aucune feuille choisie échoue avec node_invalid_param.
  • Essais. En essai, rien n’est écrit et aucun doublon n’est vérifié : l’étape rend simulated: true, duplicate: false et aucun numéro de ligne.
  • Erreurs. credential.capability_missing : Google Sheets n’est pas connecté pour le membre qui exécute le workflow. google.not_found : la feuille n’existe pas ou le compte ne peut pas l’ouvrir. google.bad_locator : la valeur collée n’est ni un identifiant ni une URL de feuille. google.rejected : Google a refusé l’écriture (par exemple un nom d’onglet inexistant). google.unavailable est retenté automatiquement. Voir Gestion des erreurs.