By the way, in default settings, I want to set general “Error Workflow”.
Could I set default “Error Workflow” by any environment variable?
I can’t see an option here: Environment Variables | Docs to set an error workflow from the environment variables… I suspect this could be because it wouldn’t exist on a new install so could cause all sorts of problems.
I think an option for default node for error is nessesary.
Error notification is very important, but I usually forgot to set it for new workflow.
Yeah a global setting somewhere would be handy I am just not sure an env var is the way to handle it.
Hey @cmdntd987,
Thank you for creating the Feature Request. I can see how this can be helpful. I don’t think there is an env available.
Do upvote the request!
Hope this will be merged ![]()
Hello,
In my case it would be a default error workflow per account, as one account represents an organization unit ![]()
Hello, reviving this topic to know if this feature can be developed still.
Tried updating all my workflows using the n8n node but sadly it doesn’t give the Error Workflows options =(
This would be a helpful feature for us as well, we typically turn on the error workflow for all workflows by default
Any updates on this at all?
Hey @Josh_Sorenson,
Nothing that I have seen in planning meetings recently but I still think this would be a good idea for the future.
I can’t believe this hasn’t been fixed yet. Regardless, here’s a workaround:
Do you consistently forget to set a Default Error Workflow when creating new workflows? Then this helper workflow is for you!
When activated, this helper workflow will:
- Scan ALL other workflows every 4 hours
- Make sure ALL workflows have a default error workflow set (based on what Workflow ID you provide)
- This helper will SKIP OVER any workflows that have the
default_error:falsetag set (make sure your default error workflow has thedefault_error:falsetag set, so that you don’t end up with recursive loops during errors)
Setup Nodes:
- Once imported, edit the
Set Varsnode with yourdefault_error_workflow_idvalue. - If you want to change the
default_error:falsetag to some other tag name, you can do so here as well. - You need to update the
Set Default Error Workflownode with your PostgreSQL credentials to access then8ndatabase.
This workflow has been published here, also:
Hi!
I am iterating your workflow @dkindlund in order to modify the error workflow using the n8n API instead of directly accessing the database, here would be it:
However, it throws an error while updating the workflow: request/body/settings must NOT have additional properties.
Complete error details
{
"errorMessage": "Bad request - please check your parameters [item 0]",
"errorDescription": "request/body/settings must NOT have additional properties",
"errorDetails": {
"rawErrorMessage": [
"Request failed with status code 400"
],
"httpCode": "400",
"errorData": {
"message": "request/body/settings must NOT have additional properties"
}
},
"n8nDetails": {
"nodeName": "Update workflow",
"nodeType": "n8n-nodes-base.n8n",
"nodeVersion": 1,
"resource": "workflow",
"operation": "update",
"itemIndex": 0,
"runIndex": 0,
"time": "24/05/2024, 08:30:02",
"n8nVersion": "1.40.0 (Self Hosted)",
"binaryDataMode": "default",
"stackTrace": [
"NodeApiError: Bad request - please check your parameters",
" at Object.httpRequestWithAuthentication (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/NodeExecuteFunctions.js:1164:15)",
" at processTicksAndRejections (node:internal/process/task_queues:95:5)",
" at Object.httpRequestWithAuthentication (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/NodeExecuteFunctions.js:1984:20)",
" at RoutingNode.rawRoutingRequest (/usr/local/lib/node_modules/n8n/node_modules/n8n-workflow/dist/RoutingNode.js:285:29)",
" at RoutingNode.makeRoutingRequest (/usr/local/lib/node_modules/n8n/node_modules/n8n-workflow/dist/RoutingNode.js:371:28)",
" at RoutingNode.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-workflow/dist/RoutingNode.js:104:32)",
" at Workflow.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-workflow/dist/Workflow.js:778:23)",
" at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/WorkflowExecute.js:660:53",
" at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/WorkflowExecute.js:1062:20"
]
}
}
Have you faced the same problem (and that was the reason to directly modify the workflow in the database)?
I have searched a little bit about the error but I still not get why it is not working.
There is another related bug report, but in that case updating the executionOrder setting instead of the errorWorkflow.
The related error required a fix that got released with n8n 1.37.0, and if we take a look to the fix implementation, it references the schema/workflowSettings.yml which already included the errorWorkflow property.
However, it is also true that there are no errorWorkflow being specified in the n8n API workflow update test case, so I don’t really think that having the errorWorkflow in the workflowSettings schema guarantees that it is supported while updating workflows, or it is just that I am doing something wrong ![]()
Anyone could confirm if I am missing anything or it is an actual bug? ![]()
![]()
Thanks! ![]()
Edit: I have found this other post from @Jon stating that the errorWorkflow option is already supported for WorkflowSettings in the API, so I guess I am missing something here :S
Hey @JavierCane , yeah, I tried using the official n8n APIs to get it to work, but I couldn’t for similar reasons. That’s why I just wrote directly to the underlying DB instead.
Maybe @Jon can help clarify?
Hi @dkindlund and @JavierCane
It looks like this is a highly requested feature, I was not able to use the SQL node so I figured out how to use the API node for N8N
Use the workflow that @dkindlund made and replace the SQL node with another N8N API Node.
Steps to set it up:
Select your N8N account
resource “Workflow”
Operation “update”
Workflow (by ID) map it to {{ $json.id }}
Workflow Object:
{
“name”: “{{ $json.name }}”,
“nodes”: {{ JSON.stringify($json.nodes) }},
“connections”: {{ JSON.stringify($json.connections) }},
“settings”: {
“errorWorkflow”: “BqrrQ816cfbzM4YQ”,
“executionOrder”: “v1”
}
}
Hope that helps
@Tier1 I’ve come to this conclusion on my own too. The only drawback is that if you do have any additional workflow settings (like a timeout), it’ll get wiped clean. While not perfect, I think this is a further step in the evolution:
{
“name”: “{{ $json.name }}”,
“nodes”: {{ JSON.stringify($json.nodes) }},
“connections”: {{ JSON.stringify($json.connections) }},
“settings”: {{ JSON.stringify(
(({ callerPolicy, …rest}) => rest)($json.settings)
)}}
}
What that anonymous function does in the settings part is removes unsupported settings. Unfortunately, there’s no way to “PATCH” a workflow via API currently (i.e. overwrite a specific part), so this will have do for now.
@Jon I wonder if we could get a PATCH HTTP verb that handles a differential update rather than an overall replacement of the workflow object? And a quick reminder that all this workaround is because there’s no default Error Workflow for new workflows. I still think the PATCH endpoint would be a good idea, but many in this thread could use the default Error Workflow instead for this use case.
I created an error handler workflow that’ll attach itself to any workflows that don’t have a handler yet. It already saved me a couple of times from issues that I might not have noticed otherwise!
Hello,
I get the same error, if I try to backup this worklow [Learn n8n Expressions with an Interactive Step-by-Step Tutorial for Beginners](https://n8n.io/workflows/5271-learn-n8n-expressions-with-an-interactive-step-by-step-tutorial-for-beginners/) using my [n8n API backup process](https://n8n.io/workflows/6947-backup-n8n-workflows-with-versioning-and-notion-tracking/)
Bad request - please check your parameters
request/body/nodes/0 must NOT have additional properties
Error code 400
Full message
Request failed with status code 400
Error data
{ “message”: “request/body/nodes/0 must NOT have additional properties” }
Not sure to understand what’s wrong, …
