{ "name": "Zulip Private Message Sender", "nodes": [ { "name": "On clicking 'execute'", "type": "n8n-nodes-base.manualTrigger", "position": [ 250, 300 ], "parameters": {}, "typeVersion": 1, "id": "zulip-private-message-sender-0" }, { "name": "Zulip", "type": "n8n-nodes-base.zulip", "position": [ 450, 300 ], "parameters": { "resource": "message", "operation": "sendPrivate", "to": [ "recipient@example.com" ], "content": "YOUR_PRIVATE_MESSAGE" }, "typeVersion": 1, "id": "zulip-private-message-sender-1" }, { "id": "zulip-private-message-sender-confirm", "name": "Confirm Zulip message", "type": "n8n-nodes-base.code", "typeVersion": 2, "position": [ 740, 300 ], "parameters": { "mode": "runOnceForEachItem", "jsCode": "function readZulipMessage(body) {\n if (!body || typeof body !== 'object' || Array.isArray(body) || body.result !== 'success' || !Number.isSafeInteger(body.id) || body.id < 1) throw new Error('Zulip did not confirm a sent message');\n return body;\n}\nfunction zulipMessageResult ({ body, statusCode }) {\n if (statusCode !== 200) throw new Error('Zulip did not return a successful response');\n return { message: readZulipMessage(body) };\n}\n\nreturn { json: readZulipMessage($json) };" } } ], "active": false, "settings": { "executionOrder": "v1" }, "connections": { "On clicking 'execute'": { "main": [ [ { "node": "Zulip", "type": "main", "index": 0 } ] ] }, "Zulip": { "main": [ [ { "node": "Confirm Zulip message", "type": "main", "index": 0 } ] ] } }, "pinData": {} }