Automatisation Zammad avec n8n : mise à jour des rôles par défaut
- Ce workflow n8n a pour objectif de simplifier la gestion des rôles dans Zammad, un système de gestion de tickets. Dans un contexte où la gestion des utilisateurs et de leurs rôles est cruciale pour le bon fonctionnement d'une équipe, ce workflow permet d'automatiser la mise à jour des rôles des utilisateurs vers des valeurs par défaut. Cela est particulièrement utile pour les entreprises qui doivent régulièrement ajuster les permissions des utilisateurs en fonction de l'évolution de leurs équipes ou de leurs projets.
- Le processus commence par un déclencheur manuel, permettant à l'utilisateur de tester le workflow à la demande. Ensuite, le workflow récupère tous les utilisateurs via un nœud Zammad, suivi d'une vérification des rôles existants grâce à une requête HTTP. Si des rôles doivent être filtrés, une condition est appliquée pour déterminer lesquels. Les rôles sont ensuite convertis en un format Excel, facilitant leur gestion. Enfin, une requête HTTP met à jour les utilisateurs avec les rôles par défaut définis.
- Les bénéfices de cette automatisation n8n incluent un gain de temps considérable pour les équipes, une réduction des erreurs humaines lors de la mise à jour des rôles, et une meilleure conformité aux politiques internes de gestion des accès. En centralisant ce processus, les entreprises peuvent se concentrer sur des tâches à plus forte valeur ajoutée.
Workflow n8n Zammad, gestion des rôles : vue d'ensemble
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Workflow n8n Zammad, gestion des rôles : détail des nœuds
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "cDmsWx8ASzIxE3zw",
"meta": {
"instanceId": "494d0146a0f47676ad70a44a32086b466621f62da855e3eaf0ee51dee1f76753",
"templateCredsSetupCompleted": true
},
"name": "Update all Zammad Roles to default values",
"tags": [],
"nodes": [
{
"id": "32904945-fd7b-413f-898c-62b04406dfb0",
"name": "When clicking ‘Test workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-920,
160
],
"parameters": {},
"typeVersion": 1
},
{
"id": "cbb0abd2-e153-477a-9346-00eaa1628c78",
"name": "Zammad Univeral User Object",
"type": "n8n-nodes-base.set",
"position": [
100,
220
],
"parameters": {
"values": {
"number": [
{
"name": "user_id",
"value": "={{ $json.id }}"
},
{
"name": "organization_id",
"value": "={{ $json.organization_id }}"
}
],
"string": [
{
"name": "email",
"value": "={{ $json.email }}"
},
{
"name": "firstname",
"value": "={{ $json.firstname }}"
},
{
"name": "lastname",
"value": "={{ $json.lastname }}"
},
{
"name": "role_ids",
"value": "={{ $json.role_ids.join() }}\n"
},
{
"name": "groups",
"value": "={{ $json.group_ids }}"
},
{
"name": "active",
"value": "={{ $json.active }}"
}
]
},
"options": {},
"keepOnlySet": true
},
"typeVersion": 1
},
{
"id": "bbf82b69-07b5-4dff-afec-ee65eeedd037",
"name": "Get all Users",
"type": "n8n-nodes-base.zammad",
"position": [
-220,
220
],
"parameters": {
"filters": {},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"zammadTokenAuthApi": {
"id": "fj5GuzcJuNLQeMxz",
"name": "Zammad Token Auth account"
}
},
"typeVersion": 1
},
{
"id": "0c122c6b-22a7-41f5-8ea1-c9a32cd12ed6",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
400,
220
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0be03c44-5017-4db6-87cd-91838b953d09",
"operator": {
"type": "array",
"operation": "notContains",
"rightType": "any"
},
"leftValue": "={{ $('Basic Variables').item.json.exclude_zammad_users_by_id }}",
"rightValue": "={{ $json.user_id }}"
},
{
"id": "6a730e91-fa40-4e8a-b6cb-894f2cb367c5",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.active }}",
"rightValue": ""
},
{
"id": "b3d13440-f3fc-4172-b16d-e191f050a2bf",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "63f98607-1f56-4f83-93be-aa3b271da11b",
"name": "Get all Roles",
"type": "n8n-nodes-base.httpRequest",
"position": [
-220,
-20
],
"parameters": {
"url": "={{ $json.zammad_base_url }}/api/v1/roles",
"options": {},
"sendHeaders": true,
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "=Bearer {{ $json.zammad_api_key }}"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "961bf663-30be-45b4-87f0-d7ec94c3435b",
"name": "Basic Variables",
"type": "n8n-nodes-base.set",
"position": [
-620,
160
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "68b32087-5e23-4590-8042-0061234ce479",
"name": "zammad_base_url",
"type": "string",
"value": "-put-your-zammad-base-url-"
},
{
"id": "7db7572e-2524-4f2a-a1d6-b44330662c30",
"name": "zammad_api_key",
"type": "string",
"value": "-put-your-api-key-"
},
{
"id": "7cd0a1d2-8898-47c7-a1c6-195ff6162bb9",
"name": "default_roles",
"type": "array",
"value": "={{ [-put-in-the-default-roles-ids-separated-by-comma-] }}"
},
{
"id": "4628705c-4875-4d42-90d1-692b9b44fc24",
"name": "exclude_zammad_users_by_id",
"type": "array",
"value": "={{ [-put-in-the-user-ids-separated-by-comma-] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a86577aa-1eb2-48e6-b941-bdfb37b58073",
"name": "Zammad Univeral Role Object",
"type": "n8n-nodes-base.set",
"position": [
100,
-20
],
"parameters": {
"values": {
"number": [
{
"name": "role_id",
"value": "={{ $json.id }}"
},
{
"name": "name",
"value": "={{ $json.name }}"
}
]
},
"options": {},
"keepOnlySet": true
},
"typeVersion": 1
},
{
"id": "ecc387b3-092d-43c9-9187-784f07c4df77",
"name": "Convert to Excel Roles",
"type": "n8n-nodes-base.convertToFile",
"position": [
760,
-40
],
"parameters": {
"options": {
"fileName": "Zammad_Roles.xlsx"
},
"operation": "xlsx"
},
"typeVersion": 1.1
},
{
"id": "e8055ae6-78d8-4736-adee-4b8c883b4000",
"name": "Filter Roles if needed",
"type": "n8n-nodes-base.if",
"position": [
400,
-20
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0ca9d3a3-b726-4396-8cec-4a74c8e3949b",
"operator": {
"type": "object",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": 1781
}
]
}
},
"typeVersion": 2.2
},
{
"id": "45b01919-ba58-4c7a-a97f-d169cb361855",
"name": "Update Users to default Role(s)",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueErrorOutput",
"position": [
760,
200
],
"parameters": {
"url": "={{ $('Basic Variables').item.json.zammad_base_url }}/api/v1/users/{{ $json.user_id }}",
"method": "PUT",
"options": {},
"jsonBody": "={\n \"role_ids\": [\n {{ $('Basic Variables').item.json.default_roles }}\n ]\n} ",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "=Bearer {{ $('Basic Variables').item.json.zammad_api_key }}"
}
]
}
},
"typeVersion": 4.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "4fa55089-104d-477e-8a93-c8cb0caf7bed",
"connections": {
"If": {
"main": [
[
{
"node": "Update Users to default Role(s)",
"type": "main",
"index": 0
}
]
]
},
"Get all Roles": {
"main": [
[
{
"node": "Zammad Univeral Role Object",
"type": "main",
"index": 0
}
]
]
},
"Get all Users": {
"main": [
[
{
"node": "Zammad Univeral User Object",
"type": "main",
"index": 0
}
]
]
},
"Basic Variables": {
"main": [
[
{
"node": "Get all Roles",
"type": "main",
"index": 0
},
{
"node": "Get all Users",
"type": "main",
"index": 0
}
]
]
},
"Filter Roles if needed": {
"main": [
[
{
"node": "Convert to Excel Roles",
"type": "main",
"index": 0
}
]
]
},
"Zammad Univeral Role Object": {
"main": [
[
{
"node": "Filter Roles if needed",
"type": "main",
"index": 0
}
]
]
},
"Zammad Univeral User Object": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Update Users to default Role(s)": {
"main": [
[],
[]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "Basic Variables",
"type": "main",
"index": 0
}
]
]
}
}
}Workflow n8n Zammad, gestion des rôles : pour qui est ce workflow ?
Ce workflow s'adresse aux équipes de support et de gestion des utilisateurs au sein des entreprises utilisant Zammad. Il est idéal pour les PME et les TPE qui cherchent à automatiser la gestion des rôles sans nécessiter de compétences techniques avancées.
Workflow n8n Zammad, gestion des rôles : problème résolu
Ce workflow résout le problème de la gestion manuelle des rôles dans Zammad, qui peut être source d'erreurs et de pertes de temps. En automatisant ce processus, les entreprises évitent les incohérences dans les permissions des utilisateurs et garantissent que chaque membre de l'équipe dispose des accès appropriés. Cela améliore également la sécurité en s'assurant que les utilisateurs ne conservent pas des rôles obsolètes.
Workflow n8n Zammad, gestion des rôles : étapes du workflow
Étape 1 : Le workflow est déclenché manuellement par l'utilisateur.
- Étape 1 : Il récupère tous les utilisateurs de Zammad.
- Étape 2 : Une vérification des rôles existants est effectuée via une requête HTTP.
- Étape 3 : Si nécessaire, des rôles sont filtrés selon des conditions définies.
- Étape 4 : Les rôles sont convertis en un format Excel pour une gestion simplifiée.
- Étape 5 : Enfin, une mise à jour des utilisateurs est effectuée pour leur attribuer les rôles par défaut.
Workflow n8n Zammad, gestion des rôles : guide de personnalisation
Pour personnaliser ce workflow, vous pouvez modifier l'URL de la requête HTTP pour correspondre à votre instance Zammad. Vous pouvez également ajuster les conditions de filtrage des rôles selon vos besoins spécifiques. Si vous souhaitez intégrer d'autres outils, envisagez d'ajouter des nœuds supplémentaires pour enrichir le flux. Assurez-vous de sécuriser les appels API en utilisant des clés d'authentification appropriées et surveillez les mises à jour de votre instance Zammad pour garantir la compatibilité.