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!

