Ouvrir le Studio

Google Sheets Writer

Ecrire des donnees dans des Google Sheets existants ou nouveaux avec les modes append, update et upsert

A quoi sert ce node ?

Le node Google Sheets Writer (v3.0) ecrit des donnees dans des tableurs Google Sheets. Il prend en charge trois modes d’ecriture — append, update et upsert — vous donnant un controle total sur la facon dont les donnees arrivent dans vos tableurs. Vous pouvez ecrire dans un tableur existant ou en creer un nouveau a la volee.

Cas d’usage courants :

  • Enregistrer les resultats de workflows dans un tableur de suivi
  • Mettre a jour des fiches CRM a partir de donnees enrichies
  • Creer de nouveaux tableurs de rapports avec des titres dynamiques
  • Synchroniser les donnees traitees vers Sheets pour l’acces equipe

Configuration rapide

Connecter votre compte Google

Ouvrez les parametres du node et selectionnez votre integration Google Sheets dans le menu deroulant. Si vous n’avez pas encore connecte Google Sheets, rendez-vous dans Parametres > Integrations pour ajouter votre compte Google.

Choisir un tableur cible

Cliquez sur le selecteur de tableur pour choisir un tableur existant, ou activez Creer un nouveau tableur pour en generer un lors de l’execution du workflow.

Selectionner un mode d’ecriture

Choisissez append pour ajouter des lignes, update pour modifier des lignes existantes, ou upsert pour faire les deux. Pour update et upsert, specifiez les colonnes de correspondance.

Connecter l’entree de donnees

Connectez le node en amont qui fournit les donnees a ecrire. Le node accepte les tableaux JSON d’objets, les tableaux 2D, les tableaux 1D ou les objets simples.

Entree

data string

Les donnees a ecrire, sous forme de chaine JSON. Supporte plusieurs formats :

Tableau JSON d’objets (le plus courant) :

[
  {"Name": "Alice", "Score": 95, "Status": "Pass"},
  {"Name": "Bob", "Score": 82, "Status": "Pass"}
]

Tableau 2D :

[
  ["Alice", 95, "Pass"],
  ["Bob", 82, "Pass"]
]

Objet simple :

{"Name": "Alice", "Score": 95, "Status": "Pass"}

Tableau 1D (ligne unique) :

["Alice", 95, "Pass"]

Parametres de configuration

Champs obligatoires

integration_id integration required

Integration Google Sheets — Selectionnez le compte Google a utiliser. L’integration doit avoir un acces en ecriture au tableur cible.

write_mode string required

Comment les donnees doivent etre ecrites dans le tableur.

ModeComportement
appendAjouter de nouvelles lignes a la fin du tableur
updateTrouver les lignes existantes par colonnes de correspondance et les mettre a jour
upsertMettre a jour les lignes correspondantes, ajouter les lignes non correspondantes

Selection du tableur

google_sheet_id string

L’identifiant d’un tableur existant, selectionne via le Google Picker. Obligatoire lorsque create_new est desactive.

sheet_name string

Le nom de l’onglet dans lequel ecrire. Par defaut, le premier onglet est utilise si non specifie.

Parametres update et upsert

match_columns array

Noms des colonnes utilisees pour faire correspondre les lignes existantes en modes update et upsert. Le node trouve les lignes ou toutes les valeurs des colonnes de correspondance sont egales, puis met a jour les colonnes restantes.

Exemple : ["Email"] — correspondance par adresse email

Exemple : ["Product_ID", "Region"] — correspondance par cle composite

Warning

Les colonnes de correspondance sont obligatoires pour les modes update et upsert. Sans elles, le node ne peut pas identifier quelles lignes mettre a jour. Les noms de colonnes doivent correspondre exactement aux en-tetes du tableur.

Creation d’un nouveau tableur

create_new boolean default: false

Lorsque cette option est activee, cree un nouveau tableur au lieu d’ecrire dans un existant.

spreadsheet_title string

Titre du nouveau tableur. Obligatoire lorsque create_new est active.

Exemple : SEO Audit Results - January 2024

use_dynamic_title boolean default: false

Lorsque cette option est activee, le champ spreadsheet_title supporte les {{variables}} pour un nommage dynamique.

Exemple : {{client_name}} - Report {{date}}

folder_id string

Identifiant du dossier Google Drive ou le nouveau tableur doit etre cree. Si non specifie, le tableur est cree a la racine de votre Drive.

Sortie

output string

Message de confirmation avec les details de l’operation d’ecriture.

Mode append :

{
  "status": "success",
  "rows_appended": 25,
  "spreadsheet_id": "1BxiMVs..."
}

Mode update :

{
  "status": "success",
  "rows_updated": 12,
  "spreadsheet_id": "1BxiMVs..."
}

Mode upsert :

{
  "status": "success",
  "rows_updated": 8,
  "rows_appended": 3,
  "spreadsheet_id": "1BxiMVs..."
}

Creation d’un nouveau tableur :

{
  "status": "success",
  "spreadsheet_id": "1New...",
  "spreadsheet_url": "https://docs.google.com/spreadsheets/d/1New.../edit",
  "rows_written": 25
}

Acceder a la sortie : {{GoogleSheetsWriter_0.output}}

Modes d’ecriture expliques

Append

Ajoute de nouvelles lignes en bas du tableur. Les donnees existantes ne sont jamais modifiees. Ideal pour la journalisation, la collecte de resultats ou la construction progressive de jeux de donnees.

graph LR
    A[Lignes existantes 1-100] --> B[Nouvelles lignes ajoutees a partir de 101]

Update

Trouve les lignes correspondant aux match_columns specifiees et ecrase les autres colonnes. Les lignes sans correspondance sont ignorees — aucune nouvelle ligne n’est ajoutee. Ideal pour la synchronisation ou la correction de donnees existantes.

Upsert

Combine update et append : les lignes correspondantes sont mises a jour, les lignes sans correspondance sont ajoutees comme nouvelles lignes. Ideal pour les ecritures idempotentes ou l’execution repetee du meme workflow produit le meme resultat.

Tip

Utilisez upsert pour les workflows idempotents. Si votre workflow peut s’executer plusieurs fois avec les memes donnees, upsert empeche les doublons tout en ajoutant les nouvelles entrees authentiques.

Exemples d’utilisation

Exemple 1 : Ajouter les resultats d’un audit SEO

Executer un audit SEO sur une liste d’URLs et enregistrer les resultats dans un tableur.

Configuration :

  • Mode d’ecriture : append
  • Nom de l’onglet : Audit Results

Donnees en entree :

[
  {"URL": "https://example.com/page1", "Title_Length": 55, "H1_Count": 1, "Score": 92},
  {"URL": "https://example.com/page2", "Title_Length": 72, "H1_Count": 0, "Score": 45}
]

Workflow :

  1. Google Sheets Reader — Lire la liste des URLs a auditer
  2. Loop — Iterer sur chaque URL
  3. HTML Cleaner — Recuperer et nettoyer le contenu de la page
  4. LLM — Analyser les facteurs SEO
  5. Google Sheets Writer — Ajouter les resultats ligne par ligne

Exemple 2 : Upsert de l’inventaire produits

Mettre a jour les niveaux de stock des produits, en ajoutant les nouveaux produits qui n’existent pas encore.

Configuration :

  • Mode d’ecriture : upsert
  • Colonnes de correspondance : ["SKU"]
  • Nom de l’onglet : Inventory

Donnees en entree :

[
  {"SKU": "WIDGET-001", "Name": "Widget A", "Stock": 150, "Last_Updated": "2024-01-15"},
  {"SKU": "WIDGET-NEW", "Name": "Widget C", "Stock": 50, "Last_Updated": "2024-01-15"}
]

Si WIDGET-001 existe deja, sa ligne est mise a jour. WIDGET-NEW est ajoute comme nouvelle ligne.

Bonnes pratiques

  • Utilisez upsert pour les ecritures idempotentes. Les workflows susceptibles de s’executer plusieurs fois doivent utiliser upsert avec des colonnes de correspondance appropriees pour eviter de creer des doublons.
  • Choisissez des colonnes de correspondance specifiques. Utilisez des identifiants uniques (email, SKU, URL) comme colonnes de correspondance. La correspondance sur des colonnes non uniques peut mettre a jour les mauvaises lignes.
  • Envoyez les donnees sous forme de tableaux JSON d’objets. Ce format se mappe proprement aux colonnes du tableur et constitue le format d’entree le plus fiable.
  • Utilisez les titres dynamiques pour les rapports. Activez use_dynamic_title avec des variables comme {{date}} ou {{client_name}} pour generer automatiquement des noms de tableurs significatifs.

Problemes courants

Les en-tetes sont ecrits comme une ligne de donnees

Cause : La premiere ecriture dans un tableur vide peut inclure les en-tetes comme une ligne si le format des donnees ne correspond pas a la structure existante du tableur.

Solution : Assurez-vous que le tableur cible a deja une ligne d’en-tete, ou envoyez les donnees sous forme d’objets JSON (pas de tableaux) pour que le node puisse creer les en-tetes automatiquement lors de la premiere ecriture.

Le mode update ne modifie aucune ligne

Cause : Les valeurs des match_columns dans les donnees d’entree ne correspondent a aucune ligne existante dans le tableur.

Solution :

  • Verifiez que les noms des colonnes de correspondance correspondent exactement aux en-tetes du tableur (sensible a la casse)
  • Verifiez que les valeurs dans les colonnes de correspondance existent dans le tableur
  • Envisagez d’utiliser le mode upsert si vous souhaitez que les lignes sans correspondance soient ajoutees

Nodes associes