Hello n8n community,
sorry i delete my topic by mistake.
I know that there are already similer topics but i couldnt find the right solution.
I think its very simple problem.
I am struggling with a persistent issue when trying to dynamically add tags to a Notion Multi-select property. My goal is to automatically create a new option if it doesn’t already exist.
My Environment:
- n8n Version:
1.95.3
- Deployment: Self-hosted via Docker Compose on macOS.
- Node: Notion Node (v2.2)
What I want to achieve: I have a workflow that gets keywords from an AI as a simple array of strings (e.g., ['Existing Tag', 'New Tag']
). I want to write these to a Multi-select
property in a new Notion page. If “New Tag” doesn’t exist as an option in Notion, I expect n8n to create it automatically and then assign it.
What I have tried:
- In a Code Node, I prepare a clean array of strings. Example output:
item.json.keywords = ['Design', 'UX', 'NewTopic']
. - In the Notion Node (
Create Page
), I map this to mykeywords
(Multi-select) property using the expression:{{ $('Code').item.json.keywords }}
.
The Problem: The workflow fails with an error whenever the array contains a string that does not already exist as an option in my Notion Multi-select
property. The error is often: The value "NewTopic" is not supported!
or sometimes a generic texts is not iterable
I have confirmed that my API key is correct and has the proper permissions. I have also tried formatting the data as [{ "name": "NewTopic" }]
, but this also results in an error.
My Question: What is the correct and most robust method in n8n to dynamically create new options for a Multi-select
property if they don’t already exist? Is there a specific format required in the Code node or a setting in the Notion node that I am missing?
Thank you for your help!