Automatisation n8n : relance automatique des workflows
Ce workflow n8n a pour objectif de relancer automatiquement des workflows en cas d'échec, permettant ainsi d'optimiser les processus métier et de réduire les interruptions. Dans un contexte où la continuité des opérations est cruciale, ce type d'automatisation est particulièrement utile pour les équipes techniques et les entreprises qui dépendent de flux de travail automatisés. En intégrant ce workflow, les utilisateurs peuvent s'assurer que leurs processus critiques ne sont pas affectés par des erreurs ponctuelles. Le déroulé commence par un déclencheur manuel, où l'utilisateur peut tester le workflow. Ensuite, le workflow se connecte à n8n pour récupérer les détails de connexion via une requête HTTP. Si une erreur est détectée, le système tente de relancer le workflow automatiquement grâce à une autre requête HTTP. Un point de décision est intégré pour déterminer si le processus doit continuer ou non. Si aucune action n'est requise, le workflow exécute une opération de non-action. Des notes autocollantes sont également ajoutées pour fournir des informations visuelles sur l'état d'exécution. Les bénéfices de cette automatisation n8n sont multiples : elle réduit le temps d'arrêt des workflows, améliore la fiabilité des processus et permet aux équipes de se concentrer sur des tâches à plus forte valeur ajoutée. En intégrant ce type de solution, les entreprises peuvent améliorer leur efficacité opérationnelle tout en minimisant les risques d'erreurs humaines. Tags clés : automatisation, n8n, workflow.
Vue d'ensemble du workflow n8n
Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.
Détail des nœuds du workflow n8n
Inscris-toi pour voir l'intégralité du workflow
Inscription gratuite
S'inscrire gratuitementBesoin d'aide ?{
"id": "JJKkNnO4PQ12gQdE",
"meta": {
"instanceId": "0c2c4ddeb912d098b1d34ad608a9ee98cbe4700322f0cd2d87fa360b51c1c8a8",
"templateCredsSetupCompleted": true
},
"name": "Retry Execution Hourly",
"tags": [
{
"id": "BREwPdgeEC5njFaD",
"name": "In Development",
"createdAt": "2024-04-13T07:17:56.132Z",
"updatedAt": "2024-04-13T07:17:56.132Z"
}
],
"nodes": [
{
"id": "ca8badce-4a43-4e86-acb8-6a3939ffa597",
"name": "When clicking ‘Test workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
580,
740
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7867cbd1-bf14-488d-9bbf-11d4478f93f2",
"name": "n8n",
"type": "n8n-nodes-base.n8n",
"position": [
1160,
860
],
"parameters": {
"filters": {
"status": "error"
},
"options": {
"activeWorkflows": false
},
"resource": "execution",
"returnAll": true,
"requestOptions": {}
},
"credentials": {
"n8nApi": {
"id": "m9lkUOoNENYqXZIQ",
"name": "Gatu a/c"
}
},
"typeVersion": 1
},
{
"id": "b9826e10-43b9-4a21-b2f8-f91fdee3e6a2",
"name": "Log into n8n",
"type": "n8n-nodes-base.httpRequest",
"position": [
960,
860
],
"parameters": {
"url": "={{ \n\n(() => {\n const instance = $json.n8n_instance;\n const normalizedUrl = instance.endsWith('/') ? instance + 'rest/login' : instance + '/rest/login';\n return normalizedUrl;\n})()\n}}",
"method": "POST",
"options": {
"response": {
"response": {
"fullResponse": true
}
}
},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "email",
"value": "={{ $json.username }}"
},
{
"name": "password",
"value": "={{ $json.password }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json, text/plain, */*"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36"
}
]
}
},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "1ca0527f-ccc4-4b3f-b585-94550987e0d3",
"name": "retry workflow automatically",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
2080,
980
],
"parameters": {
"url": "={{ \n\n$('login_details').item.json.n8n_instance.endsWith('/') \n ? $('login_details').item.json.n8n_instance + 'rest/executions/' + $json.id + '/retry' \n : $('login_details').item.json.n8n_instance + '/rest/executions/' + $('login_details').item.json.executionid + '/retry'\n\n }} ",
"method": "POST",
"options": {
"redirect": {
"redirect": {}
}
},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "loadWorkflow",
"value": "true"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json, text/plain, */*"
},
{
"name": "accept-language",
"value": "en-US,en;q=0.9"
},
{
"name": "cookie",
"value": "={{ $('Log into n8n').item.json.headers['set-cookie'][0] }}"
},
{
"name": "user-agent",
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36"
}
]
}
},
"retryOnFail": true,
"typeVersion": 4.2
},
{
"id": "b0b2f473-e12c-4377-80d3-46b18faa09b9",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
1380,
860
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "06acbcc4-1a82-4063-8a92-2ebbc6597b4b",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.retrySuccessId }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "6ea6fe2c-de31-4628-87b1-69e7ba867030",
"name": "No Operation, do nothing",
"type": "n8n-nodes-base.noOp",
"position": [
1620,
680
],
"parameters": {},
"typeVersion": 1
},
{
"id": "851277e1-5b0e-4391-8174-2c118aacfa30",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
100,
780
],
"parameters": {
"width": 383.5091496232509,
"height": 285.0376749192681,
"content": "- ## check for failed executions hourly.\n- ## filter out those that have successful reexecution ids.\n- ## log into n8n and get the session ids.\n- ## retry the executions.\n\n- h\n"
},
"typeVersion": 1
},
{
"id": "5b8bf8c1-f505-42da-936d-637394e71b34",
"name": "login_details",
"type": "n8n-nodes-base.set",
"position": [
760,
860
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "3edb7f73-73cb-44f4-b891-8499598d9b0a",
"name": "username",
"type": "string",
"value": "gaturanjenga@gmail.com"
},
{
"id": "bc07f892-aacf-4f7c-96d1-64a9e28a4d92",
"name": "password",
"type": "string",
"value": "Password123"
},
{
"id": "59874894-b1ec-4a31-949e-9c3834d68d47",
"name": "n8n_instance",
"type": "string",
"value": "https://ai.gatuservices.info/"
},
{
"id": "68c77c33-15e0-4505-90d0-8129e7a8fbba",
"name": "executionid",
"type": "string",
"value": "={{ $json.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "74716a90-25a2-48b6-b342-197fe3807a3d",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1620,
940
],
"parameters": {
"options": {},
"batchSize": 5
},
"typeVersion": 3
},
{
"id": "6439f486-68d4-4f9e-8e7f-3df909e32324",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
580,
980
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "882c03ea-d9e0-4d00-b4c6-5a1c55994fb0",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
740,
740
],
"parameters": {
"color": 4,
"width": 349.5813953488373,
"height": 278.232558139535,
"content": "## Set the login credential details in the set node, and login to n8n via api."
},
"typeVersion": 1
},
{
"id": "bcc4d7e3-a91e-4c90-a018-56c6321f6ae2",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1140,
740
],
"parameters": {
"color": 2,
"width": 343.81395348837225,
"height": 263.8139534883721,
"content": "## Get all `Error` executions.\n- ### Filter out those that have been successfully retried\n"
},
"typeVersion": 1
},
{
"id": "9219f2a8-8b71-45e0-a987-7e8c1a6364fe",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1780,
880
],
"parameters": {
"color": 5,
"width": 444.7441860465116,
"height": 268.139534883721,
"content": "## Retry the executions.\n- ### Feel free to add notifications error messages for failed one to email or slack"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "eb687638-734c-4feb-af5a-b49cf1dc661b",
"connections": {
"If": {
"main": [
[
{
"node": "No Operation, do nothing",
"type": "main",
"index": 0
}
],
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"n8n": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Log into n8n": {
"main": [
[
{
"node": "n8n",
"type": "main",
"index": 0
}
]
]
},
"execution_id": {
"main": [
[
{
"node": "retry workflow automatically",
"type": "main",
"index": 0
}
]
]
},
"login_details": {
"main": [
[
{
"node": "Log into n8n",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "execution_id",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "login_details",
"type": "main",
"index": 0
}
]
]
},
"retry workflow automatically": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "login_details",
"type": "main",
"index": 0
}
]
]
}
}
}Pour qui est ce workflow ?
Ce workflow s'adresse aux équipes techniques et aux entreprises qui utilisent n8n pour automatiser leurs processus. Il est idéal pour les organisations de taille moyenne à grande qui cherchent à améliorer la fiabilité de leurs workflows automatisés. Un niveau technique intermédiaire est recommandé pour sa mise en place.
Problème résolu
Ce workflow résout le problème des interruptions dans les processus automatisés en permettant une relance automatique des workflows en cas d'échec. Cela élimine les frustrations liées aux erreurs manuelles et réduit le temps d'arrêt des opérations. Les utilisateurs bénéficient d'une continuité des services, ce qui améliore la productivité et la satisfaction client.
Étapes du workflow
Étape 1 : Le workflow est déclenché manuellement par l'utilisateur. Étape 2 : Une connexion est établie avec n8n pour récupérer les détails de connexion nécessaires. Étape 3 : Une requête HTTP est envoyée pour tenter de relancer le workflow en cas d'échec. Étape 4 : Un point de décision évalue si le processus doit continuer ou non. Étape 5 : Si aucune action n'est nécessaire, une opération de non-action est exécutée. Étape 6 : Des notes autocollantes sont ajoutées pour indiquer l'état d'exécution.
Guide de personnalisation du workflow n8n
Pour personnaliser ce workflow, commencez par ajuster les paramètres de la requête HTTP pour correspondre à votre environnement n8n. Modifiez les détails de connexion dans le nœud 'Log into n8n' pour utiliser vos propres identifiants. Vous pouvez également adapter les conditions dans le nœud 'If' pour définir des critères spécifiques de relance. Enfin, les notes autocollantes peuvent être personnalisées pour afficher des messages pertinents selon vos besoins opérationnels.