This workflow corresponds to n8n.io template #8846 — we link there as the canonical source.
This workflow follows the Agent → OpenAI Chat recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"name": "Notion Ideas Collector",
"nodes": [
{
"id": "555579a1-2e02-4273-85d4-a2d456b1b083",
"name": "\ud83c\udf10 Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
-240,
64
],
"parameters": {
"path": "webhook-path-here",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 2.1
},
{
"id": "0ae8d1e6-0ba1-42d8-a477-f00434d0f449",
"name": "\ud83e\udd16 AI Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
-16,
64
],
"parameters": {
"text": "={{ $json.body.text }}\nUser ID: {{ $json.body.user_id }}\n\nthis is the input based on the input you have to give \nTitle, tags, submitted by, created(Actual date in IST) {{ new Date().toISOString() }}",
"options": {},
"promptType": "define"
},
"typeVersion": 2.2
},
{
"id": "1a11f67b-58f0-4bab-9a39-24504216e038",
"name": "\ud83d\udcac OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
64,
288
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"typeVersion": 1.2
},
{
"id": "e1a3b2c3-6853-4df0-8cd3-33f3f8c2a087",
"name": "\ud83e\uddd1\u200d\ud83d\udcbb Code",
"type": "n8n-nodes-base.code",
"position": [
336,
64
],
"parameters": {
"jsCode": "const items = $input.all();\n\nlet results = [];\n\nfor (const item of items) {\n const text = item.json.output;\n\n const titleMatch = text.match(/Title:\\s*(.+)/);\n const tagsMatch = text.match(/Tags:\\s*(.+)/);\n const submittedByMatch = text.match(/Submitted by:\\s*(.+)/);\n const createdMatch = text.match(/Created:\\s*(.+)/);\n\n results.push({\n json: {\n Title: titleMatch ? titleMatch[1].trim() : null,\n Tags: tagsMatch ? tagsMatch[1].split(\",\").map(tag => tag.trim()) : [],\n \"Submitted By\": submittedByMatch ? submittedByMatch[1].trim() : null,\n Created: createdMatch ? createdMatch[1].trim() : null\n }\n });\n}\n\nreturn results;"
},
"typeVersion": 2
},
{
"id": "a4d36c4d-8c78-405b-9465-ae05d5c7f54e",
"name": "\ud83d\udcdd Add to Notion",
"type": "n8n-nodes-base.notion",
"position": [
560,
64
],
"parameters": {
"title": "={{ $json.Title }}",
"options": {},
"resource": "databasePage",
"databaseId": {
"__rl": true,
"mode": "list",
"value": "YOUR_NOTION_DATABASE_ID"
},
"propertiesUi": {
"propertyValues": [
{
"key": "Title|title",
"type": "title",
"title": "={{ $json.Title }}"
},
{
"key": "Submitted By|rich_text",
"type": "rich_text",
"textContent": "={{ $json['Submitted By'] }}"
},
{
"key": "Created|date",
"date": "={{ $json.Created.replace(' IST', '') }}",
"timezone": "Asia/Kolkata",
"includeTime": false
},
{
"key": "Tags|rich_text",
"textContent": "={{ $json.Tags.join(', ') }}"
}
]
}
},
"typeVersion": 2
},
{
"id": "94c0952d-7f0e-4be5-9041-6144d20fdd13",
"name": "\u2705 Send Confirmation (Slack)",
"type": "n8n-nodes-base.slack",
"position": [
784,
64
],
"parameters": {
"text": "\u2705 Your idea has been added to our Product Ideas database!\n\n\ud83d\udca1 *Idea:* {{ $json.Title }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "name",
"value": "#general"
},
"otherOptions": {},
"authentication": "oAuth2"
},
"typeVersion": 2
},
{
"id": "37362989-2e8c-49aa-81ff-cee9ce44c8b8",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-288,
-368
],
"parameters": {
"color": 5,
"width": 784,
"height": 800,
"content": "## \ud83d\udee0\ufe0f Data Handling & Transformation\n\n*Input text comes in via Webhook ($json.body.text + user_id).\n\nAI Agent is instructed to output Title, Tags, Submitted By, and Created date in IST.\n\nThe Code node ensures clean extraction:\n\nTitle \u2192 Captures the idea title.\n\nTags \u2192 Splits into an array, trims spaces.\n\nSubmitted By \u2192 Extracts submitter name.\n\nCreated \u2192 Extracts and cleans up date (removes \"IST\" when storing).*"
},
"typeVersion": 1
},
{
"id": "0546d4fa-157a-49ba-93cb-95d34a2080c9",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
512,
-368
],
"parameters": {
"color": 3,
"width": 192,
"height": 800,
"content": "## \ud83d\uddc2\ufe0f Database (Notion Integration)\n\n*Data is added into Notion (Ideas DB) with mapped properties:\n\nTitle \u2192 title property\n\nSubmitted By \u2192 rich text\n\nCreated \u2192 date (IST, but stored cleanly without \"IST\" suffix)\n\nTags \u2192 rich text (comma-separated list)*"
},
"typeVersion": 1
},
{
"id": "b044e4f5-7a4f-4bd5-9093-1785a1553bf4",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
720,
-368
],
"parameters": {
"color": 4,
"width": 208,
"height": 800,
"content": "## \ud83d\udcac Notifications\n\n*Once saved in Notion, the workflow notifies Slack with a friendly message:\n\nConfirms submission.\n\nEchoes back the submitted idea title.*"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"connections": {
"\ud83c\udf10 Webhook": {
"main": [
[
{
"node": "\ud83e\udd16 AI Agent",
"type": "main",
"index": 0
}
]
]
},
"\ud83e\udd16 AI Agent": {
"main": [
[
{
"node": "\ud83e\uddd1\u200d\ud83d\udcbb Code",
"type": "main",
"index": 0
}
]
]
},
"\ud83e\uddd1\u200d\ud83d\udcbb Code": {
"main": [
[
{
"node": "\ud83d\udcdd Add to Notion",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udcdd Add to Notion": {
"main": [
[
{
"node": "\u2705 Send Confirmation (Slack)",
"type": "main",
"index": 0
}
]
]
},
"\ud83d\udcac OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "\ud83e\udd16 AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow captures idea submissions from a webhook and enriches them using AI. It extracts key fields like Title, Tags, Submitted By, and Created date in IST format. The cleaned data is stored in a Notion database for centralized tracking. Finally, a confirmation message is…
Source: https://n8n.io/workflows/8846/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This n8n workflow orchestrates a powerful suite of AI Agents and automations to manage and optimize various aspects of an e-commerce operation, particularly for platforms like Shopify. It leverages La
Public-facing professionals (developer advocates, founders, marketers, content creators) who get bombarded with LinkedIn messages that aren't actually for them - support requests when you're in market
This workflow automates the end-to-end employee onboarding process by provisioning new hires across multiple internal systems and delivering a personalized welcome experience.
🧾 An intelligent automation system that turns Google Meet recordings into structured meeting notes — integrating Fireflies.ai, OpenAI GPT-4.1-mini, Notion, Slack, Google Drive, and Gmail via n8n.
A high-fidelity employee onboarding engine: Intake → Role-Based Enrichment → AI Personalization → IT Provisioning.