{"meta":{"instanceId":"workflow-d0280aef","versionId":"1.0.0","createdAt":"2025-09-29T07:07:45.821176","updatedAt":"2025-09-29T07:07:45.821251","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"nodes":[{"id":"1f506d0f-e999-409c-8456-d77d1771a2f3","name":"Webhook","type":"n8n-nodes-base.webhook","position":[740,120],"webhookId":"a8877bd7-8364-4868-9f88-d9080cce0cb1","parameters":{"path":"slack-trigger","options":{},"httpMethod":"POST"},"typeVersion":1,"notes":"This webhook node performs automated tasks as part of the workflow."},{"id":"d5bdebab-cb97-44b5-8f85-e2bc71c0b7fb","name":"Sticky Note","type":"n8n-nodes-base.stickyNote","position":[220,-100],"parameters":{"color":7,"width":446,"height":321,"content":"## Needed pre-work: Add a Slack App\n1. Visit {{ $env.API_BASE_URL }} click on `New App` and choose a name and workspace.\n2. Click on `OAuth & Permissions` and scroll down to Scopes -> Bot token Scopes\n3. Add the `chat:write` scope\n4. Head over to `Slash Commands` and click on `Create New Command`\n5. Use `/idea` as the command\n6. Copy the test URL from the **Webhook** node into `Request URL`\n7. Add whatever feels best to the description and usage hint\n8. Go to `Install app` and click install"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"fa0734a5-6794-4ba8-9675-b54ba9ddf6e8","name":"Notion","type":"n8n-nodes-base.notion","position":[1620,20],"parameters":{"title":"={{ $json.body.text }}","options":{},"resource":"databasePage","databaseId":{"__rl":true,"mode":"url","value":"={{ $('Set me up').first().json['Notion URL'] }}"},"propertiesUi":{"propertyValues":[{"key":"YOUR_CREDENTIAL_HERE","textContent":"={{ $json.body.user_name }}"}]}},"credentials":{"notionApi":{"id":"1exvaAn7wzyBgkXZ","name":"Nik's Notion Cred"}},"typeVersion":2.1,"notes":"This notion node performs automated tasks as part of the workflow."},{"id":"28116568-f19c-47b3-9cd2-e08032db4dd5","name":"Switch","type":"n8n-nodes-base.switch","position":[1360,120],"parameters":{"rules":{"values":[{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"operator":{"type":"string","operation":"equals"},"leftValue":"={{ $json.body.command }}","rightValue":"/idea"}]},"renameOutput":true},{"outputKey":"YOUR_CREDENTIAL_HERE","conditions":{"options":{"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"25221a2c-18e9-47f6-a112-0edc85b63cda","operator":{"name":"filter.operator.equals","type":"string","operation":"equals"},"leftValue":"={{ $json.body.command }}","rightValue":"/some-other-command"}]},"renameOutput":true}]},"options":{}},"typeVersion":3,"notes":"This switch node performs automated tasks as part of the workflow."},{"id":"8a153fab-dd1a-4108-8522-766b09b4caf3","name":"Hidden message to add feature details","type":"n8n-nodes-base.httpRequest","position":[1840,20],"parameters":{"url":"{{ $env.BASE_URL }}","method":"POST","options":{},"sendBody":true,"bodyParameters":{"parameters":[{"name":"text","value":"=Thanks for adding the idea `{{ $('Webhook').item.json[\"body\"][\"text\"] }}` <@{{$('Webhook').item.json[\"body\"][\"user_id\"]}}> :rocket: Please make sure to add some details and a hypothesis to it to make it easier for us to work with it.\n\n:point_right: <{{$json[\"url\"]}}|Add your details here>"}]}},"typeVersion":3,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"id":"68d6136b-291f-4e17-b07f-da3672b6622f","name":"Sticky Note1","type":"n8n-nodes-base.stickyNote","position":[920,-315],"parameters":{"color":5,"width":331,"height":422.85671270290686,"content":"## Setup\n1. Add a Database in Notion with the columns `Name` and `Creator`\n2. Add your Notion credentials and add the integration to your Notion page.\n3. Fill the setup node below\n4. Create your slack app (*see other sticky*)\n5. Click `Test` workflow and use the `/idea` comment in Slack\n6. Activate the workflow and exchange the Request URL with the production URL from the webhook"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."},{"id":"4a2d6224-352a-4625-b4ae-bc856b2602fd","name":"Set me up","type":"n8n-nodes-base.set","position":[1020,-40],"parameters":{"options":{},"assignments":{"assignments":[{"id":"9bcc3fa7-a09e-48f0-b4ff-2c78264dec2d","name":"Notion URL","type":"string","value":"{{ $env.WEBHOOK_URL }}"}]}},"typeVersion":3.3,"notes":"This set node performs automated tasks as part of the workflow."},{"id":"89dc4c0d-7fab-4a6f-b8e9-65a0701c7d49","name":"Sticky Note2","type":"n8n-nodes-base.stickyNote","position":[1300,40],"parameters":{"color":7,"height":237.2740046838409,"content":"You can easily support more commands, like `/bug` or `/pain` here"},"typeVersion":1,"notes":"This stickyNote node performs automated tasks as part of the workflow."}],"connections":{"Webhook":{"main":[[],[],[],[],[],[],[],[],[]]},"Hidden message to add feature details":{"main":[[],[],[],[],[],[],[],[],[]]}},"name":"Webhook Workflow","settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"description":"Automated workflow: Webhook Workflow. This workflow integrates 7 different services: webhook, stickyNote, httpRequest, switch, set. It contains 12 nodes and follows best practices for error handling and security.","notes":"Excellent quality workflow: Webhook Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}