Automatisation Notion avec n8n : gestion des utilisateurs et semestres
Ce workflow n8n a pour objectif d'automatiser la gestion des utilisateurs et des semestres dans Notion, facilitant ainsi le suivi et l'organisation des données. Dans un contexte où les entreprises cherchent à optimiser leur gestion de projet et à centraliser leurs informations, ce workflow s'avère particulièrement utile pour les équipes de gestion de projet, les responsables de formation ou toute organisation utilisant Notion pour la gestion de ses ressources. Le premier déclencheur de ce workflow est un webhook qui permet de capturer les informations d'inscription des utilisateurs, notamment leur nom et leur adresse e-mail. Une fois ces données extraites, le workflow vérifie si l'utilisateur existe déjà dans la base de données Notion. Si l'utilisateur n'existe pas, il est créé automatiquement. Ensuite, le workflow interroge la base de données pour récupérer les semestres en cours et associe l'utilisateur à ces semestres. Les étapes suivantes incluent la mise à jour des informations de l'utilisateur avec l'identifiant du semestre, garantissant ainsi que toutes les données sont à jour et correctement liées. Grâce à cette automatisation n8n, les entreprises peuvent réduire les erreurs manuelles, gagner du temps et améliorer la précision des données, tout en offrant une expérience utilisateur fluide et efficace.
Workflow n8n notion, 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 notion, gestion des utilisateurs : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"nodes": [
{
"name": "Extract Name and Email",
"type": "n8n-nodes-base.set",
"position": [
950,
130
],
"parameters": {
"values": {
"string": [
{
"name": "Name",
"value": "={{$json[\"body\"][\"name\"]}}"
},
{
"name": "Email",
"value": "={{$json[\"body\"][\"email\"]}}"
}
],
"boolean": []
},
"options": {},
"keepOnlySet": true
},
"typeVersion": 1
},
{
"name": "Sign Up",
"type": "n8n-nodes-base.webhook",
"notes": "Example Input Data: {\"name\":\"John Doe\",\"email\":\"doe.j@northeastern.edu\"}",
"position": [
720,
130
],
"webhookId": "6d60a1b4-6706-4f21-a5fb-bace13c24b53",
"parameters": {
"path": "sign-up",
"options": {
"responseData": ""
},
"httpMethod": "POST",
"authentication": "basicAuth"
},
"credentials": {
"httpBasicAuth": {
"id": "11",
"name": "Oasis Basic Auth Creds"
}
},
"notesInFlow": true,
"typeVersion": 1
},
{
"name": "If user exists",
"type": "n8n-nodes-base.if",
"position": [
1560,
150
],
"parameters": {
"conditions": {
"string": [],
"boolean": [
{
"value1": "={{Object.keys($json).includes(\"id\") }}",
"value2": true
}
]
}
},
"executeOnce": false,
"typeVersion": 1,
"alwaysOutputData": false
},
{
"name": "Create User",
"type": "n8n-nodes-base.notion",
"position": [
1750,
240
],
"parameters": {
"resource": "databasePage",
"databaseId": "27a30c5b-c418-4200-8f48-d7fb7b043fbe",
"propertiesUi": {
"propertyValues": [
{
"key": "Name|title",
"title": "={{$json[\"Name\"]}}"
},
{
"key": "Email|email",
"emailValue": "={{$json[\"Email\"]}}"
}
]
}
},
"credentials": {
"notionApi": {
"id": "3",
"name": "Oasis Hub Production"
}
},
"typeVersion": 1
},
{
"name": "Query for User",
"type": "n8n-nodes-base.notion",
"position": [
1150,
230
],
"parameters": {
"options": {
"filter": {
"singleCondition": {
"key": "Email|email",
"condition": "equals",
"emailValue": "={{$json[\"Email\"]}}"
}
}
},
"resource": "databasePage",
"operation": "getAll",
"databaseId": "27a30c5b-c418-4200-8f48-d7fb7b043fbe"
},
"credentials": {
"notionApi": {
"id": "3",
"name": "Oasis Hub Production"
}
},
"executeOnce": false,
"typeVersion": 1,
"alwaysOutputData": true
},
{
"name": "Query Current Semester",
"type": "n8n-nodes-base.notion",
"position": [
2180,
-30
],
"parameters": {
"options": {
"sort": {
"sortValue": [
{
"key": "created_time",
"direction": "descending",
"timestamp": true
}
]
},
"filter": {
"singleCondition": {
"key": "Is Current?|checkbox",
"condition": "equals",
"checkboxValue": true
}
}
},
"resource": "databasePage",
"operation": "getAll",
"returnAll": true,
"databaseId": "2003319a-bc73-423a-9378-01999b4884fb"
},
"credentials": {
"notionApi": {
"id": "3",
"name": "Oasis Hub Production"
}
},
"typeVersion": 1
},
{
"name": "Select Semester ID",
"type": "n8n-nodes-base.set",
"position": [
2370,
-30
],
"parameters": {
"values": {
"number": [],
"string": [
{
"name": "currentSemesterID",
"value": "={{$json[\"id\"]}}"
}
]
},
"options": {},
"keepOnlySet": true
},
"typeVersion": 1
},
{
"name": "Update Semester for User",
"type": "n8n-nodes-base.notion",
"position": [
3050,
110
],
"parameters": {
"pageId": "={{$json[\"id\"]}}",
"resource": "databasePage",
"operation": "update",
"propertiesUi": {
"propertyValues": [
{
"key": "Semesters|relation",
"relationValue": [
"={{$json[\"allSemesterIDs\"].join(',')}}"
]
}
]
}
},
"credentials": {
"notionApi": {
"id": "3",
"name": "Oasis Hub Production"
}
},
"typeVersion": 1
},
{
"name": "Merge Semester ID",
"type": "n8n-nodes-base.merge",
"position": [
2590,
110
],
"parameters": {
"mode": "multiplex"
},
"typeVersion": 1
},
{
"name": "Concatenate Semester IDs",
"type": "n8n-nodes-base.function",
"position": [
2820,
110
],
"parameters": {
"functionCode": "for (item of items) {\n // Get the current semester ID\n const currentSemesterID = item.json[\"currentSemesterID\"]\n let allSemesterIDs = [currentSemesterID];\n\n // Add semesters that the user is already associated with\n if (item.json[\"Semesters\"]?.length > 0) {\n allSemesterIDs = allSemesterIDs.concat(item.json[\"Semesters\"].filter(semesterID => semesterID !== currentSemesterID));\n }\n\n // Set allSemesterIDs which is used to update the relation\n item.json[\"allSemesterIDs\"] = allSemesterIDs\n}\n\nreturn items;\n"
},
"typeVersion": 1
},
{
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
1340,
150
],
"parameters": {
"mode": "mergeByKey",
"propertyName1": "Email",
"propertyName2": "Email"
},
"typeVersion": 1
},
{
"name": "Query User",
"type": "n8n-nodes-base.notion",
"position": [
1950,
130
],
"parameters": {
"options": {
"filter": {
"singleCondition": {
"key": "Email|email",
"condition": "equals",
"emailValue": "={{$json[\"Email\"]}}"
}
}
},
"resource": "databasePage",
"operation": "getAll",
"returnAll": true,
"databaseId": "27a30c5b-c418-4200-8f48-d7fb7b043fbe"
},
"credentials": {
"notionApi": {
"id": "3",
"name": "Oasis Hub Production"
}
},
"typeVersion": 1,
"alwaysOutputData": true
}
],
"connections": {
"Merge": {
"main": [
[
{
"node": "If user exists",
"type": "main",
"index": 0
}
]
]
},
"Sign Up": {
"main": [
[
{
"node": "Extract Name and Email",
"type": "main",
"index": 0
}
]
]
},
"Query User": {
"main": [
[
{
"node": "Query Current Semester",
"type": "main",
"index": 0
},
{
"node": "Merge Semester ID",
"type": "main",
"index": 1
}
]
]
},
"Create User": {
"main": [
[
{
"node": "Query User",
"type": "main",
"index": 0
}
]
]
},
"If user exists": {
"main": [
[
{
"node": "Query User",
"type": "main",
"index": 0
}
],
[
{
"node": "Create User",
"type": "main",
"index": 0
}
]
]
},
"Query for User": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Merge Semester ID": {
"main": [
[
{
"node": "Concatenate Semester IDs",
"type": "main",
"index": 0
}
]
]
},
"Select Semester ID": {
"main": [
[
{
"node": "Merge Semester ID",
"type": "main",
"index": 0
}
]
]
},
"Extract Name and Email": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
},
{
"node": "Query for User",
"type": "main",
"index": 0
}
]
]
},
"Query Current Semester": {
"main": [
[
{
"node": "Select Semester ID",
"type": "main",
"index": 0
}
]
]
},
"Concatenate Semester IDs": {
"main": [
[
{
"node": "Update Semester for User",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n notion, gestion des utilisateurs : pour qui est ce workflow ?
Ce workflow s'adresse aux équipes de gestion de projet, aux responsables de formation et aux entreprises utilisant Notion pour organiser leurs données. Il est idéal pour les organisations de taille moyenne à grande qui cherchent à automatiser leurs processus et à améliorer leur efficacité opérationnelle.
Workflow n8n notion, gestion des utilisateurs : problème résolu
Ce workflow résout le problème de la gestion manuelle des utilisateurs et des semestres dans Notion, ce qui peut être source d'erreurs et de pertes de temps. En automatisant ces processus, les utilisateurs peuvent éviter les doublons, garantir que les informations sont toujours à jour et réduire le risque d'erreurs humaines. À la suite de la mise en place de ce workflow, les équipes bénéficieront d'une gestion des données plus fluide et d'une meilleure visibilité sur les utilisateurs et les semestres associés.
Workflow n8n notion, gestion des utilisateurs : étapes du workflow
Étape 1 : Le workflow est déclenché par un webhook qui capture le nom et l'e-mail de l'utilisateur.
- Étape 1 : Les informations sont extraites et vérifiées pour déterminer si l'utilisateur existe déjà dans la base de données Notion.
- Étape 2 : Si l'utilisateur n'existe pas, il est créé dans Notion.
- Étape 3 : Le workflow interroge la base de données pour récupérer les semestres en cours.
- Étape 4 : L'identifiant du semestre est sélectionné et associé à l'utilisateur.
- Étape 5 : Les informations de l'utilisateur sont mises à jour avec l'identifiant du semestre, assurant ainsi une gestion cohérente des données.
Workflow n8n notion, gestion des utilisateurs : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier le chemin du webhook pour l'adapter à votre application. Assurez-vous également de mettre à jour l'ID de la base de données Notion utilisée pour stocker les utilisateurs et les semestres. Si vous souhaitez ajouter d'autres outils, envisagez d'intégrer des services comme Slack ou des notifications par e-mail pour alerter les utilisateurs lors de leur inscription. Pensez à sécuriser le flux en ajoutant des contrôles d'accès appropriés et en surveillant les erreurs potentielles pour garantir un fonctionnement optimal.