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.
| Mode | Comportement |
|---|---|
append | Ajouter de nouvelles lignes a la fin du tableur |
update | Trouver les lignes existantes par colonnes de correspondance et les mettre a jour |
upsert | Mettre 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
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.
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 :
- Google Sheets Reader — Lire la liste des URLs a auditer
- Loop — Iterer sur chaque URL
- HTML Cleaner — Recuperer et nettoyer le contenu de la page
- LLM — Analyser les facteurs SEO
- 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_titleavec 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
upsertsi vous souhaitez que les lignes sans correspondance soient ajoutees