{ "meta": { "instanceId": "workflow-9dc836eb", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:51.744239", "updatedAt": "2025-09-29T07:07:51.744255", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "nodes": [ { "id": "b24c6e28-3c9e-4069-9e87-49b2efd47257", "name": "OpenAI Chat Model", "type": "n8n-nodes-base.noOp", "position": [ 1200, 660 ], "parameters": { "model": "gpt-4o-mini", "options": {} }, "credentials": { "openAiApi": { "id": "AzPPV759YPBxJj3o", "name": "Max's DevRel OpenAI account" } }, "typeVersion": 1, "notes": "This lmChatOpenAi node performs automated tasks as part of the workflow." }, { "id": "c71a3e22-f0fd-4377-9be2-32438b282430", "name": "Sticky Note", "type": "n8n-nodes-base.stickyNote", "position": [ 200, 240 ], "parameters": { "color": 7, "width": 636.2128494576581, "height": 494.9629292914819, "content": "![Siri Template Thumbnail]({{ $env.WEBHOOK_URL }}\n## \"Hey Siri, Ask Agent\" workflow\n**Made by [Max Tkacz]({{ $env.WEBHOOK_URL }} during the [30 Day AI Sprint]({{ $env.WEBHOOK_URL }}\n\nThis template integrates with Apple Shortcuts to trigger an n8n AI Agent via a \"Hey Siri\" command. The shortcut prompts for spoken input, transcribes it, and sends it to the workflow's `When Called by Apple Shortcut` Webhook trigger. The AI Agent processes the input and Siri dictates the response back to you.\n\nThe workflow also passes the current date and time to the `AI Agent`, which you can extend with additional context, like data from an App node, for more customized responses.\n\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "a4ec93c3-eefa-4006-b02c-f995fb7bc410", "name": "Respond to Apple Shortcut", "type": "n8n-nodes-base.respondToWebhook", "position": [ 1640, 460 ], "parameters": { "options": {}, "respondWith": "text", "responseBody": "={{ $json.output }}" }, "typeVersion": 1.1, "notes": "This respondToWebhook node performs automated tasks as part of the workflow." }, { "id": "942b284e-e26a-4534-8f33-eb92b0a88fdb", "name": "Sticky Note1", "type": "n8n-nodes-base.stickyNote", "position": [ 200, 760 ], "parameters": { "color": 7, "width": 280.2462120317618, "height": 438.5821431288714, "content": "### Set up steps\n1. Add an OpenAI API credential in `OpenAI Chat Model` node, or replace it with another model. Try `Groq` if you want a free alternative (can be used with free Groq account, no CC).\n2. Copy the \"Production URL\" from `When called by Apple Shortcut` node, you'll need this when setting up the shortcut.\n3. Save and activate this n8n workflow.\n4. Download the [Apple Shortcut here]({{ $env.WEBHOOK_URL }} open it on macOS or iOS. This adds the shortcut to your device.\n5. Open the shortcut and swap URL in `Get contents of\" step to the \"Production URL\" you copied from `When called by Apple Shortcut`.\n6. Test it by saying \"Hey Siri, AI Agent\", then ask a question." }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "ebb9e886-546a-429c-b4b5-35c0a7b6370e", "name": "Sticky Note2", "type": "n8n-nodes-base.stickyNote", "position": [ 503.6292958565226, 760 ], "parameters": { "color": 7, "width": 330.5152611046425, "height": 240.6839895136402, "content": "### ... or watch set up video [5 min]\n[![Siri Template Thumbnail]({{ $env.WEBHOOK_URL }}]({{ $env.WEBHOOK_URL }}\n" }, "typeVersion": 1, "notes": "This stickyNote node performs automated tasks as part of the workflow." }, { "id": "5a842fa9-be8c-4ba8-996b-a26a53273b3f", "name": "AI Agent", "type": "n8n-nodes-base.noOp", "position": [ 1240, 460 ], "parameters": { "text": "=Here is my request: {{ $json.body.input }}\n", "agent": "conversationalAgent", "options": { "systemMessage": "=## Task\nYou are a helpful assistant. Provide concise replies as the user receives them via voice on their mobile phone. Avoid using symbols like \"\\n\" to prevent them from being narrated.\n\n## Context\n- Today is {{ $now.format('dd LLL yy') }}.\n- Current time: {{ $now.format('h:mm a') }} in Berlin, Germany.\n- When asked, you are an AI Agent running as an n8n workflow.\n\n## Output\nKeep responses short and clear, optimized for voice delivery. Don't hallucinate, if you don't know the answer, say you don't know. " }, "promptType": "define", "hasOutputParser": true }, "typeVersion": 1.6, "notes": "This agent node performs automated tasks as part of the workflow." }, { "id": "598d22d5-7472-44c5-ab2e-69c8bbb23ddd", "name": "When called by Apple Shortcut", "type": "n8n-nodes-base.webhook", "position": [ 980, 460 ], "webhookId": "f0224b4b-1644-4d3d-9f12-01a9c04879e4", "parameters": { "path": "assistant", "options": {}, "httpMethod": "POST", "responseMode": "responseNode" }, "typeVersion": 2, "notes": "This webhook node performs automated tasks as part of the workflow." } ], "pinData": {}, "connections": { "a4ec93c3-eefa-4006-b02c-f995fb7bc410": { "main": [ [ { "node": "error-handler-a4ec93c3-eefa-4006-b02c-f995fb7bc410", "type": "main", "index": 0 } ], [ { "node": "error-handler-a4ec93c3-eefa-4006-b02c-f995fb7bc410-915cb34b", "type": "main", "index": 0 } ], [ { "node": "error-handler-a4ec93c3-eefa-4006-b02c-f995fb7bc410-b4a0c07a", "type": "main", "index": 0 } ], [ { "node": "error-handler-a4ec93c3-eefa-4006-b02c-f995fb7bc410-77d332ea", "type": "main", "index": 0 } ], [ { "node": "error-handler-a4ec93c3-eefa-4006-b02c-f995fb7bc410-6e1a400b", "type": "main", "index": 0 } ], [ { "node": "error-handler-a4ec93c3-eefa-4006-b02c-f995fb7bc410-430dac85", "type": "main", "index": 0 } ], [ { "node": "error-handler-a4ec93c3-eefa-4006-b02c-f995fb7bc410-d06594ff", "type": "main", "index": 0 } ], [ { "node": "error-handler-a4ec93c3-eefa-4006-b02c-f995fb7bc410-8670e9fa", "type": "main", "index": 0 } ], [ { "node": "error-handler-a4ec93c3-eefa-4006-b02c-f995fb7bc410-1995e0f3", "type": "main", "index": 0 } ] ] }, "598d22d5-7472-44c5-ab2e-69c8bbb23ddd": { "main": [ [ { "node": "error-handler-598d22d5-7472-44c5-ab2e-69c8bbb23ddd", "type": "main", "index": 0 } ], [ { "node": "error-handler-598d22d5-7472-44c5-ab2e-69c8bbb23ddd-cd2b8536", "type": "main", "index": 0 } ], [ { "node": "error-handler-598d22d5-7472-44c5-ab2e-69c8bbb23ddd-0ea8f366", "type": "main", "index": 0 } ], [ { "node": "error-handler-598d22d5-7472-44c5-ab2e-69c8bbb23ddd-ac6290c8", "type": "main", "index": 0 } ], [ { "node": "error-handler-598d22d5-7472-44c5-ab2e-69c8bbb23ddd-4094a8c7", "type": "main", "index": 0 } ], [ { "node": "error-handler-598d22d5-7472-44c5-ab2e-69c8bbb23ddd-b6bf2d7c", "type": "main", "index": 0 } ], [ { "node": "error-handler-598d22d5-7472-44c5-ab2e-69c8bbb23ddd-7181f8cf", "type": "main", "index": 0 } ], [ { "node": "error-handler-598d22d5-7472-44c5-ab2e-69c8bbb23ddd-32c4e03a", "type": "main", "index": 0 } ], [ { "node": "error-handler-598d22d5-7472-44c5-ab2e-69c8bbb23ddd-a4a71c97", "type": "main", "index": 0 } ] ] }, "b24c6e28-3c9e-4069-9e87-49b2efd47257": { "main": [ [ { "node": "error-handler-b24c6e28-3c9e-4069-9e87-49b2efd47257-fda5a7e5", "type": "main", "index": 0 } ] ] } }, "name": "Lmchatopenai 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: Lmchatopenai Workflow. This workflow integrates 6 different services: webhook, stickyNote, agent, respondToWebhook, stopAndError. It contains 12 nodes and follows best practices for error handling and security.", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "notes": "Excellent quality workflow: Lmchatopenai Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }