Workflow n8n

Automatisation Google Sheets avec n8n : gestion des utilisateurs

Ce workflow n8n est conçu pour automatiser la gestion des utilisateurs à partir de Google Sheets. Dans un contexte où les entreprises doivent gérer efficacement leurs bases de données utilisateurs, ce workflow permet de récupérer les informations des utilisateurs, de les comparer avec une liste existante et d'inviter les nouveaux utilisateurs à rejoindre une plateforme. L'objectif principal est de simplifier le processus d'intégration des utilisateurs et de garantir que toutes les informations sont à jour.

  • Étape 1 : Le workflow est déclenché manuellement via un nœud 'Test workflow'.
  • Étape 2 : Il effectue une requête HTTP pour récupérer tous les utilisateurs existants.
  • Étape 3 : Ensuite, il utilise Google Sheets pour obtenir toutes les lignes d'une feuille spécifique contenant des informations sur les utilisateurs.
  • Étape 4 : Les données sont ensuite fusionnées pour identifier les utilisateurs qui ne figurent pas dans la liste existante.
  • Étape 5 : Les nouveaux utilisateurs sont invités à rejoindre la plateforme via une autre requête HTTP. Ce processus d'automatisation n8n permet aux entreprises de gagner du temps et de réduire les erreurs humaines lors de la gestion des utilisateurs. En centralisant les informations et en automatisant les invitations, les équipes peuvent se concentrer sur des tâches à plus forte valeur ajoutée, améliorant ainsi l'efficacité opérationnelle et la satisfaction des utilisateurs.
Tags clés :Google Sheetsautomatisationgestion des utilisateursn8nintégration
Catégorie: Manual · Tags: Google Sheets, automatisation, gestion des utilisateurs, n8n, intégration0

Workflow n8n Google Sheets, gestion des utilisateurs : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Google Sheets, gestion des utilisateurs : détail des nœuds

  • When clicking ‘Test workflow’

    Déclenche le workflow manuellement lorsque l'utilisateur clique sur 'Test workflow'.

  • Get all Users

    Effectue une requête HTTP pour récupérer tous les utilisateurs.

  • Get all rows

    Récupère toutes les lignes d'une feuille Google Sheets spécifiée.

  • Get non-users

    Fusionne les données en excluant les utilisateurs selon les critères définis.

  • Invite Users

    Envoie une requête HTTP pour inviter des utilisateurs avec les données fournies.

  • Schedule Trigger

    Déclenche le workflow selon un calendrier défini par une règle.

  • Edit Fields

    Modifie les champs des données en fonction des affectations spécifiées.

  • Sticky Note3

    Crée une note autocollante avec les paramètres de couleur, largeur, hauteur et contenu.

  • Create users list

    Crée une liste d'utilisateurs en définissant les affectations des données.

  • Sticky Note1

    Crée une note autocollante avec des spécifications de couleur, largeur, hauteur et contenu.

  • Combine all paginated results

    Combine tous les résultats paginés en utilisant le code JavaScript fourni.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "meta": {
    "instanceId": "e634e668fe1fc93a75c4f2a7fc0dad807ca318b79654157eadb9578496acbc76",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "58c6003f-3311-448b-a949-4fbc22b38e2e",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -560,
        80
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "67e4f66c-256f-4e45-b98e-d2872a416ff5",
      "name": "Get all Users",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        80,
        100
      ],
      "parameters": {
        "url": "={{ $json.n8n_url }}",
        "options": {
          "pagination": {
            "pagination": {
              "parameters": {
                "parameters": [
                  {
                    "name": "cursor",
                    "value": "={{ $response.body.nextCursor }}"
                  }
                ]
              },
              "completeExpression": "={{ !$response.body.nextCursor }}",
              "paginationCompleteWhen": "other"
            }
          }
        },
        "sendQuery": true,
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "limit",
              "value": "5"
            }
          ]
        },
        "nodeCredentialType": "n8nApi"
      },
      "credentials": {
        "n8nApi": {
          "id": "dzYjDgtEXtpRPKhe",
          "name": "n8n account"
        },
        "httpHeaderAuth": {
          "id": "iiLmD473RYjGLbCA",
          "name": "Squarespace API key - Apps script"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "2a66ddc7-5fde-4e2b-9ad6-7c68968214ae",
      "name": "Get all rows",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        80,
        -180
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/15A3ZWzIBfONL4U_1XGJvtsS8HtMQ69qrpxd5C5L6Akg/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "15A3ZWzIBfONL4U_1XGJvtsS8HtMQ69qrpxd5C5L6Akg",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/15A3ZWzIBfONL4U_1XGJvtsS8HtMQ69qrpxd5C5L6Akg/edit?usp=drivesdk",
          "cachedResultName": "n8n-submission"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "JgI9maibw5DnBXRP",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.5
    },
    {
      "id": "f220c6db-eafb-4bb5-9cbe-43edcf563a67",
      "name": "Get non-users",
      "type": "n8n-nodes-base.merge",
      "position": [
        620,
        -100
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "advanced": true,
        "joinMode": "keepNonMatches",
        "mergeByFields": {
          "values": [
            {
              "field1": "Email Address",
              "field2": "email"
            }
          ]
        },
        "outputDataFrom": "input1"
      },
      "typeVersion": 3
    },
    {
      "id": "906e8dde-4c58-4e93-9e07-3064a5dd60dd",
      "name": "Invite Users",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1100,
        -100
      ],
      "parameters": {
        "url": "={{ $('Edit Fields').item.json.n8n_url }}",
        "method": "POST",
        "options": {},
        "jsonBody": "={{ [$json] }}",
        "sendBody": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "n8nApi"
      },
      "credentials": {
        "n8nApi": {
          "id": "dzYjDgtEXtpRPKhe",
          "name": "n8n account"
        },
        "httpHeaderAuth": {
          "id": "iiLmD473RYjGLbCA",
          "name": "Squarespace API key - Apps script"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "195d0c33-611a-4a16-b62c-8ba1f4f31e19",
      "name": "Schedule Trigger",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -560,
        -160
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "dd453b5b-f238-43b1-8c44-2c3ed3a3d7ba",
      "name": "Edit Fields",
      "type": "n8n-nodes-base.set",
      "position": [
        -220,
        -20
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c3a7a1ee-d1a2-4a29-b4b3-dcadf0fc16e2",
              "name": "n8n_url",
              "type": "string",
              "value": "https://{n8n-url}/api/v1/users"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "07e678c7-7c98-4f09-89d8-5e4d7d442a8f",
      "name": "Sticky Note3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -280,
        -160
      ],
      "parameters": {
        "color": 4,
        "width": 230,
        "height": 300,
        "content": "## Edit this node 👇\nChange n8n_url to your instance URL\nhttps://docs.n8n.io/api/authentication/#call-the-api-using-your-key"
      },
      "typeVersion": 1
    },
    {
      "id": "2bfb10b6-220b-4c73-a15f-190412f2dda2",
      "name": "Create users list",
      "type": "n8n-nodes-base.set",
      "position": [
        880,
        -100
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "36282722-07ec-47b1-ab08-c649b7901ed7",
              "name": "email",
              "type": "string",
              "value": "={{ $json['Email Address'] }}"
            },
            {
              "id": "9b073e1d-8c16-45b1-b333-97dfe635eb73",
              "name": "role",
              "type": "string",
              "value": "global:member"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "221ca946-e305-4283-bca1-4289b8a7db28",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1000,
        -300
      ],
      "parameters": {
        "color": 4,
        "width": 371.1995072042308,
        "height": 600.88409546716,
        "content": "## Invite users to n8n from Google sheets\nThis workflow will get all Users from n8n and compare against the rows from Google sheets and create new users\n\nInvitation emails will be sent once the new users created\n\nYou can run the workflow on demand or by schedule\n\n## Spreadsheet template\n\nThe sheet columns are inspire from Squarespace newsletter block connection, but you can change the node to adapt new columns format\n\nClone the [sample sheet here](https://docs.google.com/spreadsheets/d/1wi2Ucb4b35e0-fuf-96sMnyzTft0ADz3MwdE_cG_WnQ/edit?usp=sharing)\n- Submitted On\t\n- Email Address\t\n- Name"
      },
      "typeVersion": 1
    },
    {
      "id": "c956e102-7fe3-4ee4-90e0-32cb11556c2c",
      "name": "Combine all paginated results",
      "type": "n8n-nodes-base.code",
      "position": [
        320,
        100
      ],
      "parameters": {
        "jsCode": "let results = [];\nfor (let i = 0; i < $input.all().length; i++) {\n  results = results.concat($input.all()[i].json.data);\n}\n\nreturn results;"
      },
      "typeVersion": 2
    }
  ],
  "pinData": {},
  "connections": {
    "Edit Fields": {
      "main": [
        [
          {
            "node": "Get all rows",
            "type": "main",
            "index": 0
          },
          {
            "node": "Get all Users",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get all rows": {
      "main": [
        [
          {
            "node": "Get non-users",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get all Users": {
      "main": [
        [
          {
            "node": "Combine all paginated results",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get non-users": {
      "main": [
        [
          {
            "node": "Create users list",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create users list": {
      "main": [
        [
          {
            "node": "Invite Users",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Combine all paginated results": {
      "main": [
        [
          {
            "node": "Get non-users",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "When clicking ‘Test workflow’": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}

Workflow n8n Google Sheets, gestion des utilisateurs : pour qui est ce workflow ?

Ce workflow s'adresse aux entreprises de taille petite à moyenne qui utilisent Google Sheets pour gérer leurs données utilisateurs. Il est particulièrement utile pour les équipes de ressources humaines, de marketing ou de gestion des opérations qui cherchent à automatiser leurs processus et à améliorer leur efficacité. Un niveau technique de base est recommandé pour la personnalisation.

Workflow n8n Google Sheets, gestion des utilisateurs : problème résolu

Ce workflow résout le problème de la gestion manuelle des utilisateurs, qui peut être source d'erreurs et de pertes de temps. En automatisant le processus d'invitation et de mise à jour des utilisateurs, les entreprises peuvent réduire les risques d'erreurs humaines et garantir que toutes les informations sont à jour. Les utilisateurs bénéficient d'une intégration plus rapide et d'une expérience améliorée, ce qui peut se traduire par une meilleure rétention et satisfaction.

Workflow n8n Google Sheets, gestion des utilisateurs : étapes du workflow

Étape 1 : Le workflow est déclenché manuellement.

  • Étape 1 : Une requête HTTP est effectuée pour récupérer tous les utilisateurs existants.
  • Étape 2 : Les données sont extraites de Google Sheets pour obtenir toutes les lignes pertinentes.
  • Étape 3 : Les utilisateurs non présents dans la liste sont identifiés grâce à un nœud de fusion.
  • Étape 4 : Les nouveaux utilisateurs sont invités via une autre requête HTTP.
  • Étape 5 : Les champs sont modifiés pour préparer les données à l'envoi.
  • Étape 6 : Les résultats sont combinés pour obtenir une liste finale des utilisateurs.

Workflow n8n Google Sheets, gestion des utilisateurs : guide de personnalisation

Pour personnaliser ce workflow, commencez par modifier l'URL de la requête HTTP pour récupérer les utilisateurs selon vos besoins. Vous pouvez également changer le nom de la feuille Google Sheets et l'ID du document pour pointer vers votre propre fichier. Si vous souhaitez inviter des utilisateurs via un autre service, ajustez le nœud d'invitation en conséquence. Assurez-vous de sécuriser les informations sensibles en utilisant des authentifications appropriées et en surveillant le flux pour détecter d'éventuelles erreurs.