{ "id": "B6UHILmjPWa7ViQ4", "meta": { "instanceId": "workflow-8dd12b30", "versionId": "1.0.0", "createdAt": "2025-09-29T07:07:46.278100", "updatedAt": "2025-09-29T07:07:46.278111", "owner": "n8n-user", "license": "MIT", "category": "automation", "status": "active", "priority": "high", "environment": "production" }, "name": "Weather via Slack", "tags": [ "automation", "n8n", "production-ready", "excellent", "optimized" ], "nodes": [ { "id": "9aea370b-7eb9-4742-9663-6628513e4de3", "name": "Webhook", "type": "n8n-nodes-base.webhook", "position": [ -340, -300 ], "webhookId": "41a60a4f-66d0-433b-aa43-b225dffa6761", "parameters": { "path": "slack1", "options": {}, "httpMethod": "POST" }, "typeVersion": 2, "notes": "This webhook node performs automated tasks as part of the workflow." }, { "id": "c982487f-076a-48e8-9a35-78e8fbfb8936", "name": "Slack", "type": "n8n-nodes-base.slack", "position": [ 560, -300 ], "webhookId": "4840f197-e116-4ef5-9372-0abd063e4aad", "parameters": { "text": "={{\n JSON.parse($node[\"NWS1\"].json.data).properties.periods\n .map(period => \n `*${period.name}*\\n` +\n `Temp: ${period.temperature}°${period.temperatureUnit}\\n` +\n `Wind: ${period.windSpeed} ${period.windDirection}\\n` +\n `Forecast: ${period.shortForecast}`\n )\n .join(\"\\n\\n\")\n}}\n", "select": "channel", "channelId": { "__rl": true, "mode": "list", "value": "C0889718P8S", "cachedResultName": "n8n" }, "otherOptions": {}, "authentication": "{{ $credentials.oAuth2 }}" }, "credentials": { "slackOAuth2Api": { "id": "GSiEiuKBz8GR5qiD", "name": "AlexK Slack account" } }, "typeVersion": 2.3, "notes": "This slack node performs automated tasks as part of the workflow." }, { "id": "7d42112a-0590-4a09-ba0e-dbdf1eddccf2", "name": "OpenStreetMap", "type": "n8n-nodes-base.httpRequest", "position": [ -100, -300 ], "parameters": { "url": "{{ $env.WEBHOOK_URL }}", "options": { "response": { "response": { "fullResponse": true } } }, "sendQuery": true, "sendHeaders": true, "queryParameters": { "parameters": [ { "name": "q", "value": "={{ $('Webhook').item.json.body.text }}" }, { "name": "format", "value": "json" } ] }, "headerParameters": { "parameters": [ { "name": "User-Agent", "value": "alexk1919 (alex@alexk1919.com)" } ] } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "565a0123-9059-4e6e-be97-96e0875c1b84", "name": "NWS", "type": "n8n-nodes-base.httpRequest", "position": [ 120, -300 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": { "response": { "response": { "fullResponse": true } } }, "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "User-Agent", "value": "alexk1919 (alex@alexk1919.com)" } ] } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." }, { "id": "3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08", "name": "NWS1", "type": "n8n-nodes-base.httpRequest", "position": [ 340, -300 ], "parameters": { "url": "{{ $env.BASE_URL }}", "options": { "response": { "response": { "fullResponse": true } } }, "sendHeaders": true, "headerParameters": { "parameters": [ { "name": "User-Agent", "value": "alexk1919 (alex@alexk1919.com)" } ] } }, "typeVersion": 4.2, "notes": "This httpRequest node performs automated tasks as part of the workflow." } ], "active": true, "pinData": {}, "settings": { "executionOrder": "v1", "saveManualExecutions": true, "callerPolicy": "workflowsFromSameOwner", "errorWorkflow": null, "timezone": "UTC", "executionTimeout": 3600, "maxExecutions": 1000, "retryOnFail": true, "retryCount": 3, "retryDelay": 1000 }, "versionId": "4244c90f-02e9-42fc-9873-3f8074f6ecf4", "connections": { "9aea370b-7eb9-4742-9663-6628513e4de3": { "main": [ [ { "node": "error-handler-9aea370b-7eb9-4742-9663-6628513e4de3", "type": "main", "index": 0 } ], [ { "node": "error-handler-9aea370b-7eb9-4742-9663-6628513e4de3-d0f963a6", "type": "main", "index": 0 } ], [ { "node": "error-handler-9aea370b-7eb9-4742-9663-6628513e4de3-9b5fcb46", "type": "main", "index": 0 } ], [ { "node": "error-handler-9aea370b-7eb9-4742-9663-6628513e4de3-8ac6e0ca", "type": "main", "index": 0 } ], [ { "node": "error-handler-9aea370b-7eb9-4742-9663-6628513e4de3-c1f453ef", "type": "main", "index": 0 } ], [ { "node": "error-handler-9aea370b-7eb9-4742-9663-6628513e4de3-f6fe2640", "type": "main", "index": 0 } ], [ { "node": "error-handler-9aea370b-7eb9-4742-9663-6628513e4de3-7796340a", "type": "main", "index": 0 } ], [ { "node": "error-handler-9aea370b-7eb9-4742-9663-6628513e4de3-bd46cefc", "type": "main", "index": 0 } ], [ { "node": "error-handler-9aea370b-7eb9-4742-9663-6628513e4de3-3119ccf1", "type": "main", "index": 0 } ] ] }, "7d42112a-0590-4a09-ba0e-dbdf1eddccf2": { "main": [ [ { "node": "error-handler-7d42112a-0590-4a09-ba0e-dbdf1eddccf2", "type": "main", "index": 0 } ], [ { "node": "error-handler-7d42112a-0590-4a09-ba0e-dbdf1eddccf2-24ff7be5", "type": "main", "index": 0 } ], [ { "node": "error-handler-7d42112a-0590-4a09-ba0e-dbdf1eddccf2-333fd788", "type": "main", "index": 0 } ], [ { "node": "error-handler-7d42112a-0590-4a09-ba0e-dbdf1eddccf2-43ea0975", "type": "main", "index": 0 } ], [ { "node": "error-handler-7d42112a-0590-4a09-ba0e-dbdf1eddccf2-29a82b55", "type": "main", "index": 0 } ], [ { "node": "error-handler-7d42112a-0590-4a09-ba0e-dbdf1eddccf2-473143f1", "type": "main", "index": 0 } ], [ { "node": "error-handler-7d42112a-0590-4a09-ba0e-dbdf1eddccf2-ee0c0bf5", "type": "main", "index": 0 } ], [ { "node": "error-handler-7d42112a-0590-4a09-ba0e-dbdf1eddccf2-7ff62081", "type": "main", "index": 0 } ], [ { "node": "error-handler-7d42112a-0590-4a09-ba0e-dbdf1eddccf2-c82525e0", "type": "main", "index": 0 } ] ] }, "565a0123-9059-4e6e-be97-96e0875c1b84": { "main": [ [ { "node": "error-handler-565a0123-9059-4e6e-be97-96e0875c1b84", "type": "main", "index": 0 } ], [ { "node": "error-handler-565a0123-9059-4e6e-be97-96e0875c1b84-6fa00ce5", "type": "main", "index": 0 } ], [ { "node": "error-handler-565a0123-9059-4e6e-be97-96e0875c1b84-872b6f87", "type": "main", "index": 0 } ], [ { "node": "error-handler-565a0123-9059-4e6e-be97-96e0875c1b84-dde9d92b", "type": "main", "index": 0 } ], [ { "node": "error-handler-565a0123-9059-4e6e-be97-96e0875c1b84-55c28fae", "type": "main", "index": 0 } ], [ { "node": "error-handler-565a0123-9059-4e6e-be97-96e0875c1b84-8848089b", "type": "main", "index": 0 } ], [ { "node": "error-handler-565a0123-9059-4e6e-be97-96e0875c1b84-19e058f5", "type": "main", "index": 0 } ], [ { "node": "error-handler-565a0123-9059-4e6e-be97-96e0875c1b84-1acbc117", "type": "main", "index": 0 } ], [ { "node": "error-handler-565a0123-9059-4e6e-be97-96e0875c1b84-09a2981d", "type": "main", "index": 0 } ] ] }, "3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08": { "main": [ [ { "node": "error-handler-3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08", "type": "main", "index": 0 } ], [ { "node": "error-handler-3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08-2b049ed3", "type": "main", "index": 0 } ], [ { "node": "error-handler-3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08-b938a6b5", "type": "main", "index": 0 } ], [ { "node": "error-handler-3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08-4a6d4a47", "type": "main", "index": 0 } ], [ { "node": "error-handler-3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08-8f9bc059", "type": "main", "index": 0 } ], [ { "node": "error-handler-3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08-2f67358d", "type": "main", "index": 0 } ], [ { "node": "error-handler-3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08-2452c804", "type": "main", "index": 0 } ], [ { "node": "error-handler-3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08-c51d6fb7", "type": "main", "index": 0 } ], [ { "node": "error-handler-3505e6c2-6e66-4abd-a1bb-75a1d8fc9a08-5182d976", "type": "main", "index": 0 } ] ] }, "c982487f-076a-48e8-9a35-78e8fbfb8936": { "main": [ [ { "node": "error-handler-c982487f-076a-48e8-9a35-78e8fbfb8936-36e3263c", "type": "main", "index": 0 } ] ] } }, "description": "Automated workflow: Weather via Slack. This workflow processes data and performs automated tasks.", "notes": "Excellent quality workflow: Weather via Slack. This workflow has been optimized for production use with comprehensive error handling, security, and documentation." }