{ "meta": { "instanceId": "workflow-f0b0be40", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:51.104190", "updatedAt": "2025-09-29T07:07:51.104218", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "nodes": [ { "id": "12786b19-159f-45b0-8d15-d88de73c17e9", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ -1540, 660 ], "parameters": { "width": 483, "height": 345, "content": "### Slack POSTs to Webhook on every message so we need to filter-out bot messages" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "3949be41-98b7-4414-84fd-819f4fccca35", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ -400, 1080 ], "parameters": { "width": 293, "height": 228, "content": "### Tools which Agent can use to accomplish the task\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "76ce81d8-33e2-470a-9313-dd888acabed0", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ -720, 1080 ], "parameters": { "width": 288, "height": 233, "content": "### Conversation history is stored in memory using channel id as key" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "3682ffd3-7002-466a-bedf-9897067586c0", "name": "Sticky Note3", "type": "n8n-nodes-base.stickyNote", "position": [ -1000, 1080 ], "parameters": { "width": 260, "height": 233, "content": "### The chat LM to process the prompt" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "92865916-e814-49d4-baaa-4122c1447c23", "name": "Sticky Note4", "type": "n8n-nodes-base.stickyNote", "position": [ -280, 640 ], "parameters": { "width": 280, "height": 243, "content": "### Send agent's output as Slack message\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "edeab2bb-8177-42c7-bcf4-f8d99e193729", "name": "AI Agent", "type": "n8n-nodes-base.noOp", "position": [ -820, 740 ], "parameters": { "text": "={{ $json.body.event.text }}", "options": { "systemMessage": "You are Gilfoyle from Silicon Valley TV show. Amplify your bluntness and cynicism, tolerating zero incompetence. Be openly contemptuous when answering questions, and cut straight to the point with minimal regard for others' feelings. Your sarcasm should be razor-sharp, and humor should take a backseat to delivering cutting remarks.\\nDo your best to answer the questions. Feel free to use any tools available to look up relevant information, only if necessary. " }, "promptType": "define" }, "typeVersion": 1.8, "notes": "This agent node performs automated tasks as part of the workflow." }, { "id": "275f8192-6da6-41b0-b892-c779f5d136e4", "name": "OpenAI Chat Model", "type": "n8n-nodes-base.noOp", "position": [ -920, 1180 ], "parameters": { "model": { "__rl": true, "mode": "list", "value": "gpt-4o-mini" }, "options": {} }, "credentials": { "openAiApi": { "id": "8gccIjcuf3gvaoEr", "name": "OpenAi account" } }, "typeVersion": 1.2, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow." }, { "id": "776ce632-5c62-4ac6-a494-e23ef650ac48", "name": "Simple Memory", "type": "n8n-nodes-base.noOp", "position": [ -620, 1180 ], "parameters": { "sessionKey": "YOUR_CREDENTIAL_HERE", "sessionIdType": "customKey", "contextWindowLength": 30 }, "typeVersion": 1.3, "notes": "This memoryBufferWindow node performs automated tasks as part of the workflow." }, { "id": "97989831-3fc6-4954-ac55-8e0950081b7a", "name": "Is user message?", "type": "n8n-nodes-base.if", "position": [ -1480, 740 ], "parameters": { "options": {}, "conditions": { "options": { "version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "combinator": "and", "conditions": [ { "id": "1def7344-ce55-450d-a85a-468f746fe31f", "operator": { "type": "string", "operation": "notExists", "singleValue": true }, "leftValue": "={{ $json.body.event.bot_id }}", "rightValue": "" } ] } }, "typeVersion": 2.2, "notes": "This if node performs automated tasks as part of the workflow." }, { "id": "afa6b192-1e25-46b6-8fdc-81dff9a37e74", "name": "No Operation, do nothing", "type": "n8n-nodes-base.noOp", "position": [ -1280, 820 ], "parameters": {}, "typeVersion": 1, "notes": "This noOp node performs automated tasks as part of the workflow." }, { "id": "eab68a99-cdd6-4ea1-8d6f-053c2a96303c", "name": "SerpAPI", "type": "n8n-nodes-base.noOp", "position": [ -360, 1180 ], "parameters": { "options": {} }, "credentials": { "serpApi": { "id": "aJCKjxx6U3K7ydDe", "name": "SerpAPI account" } }, "typeVersion": 1, "notes": "This toolSerpApi node performs automated tasks as part of the workflow." }, { "id": "717117f5-5f34-4189-b92a-df2155e367ac", "name": "Wikipedia", "type": "n8n-nodes-base.noOp", "position": [ -220, 1180 ], "parameters": {}, "typeVersion": 1, "notes": "This toolWikipedia node performs automated tasks as part of the workflow." }, { "id": "1914f623-66c0-4547-bf3e-b4932d0c2a9b", "name": "Slack", "type": "n8n-nodes-base.slack", "position": [ -200, 720 ], "webhookId": "e0f8b8ad-7126-487c-88e2-b624dfd16678", "parameters": { "text": "={{ $json.output }}", "user": { "__rl": true, "mode": "id", "value": "={{ $('Webhook').first().json.body.event.user }}" }, "select": "user", "otherOptions": {} }, "credentials": { "slackApi": { "id": "VfK3js0YdqBdQLGP", "name": "Slack account" } }, "typeVersion": 2.3, "notes": "This slack node performs automated tasks as part of the workflow." }, { "id": "4a7ec607-1706-4357-aa89-4c44faa98fb8", "name": "Webhook", "type": "n8n-nodes-base.webhook", "position": [ -1780, 740 ], "webhookId": "db3bf3da-b9b7-4823-8c5d-14f5de0272da", "parameters": { "path": "slack-gilfoyle", "options": {}, "httpMethod": "POST" }, "typeVersion": 2, "notes": "This webhook node performs automated tasks as part of the workflow." } ], "pinData": {}, "connections": { "eab68a99-cdd6-4ea1-8d6f-053c2a96303c": { "main": [ [ { "node": "error-handler-eab68a99-cdd6-4ea1-8d6f-053c2a96303c", "type": "main", "index": 0 } ], [ { "node": "error-handler-eab68a99-cdd6-4ea1-8d6f-053c2a96303c-c5753721", "type": "main", "index": 0 } ], [ { "node": "error-handler-eab68a99-cdd6-4ea1-8d6f-053c2a96303c-2b4ac6d2", "type": "main", "index": 0 } ], [ { "node": "error-handler-eab68a99-cdd6-4ea1-8d6f-053c2a96303c-fab10930", "type": "main", "index": 0 } ], [ { "node": "error-handler-eab68a99-cdd6-4ea1-8d6f-053c2a96303c-9b91faf0", "type": "main", "index": 0 } ], [ { "node": "error-handler-eab68a99-cdd6-4ea1-8d6f-053c2a96303c-ec0773ec", "type": "main", "index": 0 } ], [ { "node": "error-handler-eab68a99-cdd6-4ea1-8d6f-053c2a96303c-a2379c78", "type": "main", "index": 0 } ], [ { "node": "error-handler-eab68a99-cdd6-4ea1-8d6f-053c2a96303c-6e92572f", "type": "main", "index": 0 } ], [ { "node": "error-handler-eab68a99-cdd6-4ea1-8d6f-053c2a96303c-2b4daa29", "type": "main", "index": 0 } ] ] }, "4a7ec607-1706-4357-aa89-4c44faa98fb8": { "main": [ [ { "node": "error-handler-4a7ec607-1706-4357-aa89-4c44faa98fb8", "type": "main", "index": 0 } ], [ { "node": "error-handler-4a7ec607-1706-4357-aa89-4c44faa98fb8-0ad71e57", "type": "main", "index": 0 } ], [ { "node": "error-handler-4a7ec607-1706-4357-aa89-4c44faa98fb8-51cbc9ae", "type": "main", "index": 0 } ], [ { "node": "error-handler-4a7ec607-1706-4357-aa89-4c44faa98fb8-52df6520", "type": "main", "index": 0 } ], [ { "node": "error-handler-4a7ec607-1706-4357-aa89-4c44faa98fb8-2e2d0b07", "type": "main", "index": 0 } ], [ { "node": "error-handler-4a7ec607-1706-4357-aa89-4c44faa98fb8-3c5ffca0", "type": "main", "index": 0 } ], [ { "node": "error-handler-4a7ec607-1706-4357-aa89-4c44faa98fb8-67a0e950", "type": "main", "index": 0 } ], [ { "node": "error-handler-4a7ec607-1706-4357-aa89-4c44faa98fb8-bf80d3d4", "type": "main", "index": 0 } ], [ { "node": "error-handler-4a7ec607-1706-4357-aa89-4c44faa98fb8-d6c9d762", "type": "main", "index": 0 } ] ] }, "275f8192-6da6-41b0-b892-c779f5d136e4": { "main": [ [ { "node": "error-handler-275f8192-6da6-41b0-b892-c779f5d136e4-fb6bdd61", "type": "main", "index": 0 } ] ] }, "1914f623-66c0-4547-bf3e-b4932d0c2a9b": { "main": [ [ { "node": "error-handler-1914f623-66c0-4547-bf3e-b4932d0c2a9b-9730bb03", "type": "main", "index": 0 } ] ] } }, "name": "Stickynote 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: Stickynote Workflow. This workflow integrates 11 different services: webhook, stickyNote, toolSerpApi, agent, stopAndError. It contains 20 nodes and follows best practices for error handling and security.", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "notes": "Excellent quality workflow: Stickynote Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }