{"workflow":{"id":12722,"name":"Create an AI chatbot for WhatsApp with Whapi.Cloud and OpenAI GPT-3.5","views":490,"recentViews":1,"totalViews":490,"createdAt":"2026-01-15T09:36:21.434Z","description":"**How it works:**\n• Receives WhatsApp messages via webhook from Whapi.Cloud\n• Routes commands: AI chat (/ai), numeric commands (1-9), or help menu\n• Sends responses: text, images, documents, videos, contacts, product info\n• Manages WhatsApp groups: create, send messages, list groups\n• Integrates with OpenAI ChatGPT for AI-powered conversations\n\n**Set up steps:**\nSetup takes ~5-10 minutes. Import the workflow, configure [Whapi.Cloud](https://whapi.cloud) credentials (token from dashboard), set up webhook URL in Whapi.Cloud settings, and optionally add OpenAI API key for AI chat. Activate the workflow and start receiving messages.\n\n**Key features:**\n• No Meta restrictions or approval\n• Visual no-code workflow - easy to customize\n• Production-ready with error handling\n• Well-documented with sticky notes inside the workflow\n\nPerfect for businesses, developers, and automation enthusiasts who want WhatsApp automation without coding.","workflow":{"id":"37NGq2bi20AHoMgr","meta":{"instanceId":"1ce007a7cd590bfd0b1f08d6d4ee576f18258a921153924d14ffeaa7e10c9796"},"name":"whatsapp-demo-bot-whapi-n8n-moderation","tags":[],"nodes":[{"id":"221ce7c6-3987-4463-9693-5959ab475597","name":"1️⃣ Receive WhatsApp Message","type":"n8n-nodes-base.webhook","position":[1232,896],"webhookId":"8794014c-2794-418c-9432-14a27f49b964","parameters":{"path":"8794014c-2794-418c-9432-14a27f49b964","options":{},"httpMethod":"POST"},"typeVersion":1},{"id":"ec04f539-2ca5-4a7b-bc58-0c985160daca","name":"2️⃣ Get Message Info","type":"n8n-nodes-base.set","position":[1456,896],"parameters":{"options":{},"assignments":{"assignments":[{"id":"message","name":"message","type":"object","value":"={{ $json.body.messages[0] }}"},{"id":"chatId","name":"chatId","type":"string","value":"={{ $json.body.messages[0].chat_id }}"},{"id":"textBody","name":"textBody","type":"string","value":"={{ $json.body.messages[0].text.body }}"},{"id":"fromMe","name":"fromMe","type":"boolean","value":"={{ $json.body.messages[0].from_me }}"},{"id":"commandInput","name":"commandInput","type":"string","value":"={{ $json.body.messages[0].text.body.trim() }}"}]}},"typeVersion":3.4},{"id":"89f18156-b6a7-46ad-b8fd-25c608d77160","name":"3️⃣ Ignore Bot's Own Messages","type":"n8n-nodes-base.if","position":[1664,896],"parameters":{"options":{},"conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"fromMe","operator":{"type":"boolean","operation":"false"},"leftValue":"={{ $json.fromMe }}","rightValue":false}]}},"typeVersion":2},{"id":"1db9f48c-b079-43df-afe2-3051242d682b","name":"4️⃣ What Type of Command?","type":"n8n-nodes-base.switch","position":[2400,816],"parameters":{"rules":{"values":[{"outputKey":"ai","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"isAiCommand","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput.toLowerCase() }}","rightValue":"/ai "}]},"renameOutput":true},{"outputKey":"numeric","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"isNumeric","operator":{"type":"string","operation":"regex"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"^\\d+$"}]},"renameOutput":true}]},"options":{"fallbackOutput":"extra"}},"typeVersion":3},{"id":"9bf2270e-cc18-4fbd-853d-b57fd992c739","name":"Extract AI Question","type":"n8n-nodes-base.set","position":[2928,496],"parameters":{"options":{},"assignments":{"assignments":[{"id":"aiPrompt","name":"aiPrompt","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.commandInput.substring(4).trim() }}"}]}},"typeVersion":3.4},{"id":"8c497783-23ea-4e3b-8a59-d05291a39290","name":"Format AI Answer","type":"n8n-nodes-base.set","position":[3472,496],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.chatId }}"},{"id":"body","name":"body","type":"string","value":"={{ $json.output[0].content[0].text }}"}]}},"typeVersion":3.4},{"id":"9dbbb18d-ff8a-4243-84ab-c51a9267fe18","name":"5️⃣ Which Number Command? (1-9)","type":"n8n-nodes-base.switch","position":[2928,1680],"parameters":{"rules":{"values":[{"outputKey":"text","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"text","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"1"}]},"renameOutput":true},{"outputKey":"image","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"image","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"2"}]},"renameOutput":true},{"outputKey":"document","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"document","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"3"}]},"renameOutput":true},{"outputKey":"video","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"video","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"4"}]},"renameOutput":true},{"outputKey":"contact","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"contact","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"5"}]},"renameOutput":true},{"outputKey":"product","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"product","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"6"}]},"renameOutput":true},{"outputKey":"group_create","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"group_create","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"7"}]},"renameOutput":true},{"outputKey":"group_text","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"group_text","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"8"}]},"renameOutput":true},{"outputKey":"groups_ids","conditions":{"options":{"version":1,"leftValue":"","caseSensitive":true,"typeValidation":"strict"},"combinator":"and","conditions":[{"id":"groups_ids","operator":{"type":"string","operation":"startsWith"},"leftValue":"={{ $('2️⃣ Get Message Info').item.json.commandInput }}","rightValue":"9"}]},"renameOutput":true}]},"options":{}},"typeVersion":3},{"id":"02d4a23b-fef4-410c-806b-e879b91a97aa","name":"Show Help Menu","type":"n8n-nodes-base.set","position":[3424,880],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.chatId }}"},{"id":"body","name":"body","type":"string","value":"Hi. Send me a number from the list to try a command, or use /AI <your message> to chat with ChatGPT.\\n\\n1. Simple text message\\n2. Send image\\n3. Send document\\n4. Send video\\n5. Send contact\\n6. Send product\\n7. Create group\\n8. Simple text message for the group\\n9. Get the id's of your three groups"}]}},"typeVersion":3.4},{"id":"804f60e8-2ea4-47e0-808b-d605af8511b2","name":"Prepare: Simple Text","type":"n8n-nodes-base.set","position":[3536,1328],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.chatId }}"},{"id":"body","name":"body","type":"string","value":"Simple text message"}]}},"typeVersion":3.4},{"id":"fd1d87b2-9f9a-4b54-99ce-a3445e986146","name":"📤 Send Text Message","type":"n8n-nodes-base.httpRequest","position":[4672,624],"parameters":{"url":"https://gate.whapi.cloud/messages/text","method":"POST","options":{},"jsonBody":"={\"to\": \"{{ $json.to }}\", \"body\": \"{{ $json.body }}\"}","sendBody":true,"sendHeaders":true,"specifyBody":"json","authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"whapiChannelApi"},"typeVersion":4.2},{"id":"71c4bbf6-f7e1-4056-99f9-c785d917809c","name":"Prepare: Image (Command 2)","type":"n8n-nodes-base.set","position":[3536,1488],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.chatId }}"},{"id":"caption","name":"caption","type":"string","value":"Text under the photo."},{"id":"mediaPath","name":"mediaPath","type":"string","value":"https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg"}]}},"typeVersion":3.4},{"id":"d90091d7-4757-4191-9a01-99db453d906e","name":"📤 Send Image","type":"n8n-nodes-base.httpRequest","position":[3776,1488],"parameters":{"url":"https://gate.whapi.cloud/messages/image","method":"POST","options":{},"jsonBody":"={\"to\": \"{{ $json.to }}\", \"media\": \"{{ $json.mediaPath }}\", \"caption\": \"{{ $json.caption }}\"}","sendBody":true,"sendHeaders":true,"specifyBody":"json","authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"whapiChannelApi"},"typeVersion":4.2},{"id":"b5a42cc5-ceae-4885-90a8-e1611cf69147","name":"Prepare: Document (Command 3)","type":"n8n-nodes-base.set","position":[3536,1696],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.chatId }}"},{"id":"caption","name":"caption","type":"string","value":"Text under the document."},{"id":"mediaPath","name":"mediaPath","type":"string","value":"https://upload.wikimedia.org/wikipedia/commons/2/27/PDF_metadata.pdf"},{"id":"02fb71b0-426b-40a3-8cd5-ba4d490cc5c8","name":"filename","type":"string","value":"Example"}]}},"typeVersion":3.4},{"id":"014a5025-5bfa-4c0d-8960-426d2356a17b","name":"📤 Send Document","type":"n8n-nodes-base.httpRequest","position":[3776,1696],"parameters":{"url":"https://gate.whapi.cloud/messages/document","method":"POST","options":{},"jsonBody":"={\"to\": \"{{ $json.to }}\", \"media\": \"{{ $json.mediaPath }}\", \"filename\": \"{{ $json.filename }}\", \"caption\": \"{{ $json.caption }}\"}","sendBody":true,"sendHeaders":true,"specifyBody":"json","authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"whapiChannelApi"},"typeVersion":4.2},{"id":"d67733e9-b334-42f8-a9d5-76aaf06e36b6","name":"Prepare: Video (Command 4)","type":"n8n-nodes-base.set","position":[3536,1904],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.chatId }}"},{"id":"caption","name":"caption","type":"string","value":"Text under the video."},{"id":"mediaPath","name":"mediaPath","type":"string","value":"https://download.samplelib.com/mp4/sample-5s.mp4"}]}},"typeVersion":3.4},{"id":"f70c5397-aecf-40e1-8011-2648aa59f7ff","name":"📤 Send Video","type":"n8n-nodes-base.httpRequest","position":[3776,1904],"parameters":{"url":"https://gate.whapi.cloud/messages/video","method":"POST","options":{},"jsonBody":"={\"to\": \"{{ $json.to }}\", \"media\": \"{{ $json.mediaPath }}\", \"caption\": \"{{ $json.caption }}\"}","sendBody":true,"sendHeaders":true,"specifyBody":"json","authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"whapiChannelApi"},"typeVersion":4.2},{"id":"8590f37f-dd6d-411d-8ee8-0a6fab3466f2","name":"📤 Send Contact","type":"n8n-nodes-base.httpRequest","position":[3776,2112],"parameters":{"url":"https://gate.whapi.cloud/messages/contact","method":"POST","options":{},"jsonBody":"={\"to\": \"{{ $json.to }}\", \"name\": \"{{ $json.name }}\", \"vcard\": \"{{ $json.vcard }}\"}","sendBody":true,"sendHeaders":true,"specifyBody":"json","authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"whapiChannelApi"},"typeVersion":4.2},{"id":"ed7e0644-590b-4764-b16b-639d46469c6f","name":"Create WhatsApp Group","type":"n8n-nodes-base.httpRequest","position":[3776,2512],"parameters":{"url":"https://gate.whapi.cloud/groups","method":"POST","options":{},"jsonBody":"={\"subject\": \"{{ $json.subject }}\", \"participants\": [{{ $json.participants }}]}","sendBody":true,"sendHeaders":true,"specifyBody":"json","authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"whapiChannelApi"},"typeVersion":4.2},{"id":"2643fb43-1ee7-4e9a-91da-05b83371b241","name":"Format Group Creation Result","type":"n8n-nodes-base.set","position":[4016,2512],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.chatId }}"},{"id":"body","name":"body","type":"string","value":"={{ $json.group_id ? `Group created. Group id: ${$json.group_id}. Use it ID in node Prepare: Group Message - before executing command 8` : \"Error\" }}"}]}},"typeVersion":3.4},{"id":"c61c2d5d-0d9d-4d21-a739-72c13c2368fb","name":"Prepare: Group Message (Command 8)","type":"n8n-nodes-base.set","position":[3536,2720],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $env.GROUP_ID }}"},{"id":"body","name":"body","type":"string","value":"Simple text message for the group"}]}},"typeVersion":3.4},{"id":"5e34de2e-7f0e-44a1-8bd5-5ee7d9d563fc","name":"Get Groups List (Command 9)","type":"n8n-nodes-base.httpRequest","position":[3536,2944],"parameters":{"url":"https://gate.whapi.cloud/groups?count=3","options":{},"sendHeaders":true,"authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"whapiChannelApi"},"typeVersion":4.2},{"id":"883de69f-e840-4107-bb90-702c487dc485","name":"Format Groups List","type":"n8n-nodes-base.set","position":[3760,2944],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.message.chat_id }}"},{"id":"body","name":"body","type":"string","value":"={{ \n  ($json.groups && $json.groups.length)\n    ? $json.groups.map(g => `${g.id} - ${String(g.name).replace(/[\\r\\n]+/g, ' ')}`).join('  &  ')\n    : 'No groups'\n}}"}]}},"typeVersion":3.4},{"id":"df93303e-38b6-42fe-ae07-b0ce23c914bd","name":"Workflow Overview","type":"n8n-nodes-base.stickyNote","position":[416,704],"parameters":{"width":624,"height":608,"content":"## How it works\n\nThis workflow is a WhatsApp bot built with the Whapi.Cloud API. Messages arrive through a webhook. The workflow reads each message and routes it. If the text starts with /AI, the rest is sent to OpenAI ChatGPT and the reply is sent back to the user. If the user sends a digit from 1 to 9, the bot runs one of the built‑in actions: send text, image, document, video, or contact; send a product; create a group; send a message to a group; or list groups. Any other text triggers the help menu with the command list.\n\n## Setup steps\n\n**1. Credentials.** Add your Whapi.Cloud [channel token](https://panel.whapi.cloud/dashboard). In each HTTP Request node, set the credential to your Whapi token. Or use a custom header: name `Authorization`, value `Bearer YOUR_TOKEN`.\n\n**2. Environment variables (optional).** Set `OPENAI_API_KEY` if you use AI chat; `PRODUCT_ID` for the product command; `GROUP_ID` for sending messages to a group. Replace `YOUR_PRODUCT_ID` in the Prepare: Product node with your real product ID from the catalogue.\n\n**3. Webhook.** Copy the Production URL from the webhook node. In Whapi.Cloud, open your channel and go to Webhooks. Add a webhook: event `messages`, method `POST`, mode `Body`. Paste the Production URL. Do not use the Test URL when the workflow is live.\n\n**4. Media (optional).** In the Prepare nodes for image, document, or video, use a direct, publicly accessible URL. The link must point to the final file."},"typeVersion":1},{"id":"9a30719d-2737-4ef7-9da0-c33f2946dc20","name":"Webhook Info","type":"n8n-nodes-base.stickyNote","position":[1200,1072],"parameters":{"color":4,"width":336,"content":"## Webhook Trigger\n\nReceives incoming WhatsApp messages from Whapi.Cloud. Configure the webhook URL in [Whapi.Cloud Channel settings](https://panel.whapi.cloud/dashboard) to point to this endpoint."},"typeVersion":1},{"id":"259ae736-a30c-4943-935d-988cfef54585","name":"Route Command Info","type":"n8n-nodes-base.stickyNote","position":[2256,1024],"parameters":{"color":4,"width":352,"height":192,"content":"Routes incoming messages to appropriate handlers:\n- **AI output:** Messages starting with `/AI ` → OpenAI integration\n- **Numeric output:** Messages with digits (1-9) → Command routing\n- **Default output:** Unknown commands → Help message"},"typeVersion":1},{"id":"5bbb02b8-1a4f-4211-9503-b9e2db5178a0","name":"AI Integration Info","type":"n8n-nodes-base.stickyNote","position":[2960,368],"parameters":{"color":4,"width":576,"height":96,"content":"Uses OpenAI ChatGPT for AI-powered responses. Requires `OPENAI_API_KEY` environment variable.\n\n**Usage:** Send `/AI <your message>` to chat with ChatGPT."},"typeVersion":1},{"id":"b6d0d848-10a8-4c70-b844-a3c9fc536c2e","name":"Switch Node Info","type":"n8n-nodes-base.stickyNote","position":[2832,2112],"parameters":{"color":4,"width":288,"height":256,"content":"Routes numeric commands (1-9) to specific handlers:\n- **1:** Text message\n- **2:** Image\n- **3:** Document\n- **4:** Video\n- **5:** Contact\n- **6:** Product\n- **7:** Create group\n- **8:** Group text\n- **9:** Get groups list"},"typeVersion":1},{"id":"49001bc0-deec-4099-b903-33b3c2696a64","name":"Command 1 Info","type":"n8n-nodes-base.stickyNote","position":[4544,1360],"parameters":{"color":5,"width":544,"height":240,"content":"## Command 1: Simple Text\n\n**User sends:** `1`\n\n**What happens:**\n1. Prepares text message\n2. Sends via Whapi.Cloud\n\n**To customize:** Edit \"Prepare: Simple Text\" node → Change `body` field"},"typeVersion":1},{"id":"56479bba-fb63-4e73-bd9a-7f0398660a7d","name":"Command 2 Info","type":"n8n-nodes-base.stickyNote","position":[5120,1360],"parameters":{"color":5,"width":560,"height":240,"content":"## Command 2: Send Image\n\n**User sends:** `2`\n\n**What happens:**\n1. Prepares image data (URL path, caption)\n2. Sends via Whapi.Cloud\n\n**To customize:** Edit \"Prepare: Image\" node → Change `mediaPath` and `caption`"},"typeVersion":1},{"id":"ab320567-1d57-4a65-8056-504ee61ee1c7","name":"Command 3 Info","type":"n8n-nodes-base.stickyNote","position":[4544,1632],"parameters":{"color":5,"width":544,"height":256,"content":"## Command 3: Send Document\n\n**User sends:** `3`\n\n**What happens:**\n1. Prepares PDF document data (URL path, caption, filename)\n2. Sends via Whapi.Cloud\n\n**To customize:** Edit \"Prepare: Document\" node → Change `mediaPath` and `caption` and `filename`"},"typeVersion":1},{"id":"d20b859e-1073-4f6c-9254-1a8ec4e7d413","name":"Command 4 Info","type":"n8n-nodes-base.stickyNote","position":[5120,1632],"parameters":{"color":5,"width":560,"height":256,"content":"## Command 4: Send Video\n\n**User sends:** `4`\n\n**What happens:**\n1. Prepares video data (URL path, caption)\n2. Sends via Whapi.Cloud\n\n**To customize:** Edit \"Prepare: Video\" node → Change `mediaPath` and `caption`"},"typeVersion":1},{"id":"9ae9c2a9-065f-49a7-83b5-78e022cfe129","name":"Command 5 Info","type":"n8n-nodes-base.stickyNote","position":[4544,1920],"parameters":{"color":5,"width":544,"height":256,"content":"## Command 5: Send Contact\n\n**User sends:** `5`\n\n**What happens:**\n1. Prepares contact data (name, vCard). You can use [the vCard generator in the dashboard](https://panel.whapi.cloud/tools/vcard-creation)\n2. Sends contact card via JSON\n\n**To customize:** Edit vCard file or \"Prepare: Contact\" node → Change `name`"},"typeVersion":1},{"id":"b26c453a-5122-4d20-871e-390363954543","name":"Command 6 Info","type":"n8n-nodes-base.stickyNote","position":[5120,1920],"parameters":{"color":5,"width":560,"height":256,"content":"## Command 6: Get Product\n\n**User sends:** `6`\n\nYou need [to find out your ProductID](https://whapi.readme.io/reference/getproducts) before you use this command. \n\n**To customize:**  Edit \"Prepare: Product (Command 6)\" node → Change `ProductID`"},"typeVersion":1},{"id":"cce74f62-ba4d-47c1-969b-d1b3a210849b","name":"Command 7 Info","type":"n8n-nodes-base.stickyNote","position":[4544,2208],"parameters":{"color":5,"width":544,"height":288,"content":"## Command 7: Create Group\n\n**User sends:** `7`\n\n**What happens:**\n1. Extracts sender phone number\n2. Creates new WhatsApp group\n3. Adds the sender and several other numbers as participants\n4. Returns group ID\n\n**To customize:** Edit \"Prepare: Create Group\" node → Change `subject` (group name) and `participants`"},"typeVersion":1},{"id":"46e36acc-cb02-4aaa-9763-2b01962e947e","name":"Command 8 Info","type":"n8n-nodes-base.stickyNote","position":[5120,2208],"parameters":{"color":5,"width":560,"height":288,"content":"## Command 8: Group Message\n\n**User sends:** `8`\n\n**What happens:**\n1. Prepares message for group\n2. Uses GROUP_ID from environment or provide a specific identifier \n3. Sends message to group\n\n**Requires:** `GROUP_ID` in environment variables\n\n**To customize:** Set `GROUP_ID` in n8n environment variables (get from Command 9)"},"typeVersion":1},{"id":"7cb3653b-f3e6-4b80-9d06-0ef86c779bfa","name":"Command 9 Info","type":"n8n-nodes-base.stickyNote","position":[4544,2528],"parameters":{"color":5,"width":544,"height":256,"content":"## Command 9: List Groups\n\n**User sends:** `9`\n\n**What happens:**\n1. Gets list of up to 3 groups\n2. Formats group IDs and names\n3. Sends list to user\n\n**Use this:** To get GROUP_ID for Command 8"},"typeVersion":1},{"id":"8e1e8fcc-3c71-4f99-a49b-d7e7c286f62c","name":"Message a model","type":"@n8n/n8n-nodes-langchain.openAi","position":[3136,496],"parameters":{"modelId":{"__rl":true,"mode":"list","value":"gpt-3.5-turbo","cachedResultName":"GPT-3.5-TURBO"},"options":{"store":false},"responses":{"values":[{"content":"={{ $json.aiPrompt }}"},{"role":"system","content":"You are an expert conversationalist who responds to users in line with their speech and writing patterns in a way that feels natural to human users. Adapt to the user's style and tone in a natural, conversational way, without expressing your own personal point of view. Use emojis, slang, colloquial language, etc. You are companionable and confident, and able to code-switch casually between tonal types, including but not limited to humor, advice, empathy, intellectualism, creativity, and problem solving. Responses must be interesting, engaging, or viable, never bland or boring.\n\nMatch the user's tone, formality level (casual, professional, formal, etc.) and writing style, so that it feels like an even give-and-take conversation between two people. Be natural, don't be bland or robotic. Mirror the user's intentionality and style in a natural, consistent way. For example, if they use proper grammar, then you use proper grammar. If they don't use proper grammar, you don't use proper grammar, etc.\n\nYou are mirroring the user but you are NOT taking on their identity or personality or point of view. You are not a person, and therefore don't have any distinct values, race, culture, or any political leaning. You do not express personal attachments, strong negative feelings toward anyone, or any individualized perspective of your own."}]},"builtInTools":{}},"typeVersion":2},{"id":"4a9b587a-7edc-426a-80b3-8d258a286e42","name":"📤 Send Product","type":"n8n-nodes-base.httpRequest","position":[3776,2304],"parameters":{"url":"=https://gate.whapi.cloud/business/products/{{ $json.ProductID }}","method":"POST","options":{},"jsonBody":"={\"to\": \"{{ $json.to }}\"}","sendBody":true,"sendHeaders":true,"specifyBody":"json","authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"Content-Type","value":"application/json"}]},"nodeCredentialType":"whapiChannelApi"},"typeVersion":4.2},{"id":"2dec4c9f-4068-48e8-a5ce-fd7aa280a0e9","name":"Prepare: Contact (Command 5)","type":"n8n-nodes-base.set","position":[3536,2112],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.chatId }}"},{"id":"name","name":"name","type":"string","value":"Whapi Test"},{"id":"vcard","name":"vcard","type":"string","value":"=BEGIN:VCARD\\nVERSION:3.0\\nN:Last Name;Example First Name;;;\\nFN:Example First Name Last Name\\nORG:Company Name Department\\nTITLE:Job Title\\nNOTE:null\\nTEL;type=Mobile:+1 555 000 0000\\nitem1.URL:www.example.com\\nitem1.X-ABLabel:OTHER\\nEMAIL;TYPE=Home:contact@example.com\\nitem2.ADR;type=Home:;;Example Street;Example City;;;Country\\nitem2.X-ABADR:\\nEND:VCARD"}]}},"typeVersion":3.4},{"id":"405823af-b8ba-48d9-a86f-52b9aa0612f1","name":"Prepare: Product (Command 6)","type":"n8n-nodes-base.set","position":[3536,2304],"parameters":{"options":{},"assignments":{"assignments":[{"id":"to","name":"to","type":"string","value":"={{ $('2️⃣ Get Message Info').item.json.chatId }}"},{"id":"name","name":"ProductID","type":"string","value":"YOUR_PRODUCT_ID"}]}},"typeVersion":3.4},{"id":"53ff7c93-3dac-4319-acb4-d0a716bbc759","name":"Prepare: Create Group (Command 7)","type":"n8n-nodes-base.set","position":[3536,2512],"parameters":{"options":{},"assignments":{"assignments":[{"id":"name","name":"subject","type":"string","value":"My new group"},{"id":"d01ca385-c765-4820-82d2-7272c0333198","name":"participants","type":"string","value":"=\"{{ $('2️⃣ Get Message Info').item.json.message.from }}\", \"15550000001\", \"15550000002\""}]}},"typeVersion":3.4},{"id":"98040a79-78ed-407b-9a10-65c38a3fb898","name":"✔✔ Mark message as read","type":"n8n-nodes-base.httpRequest","position":[2016,832],"parameters":{"url":"=https://gate.whapi.cloud/messages/{{ $('2️⃣ Get Message Info').item.json.message.id }}","method":"PUT","options":{},"sendHeaders":true,"authentication":"predefinedCredentialType","headerParameters":{"parameters":[{"name":"accept","value":"application/json"}]},"nodeCredentialType":"whapiChannelApi"},"executeOnce":false,"notesInFlow":false,"retryOnFail":false,"typeVersion":4.3,"alwaysOutputData":false}],"active":false,"pinData":{},"settings":{"executionOrder":"v1"},"versionId":"5ba4cb4c-d865-452f-a5e5-f8fd9e39cfcf","connections":{"Show Help Menu":{"main":[[{"node":"📤 Send Text Message","type":"main","index":0}]]},"Message a model":{"main":[[{"node":"Format AI Answer","type":"main","index":0}]]},"Format AI Answer":{"main":[[{"node":"📤 Send Text Message","type":"main","index":0}]]},"Format Groups List":{"main":[[{"node":"📤 Send Text Message","type":"main","index":0}]]},"Extract AI Question":{"main":[[{"node":"Message a model","type":"main","index":0}]]},"Prepare: Simple Text":{"main":[[{"node":"📤 Send Text Message","type":"main","index":0}]]},"Create WhatsApp Group":{"main":[[{"node":"Format Group Creation Result","type":"main","index":0}]]},"2️⃣ Get Message Info":{"main":[[{"node":"3️⃣ Ignore Bot's Own Messages","type":"main","index":0}]]},"Prepare: Image (Command 2)":{"main":[[{"node":"📤 Send Image","type":"main","index":0}]]},"Prepare: Video (Command 4)":{"main":[[{"node":"📤 Send Video","type":"main","index":0}]]},"Get Groups List (Command 9)":{"main":[[{"node":"Format Groups List","type":"main","index":0}]]},"✔✔ Mark message as read":{"main":[[{"node":"4️⃣ What Type of Command?","type":"main","index":0}]]},"Format Group Creation Result":{"main":[[{"node":"📤 Send Text Message","type":"main","index":0}]]},"Prepare: Contact (Command 5)":{"main":[[{"node":"📤 Send Contact","type":"main","index":0}]]},"Prepare: Product (Command 6)":{"main":[[{"node":"📤 Send Product","type":"main","index":0}]]},"4️⃣ What Type of Command?":{"main":[[{"node":"Extract AI Question","type":"main","index":0}],[{"node":"5️⃣ Which Number Command? (1-9)","type":"main","index":0}],[{"node":"Show Help Menu","type":"main","index":0}]]},"Prepare: Document (Command 3)":{"main":[[{"node":"📤 Send Document","type":"main","index":0}]]},"1️⃣ Receive WhatsApp Message":{"main":[[{"node":"2️⃣ Get Message Info","type":"main","index":0}]]},"3️⃣ Ignore Bot's Own Messages":{"main":[[{"node":"✔✔ Mark message as read","type":"main","index":0}]]},"Prepare: Create Group (Command 7)":{"main":[[{"node":"Create WhatsApp Group","type":"main","index":0}]]},"Prepare: Group Message (Command 8)":{"main":[[{"node":"📤 Send Text Message","type":"main","index":0}]]},"5️⃣ Which Number Command? (1-9)":{"main":[[{"node":"Prepare: Simple Text","type":"main","index":0}],[{"node":"Prepare: Image (Command 2)","type":"main","index":0}],[{"node":"Prepare: Document (Command 3)","type":"main","index":0}],[{"node":"Prepare: Video (Command 4)","type":"main","index":0}],[{"node":"Prepare: Contact (Command 5)","type":"main","index":0}],[{"node":"Prepare: Product (Command 6)","type":"main","index":0}],[{"node":"Prepare: Create Group (Command 7)","type":"main","index":0}],[{"node":"Prepare: Group Message (Command 8)","type":"main","index":0}],[{"node":"Get Groups List (Command 9)","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":42,"nodeTypes":{"n8n-nodes-base.if":{"count":1},"n8n-nodes-base.set":{"count":14},"n8n-nodes-base.switch":{"count":2},"n8n-nodes-base.webhook":{"count":1},"n8n-nodes-base.stickyNote":{"count":14},"n8n-nodes-base.httpRequest":{"count":9},"@n8n/n8n-nodes-langchain.openAi":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":" Jason Mitchell","username":"whapi-cloud","bio":"WhatsApp API without the hassle and nerves, wow! 🤘 ","verified":false,"links":["https://www.linkedin.com/company/whapi-cloud/"],"avatar":"https://gravatar.com/avatar/1ec788d160b3e0b242881f75f0d9844d70325ee79ff23165bde90813dddd0ce6?r=pg&d=retro&size=200"},"nodes":[{"id":19,"icon":"file:httprequest.svg","name":"n8n-nodes-base.httpRequest","codex":{"data":{"alias":["API","Request","URL","Build","cURL"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/world-poetry-day-workflow/","icon":"📜","label":"Celebrating World Poetry Day with a daily poem in Telegram"},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automate-designs-with-bannerbear-and-n8n/","icon":"🎨","label":"Automate Designs with Bannerbear and n8n"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/how-to-use-the-http-request-node-the-swiss-army-knife-for-workflow-automation/","icon":"🧰","label":"How to use the HTTP Request Node - The Swiss Army Knife for Workflow Automation"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"},{"url":"https://n8n.io/blog/creating-scheduled-text-affirmations-with-n8n/","icon":"🤟","label":"Creating scheduled text affirmations with n8n"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"output\"]","defaults":{"name":"HTTP Request","color":"#0004F5"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00MCAyMEM0MCA4Ljk1MzE0IDMxLjA0NjkgMCAyMCAwQzguOTUzMTQgMCAwIDguOTUzMTQgMCAyMEMwIDMxLjA0NjkgOC45NTMxNCA0MCAyMCA0MEMzMS4wNDY5IDQwIDQwIDMxLjA0NjkgNDAgMjBaTTIwIDM2Ljk0NThDMTguODg1MiAzNi45NDU4IDE3LjEzNzggMzUuOTY3IDE1LjQ5OTggMzIuNjk4NUMxNC43OTY0IDMxLjI5MTggMTQuMTk2MSAyOS41NDMxIDEzLjc1MjYgMjcuNjg0N0gyNi4xODk4QzI1LjgwNDUgMjkuNTQwMyAyNS4yMDQ0IDMxLjI5MDEgMjQuNTAwMiAzMi42OTg1QzIyLjg2MjIgMzUuOTY3IDIxLjExNDggMzYuOTQ1OCAyMCAzNi45NDU4Wk0xMi45MDY0IDIwQzEyLjkwNjQgMjEuNjA5NyAxMy4wMDg3IDIzLjE2NCAxMy4yMDAzIDI0LjYzMDVIMjYuNzk5N0MyNi45OTEzIDIzLjE2NCAyNy4wOTM2IDIxLjYwOTcgMjcuMDkzNiAyMEMyNy4wOTM2IDE4LjM5MDMgMjYuOTkxMyAxNi44MzYgMjYuNzk5NyAxNS4zNjk1SDEzLjIwMDNDMTMuMDA4NyAxNi44MzYgMTIuOTA2NCAxOC4zOTAzIDEyLjkwNjQgMjBaTTIwIDMuMDU0MTlDMjEuMTE0OSAzLjA1NDE5IDIyLjg2MjIgNC4wMzA3OCAyNC41MDAxIDcuMzAwMzlDMjUuMjA2NiA4LjcxNDA4IDI1LjgwNzIgMTAuNDA2NyAyNi4xOTIgMTIuMzE1M0gxMy43NTAxQzE0LjE5MzMgMTAuNDA0NyAxNC43OTQyIDguNzEyNTQgMTUuNDk5OCA3LjMwMDY0QzE3LjEzNzcgNC4wMzA4MyAxOC44ODUxIDMuMDU0MTkgMjAgMy4wNTQxOVpNMzAuMTQ3OCAyMEMzMC4xNDc4IDE4LjQwOTkgMzAuMDU0MyAxNi44NjE3IDI5LjgyMjcgMTUuMzY5NUgzNi4zMDQyQzM2LjcyNTIgMTYuODQyIDM2Ljk0NTggMTguMzk2NCAzNi45NDU4IDIwQzM2Ljk0NTggMjEuNjAzNiAzNi43MjUyIDIzLjE1OCAzNi4zMDQyIDI0LjYzMDVIMjkuODIyN0MzMC4wNTQzIDIzLjEzODMgMzAuMTQ3OCAyMS41OTAxIDMwLjE0NzggMjBaTTI2LjI3NjcgNC4yNTUxMkMyNy42MzY1IDYuMzYwMTkgMjguNzExIDkuMTMyIDI5LjM3NzQgMTIuMzE1M0gzNS4xMDQ2QzMzLjI1MTEgOC42NjggMzAuMTA3IDUuNzgzNDYgMjYuMjc2NyA0LjI1NTEyWk0xMC42MjI2IDEyLjMxNTNINC44OTI5M0M2Ljc1MTQ3IDguNjY3ODQgOS44OTM1MSA1Ljc4MzQxIDEzLjcyMzIgNC4yNTUxM0MxMi4zNjM1IDYuMzYwMjEgMTEuMjg5IDkuMTMyMDEgMTAuNjIyNiAxMi4zMTUzWk0zLjA1NDE5IDIwQzMuMDU0MTkgMjEuNjAzIDMuMjc3NDMgMjMuMTU3NSAzLjY5NDg0IDI0LjYzMDVIMTAuMTIxN0M5Ljk0NjE5IDIzLjE0MiA5Ljg1MjIyIDIxLjU5NDMgOS44NTIyMiAyMEM5Ljg1MjIyIDE4LjQwNTcgOS45NDYxOSAxNi44NTggMTAuMTIxNyAxNS4zNjk1SDMuNjk0ODRDMy4yNzc0MyAxNi44NDI1IDMuMDU0MTkgMTguMzk3IDMuMDU0MTkgMjBaTTI2LjI3NjYgMzUuNzQyN0MyNy42MzY1IDMzLjYzOTMgMjguNzExIDMwLjg2OCAyOS4zNzc0IDI3LjY4NDdIMzUuMTA0NkMzMy4yNTEgMzEuMzMyMiAzMC4xMDY4IDM0LjIxNzkgMjYuMjc2NiAzNS43NDI3Wk0xMy43MjM0IDM1Ljc0MjdDOS44OTM2OSAzNC4yMTc5IDYuNzUxNTUgMzEuMzMyNCA0Ljg5MjkzIDI3LjY4NDdIMTAuNjIyNkMxMS4yODkgMzAuODY4IDEyLjM2MzUgMzMuNjM5MyAxMy43MjM0IDM1Ljc0MjdaIiBmaWxsPSIjM0E0MkU5Ii8+Cjwvc3ZnPgo="},"displayName":"HTTP Request","typeVersion":4,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":20,"icon":"fa:map-signs","name":"n8n-nodes-base.if","codex":{"data":{"alias":["Router","Filter","Condition","Logic","Boolean","Branch"],"details":"The IF node can be used to implement binary conditional logic in your workflow. You can set up one-to-many conditions to evaluate each item of data being inputted into the node. That data will either evaluate to TRUE or FALSE and route out of the node accordingly.\n\nThis node has multiple types of conditions: Bool, String, Number, and Date & Time.","resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/why-business-process-automation-with-n8n-can-change-your-daily-life/","icon":"🧬","label":"Why business process automation with n8n can change your daily life"},{"url":"https://n8n.io/blog/create-a-toxic-language-detector-for-telegram/","icon":"🤬","label":"Create a toxic language detector for Telegram in 4 step"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/sending-automated-congratulations-with-google-sheets-twilio-and-n8n/","icon":"🙌","label":"Sending Automated Congratulations with Google Sheets, Twilio, and n8n "},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.if/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"If","color":"#408000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"If","typeVersion":2,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":38,"icon":"fa:pen","name":"n8n-nodes-base.set","codex":{"data":{"alias":["Set","JS","JSON","Filter","Transform","Map"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-to-automate-your-factorys-incident-reporting-a-step-by-step-guide/","icon":"🏭","label":"Learn to Automate Your Factory's Incident Reporting: A Step by Step Guide"},{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/automatically-pulling-and-visualizing-data-with-n8n/","icon":"📈","label":"Automatically pulling and visualizing data with n8n"},{"url":"https://n8n.io/blog/database-monitoring-and-alerting-with-n8n/","icon":"📡","label":"Database Monitoring and Alerting with n8n"},{"url":"https://n8n.io/blog/automatically-adding-expense-receipts-to-google-sheets-with-telegram-mindee-twilio-and-n8n/","icon":"🧾","label":"Automatically Adding Expense Receipts to Google Sheets with Telegram, Mindee, Twilio, and n8n"},{"url":"https://n8n.io/blog/no-code-ecommerce-workflow-automations/","icon":"store","label":"6 e-commerce workflows to power up your Shopify s"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/automate-your-data-processing-pipeline-in-9-steps-with-n8n/","icon":"⚙️","label":"Automate your data processing pipeline in 9 steps"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/automate-google-apps-for-productivity/","icon":"💡","label":"15 Google apps you can combine and automate to increase productivity"},{"url":"https://n8n.io/blog/how-uproc-scraped-a-multi-page-website-with-a-low-code-workflow/","icon":" 🕸️","label":"How uProc scraped a multi-page website with a low-code workflow"},{"url":"https://n8n.io/blog/building-an-expense-tracking-app-in-10-minutes/","icon":"📱","label":"Building an expense tracking app in 10 minutes"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/how-a-membership-development-manager-automates-his-work-and-investments/","icon":"📈","label":"How a Membership Development Manager automates his work and investments"},{"url":"https://n8n.io/blog/a-low-code-bitcoin-ticker-built-with-questdb-and-n8n-io/","icon":"📈","label":"A low-code bitcoin ticker built with QuestDB and n8n.io"},{"url":"https://n8n.io/blog/how-to-set-up-a-ci-cd-pipeline-with-no-code/","icon":"🎡","label":"How to set up a no-code CI/CD pipeline with GitHub and TravisCI"},{"url":"https://n8n.io/blog/benefits-of-automation-and-n8n-an-interview-with-hubspots-hugh-durkin/","icon":"🎖","label":"Benefits of automation and n8n: An interview with HubSpot's Hugh Durkin"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"},{"url":"https://n8n.io/blog/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Data Transformation"]}}},"group":"[\"input\"]","defaults":{"name":"Edit Fields"},"iconData":{"icon":"pen","type":"icon"},"displayName":"Edit Fields (Set)","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":47,"icon":"file:webhook.svg","name":"n8n-nodes-base.webhook","codex":{"data":{"alias":["HTTP","API","Build","WH"],"resources":{"generic":[{"url":"https://n8n.io/blog/learn-how-to-automatically-cross-post-your-content-with-n8n/","icon":"✍️","label":"Learn how to automatically cross-post your content with n8n"},{"url":"https://n8n.io/blog/running-n8n-on-ships-an-interview-with-maranics/","icon":"🛳","label":"Running n8n on ships: An interview with Maranics"},{"url":"https://n8n.io/blog/how-to-build-a-low-code-self-hosted-url-shortener/","icon":"🔗","label":"How to build a low-code, self-hosted URL shortener in 3 steps"},{"url":"https://n8n.io/blog/what-are-apis-how-to-use-them-with-no-code/","icon":" 🪢","label":"What are APIs and how to use them with no code"},{"url":"https://n8n.io/blog/5-tasks-you-can-automate-with-notion-api/","icon":"⚡️","label":"5 tasks you can automate with the new Notion API "},{"url":"https://n8n.io/blog/how-a-digital-strategist-uses-n8n-for-online-marketing/","icon":"💻","label":"How a digital strategist uses n8n for online marketing"},{"url":"https://n8n.io/blog/the-ultimate-guide-to-automate-your-video-collaboration-with-whereby-mattermost-and-n8n/","icon":"📹","label":"The ultimate guide to automate your video collaboration with Whereby, Mattermost, and n8n"},{"url":"https://n8n.io/blog/how-to-automatically-give-kudos-to-contributors-with-github-slack-and-n8n/","icon":"👏","label":"How to automatically give kudos to contributors with GitHub, Slack, and n8n"},{"url":"https://n8n.io/blog/5-workflow-automations-for-mattermost-that-we-love-at-n8n/","icon":"🤖","label":"5 workflow automations for Mattermost that we love at n8n"},{"url":"https://n8n.io/blog/why-this-product-manager-loves-workflow-automation-with-n8n/","icon":"🧠","label":"Why this Product Manager loves workflow automation with n8n"},{"url":"https://n8n.io/blog/creating-custom-incident-response-workflows-with-n8n/","label":"How to automate every step of an incident response workflow"},{"url":"https://n8n.io/blog/learn-to-build-powerful-api-endpoints-using-webhooks/","icon":"🧰","label":"Learn to Build Powerful API Endpoints Using Webhooks"},{"url":"https://n8n.io/blog/learn-how-to-use-webhooks-with-mattermost-slash-commands/","icon":"🦄","label":"Learn how to use webhooks with Mattermost slash commands"},{"url":"https://n8n.io/blog/how-goomer-automated-their-operations-with-over-200-n8n-workflows/","icon":"🛵","label":"How Goomer automated their operations with over 200 n8n workflows"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"trigger\"]","defaults":{"name":"Webhook"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCI+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTM1IDM3Yy0yLjIgMC00LTEuOC00LTRzMS44LTQgNC00IDQgMS44IDQgNC0xLjggNC00IDQiLz48cGF0aCBmaWxsPSIjMzc0NzRmIiBkPSJNMzUgNDNjLTMgMC01LjktMS40LTcuOC0zLjdsMy4xLTIuNWMxLjEgMS40IDIuOSAyLjMgNC43IDIuMyAzLjMgMCA2LTIuNyA2LTZzLTIuNy02LTYtNmMtMSAwLTIgLjMtMi45LjdsLTEuNyAxTDIzLjMgMTZsMy41LTEuOSA1LjMgOS40YzEtLjMgMi0uNSAzLS41IDUuNSAwIDEwIDQuNSAxMCAxMFM0MC41IDQzIDM1IDQzIi8+PHBhdGggZmlsbD0iIzM3NDc0ZiIgZD0iTTE0IDQzQzguNSA0MyA0IDM4LjUgNCAzM2MwLTQuNiAzLjEtOC41IDcuNS05LjdsMSAzLjlDOS45IDI3LjkgOCAzMC4zIDggMzNjMCAzLjMgMi43IDYgNiA2czYtMi43IDYtNnYtMmgxNXY0SDIzLjhjLS45IDQuNi01IDgtOS44IDgiLz48cGF0aCBmaWxsPSIjZTkxZTYzIiBkPSJNMTQgMzdjLTIuMiAwLTQtMS44LTQtNHMxLjgtNCA0LTQgNCAxLjggNCA0LTEuOCA0LTQgNCIvPjxwYXRoIGZpbGw9IiMzNzQ3NGYiIGQ9Ik0yNSAxOWMtMi4yIDAtNC0xLjgtNC00czEuOC00IDQtNCA0IDEuOCA0IDQtMS44IDQtNCA0Ii8+PHBhdGggZmlsbD0iI2U5MWU2MyIgZD0ibTE1LjcgMzQtMy40LTIgNS45LTkuN2MtMi0xLjktMy4yLTQuNS0zLjItNy4zIDAtNS41IDQuNS0xMCAxMC0xMHMxMCA0LjUgMTAgMTBjMCAuOS0uMSAxLjctLjMgMi41bC0zLjktMWMuMS0uNS4yLTEgLjItMS41IDAtMy4zLTIuNy02LTYtNnMtNiAyLjctNiA2YzAgMi4xIDEuMSA0IDIuOSA1LjFsMS43IDF6Ii8+PC9zdmc+"},"displayName":"Webhook","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":112,"icon":"fa:map-signs","name":"n8n-nodes-base.switch","codex":{"data":{"alias":["Router","If","Path","Filter","Condition","Logic","Branch","Case"],"resources":{"generic":[{"url":"https://n8n.io/blog/2021-the-year-to-automate-the-new-you-with-n8n/","icon":"☀️","label":"2021: The Year to Automate the New You with n8n"},{"url":"https://n8n.io/blog/how-to-get-started-with-crm-automation-and-no-code-workflow-ideas/","icon":"👥","label":"How to get started with CRM automation (with 3 no-code workflow ideas"},{"url":"https://n8n.io/blog/build-your-own-virtual-assistant-with-n8n-a-step-by-step-guide/","icon":"👦","label":"Build your own virtual assistant with n8n: A step by step guide"},{"url":"https://n8n.io/blog/automation-for-maintainers-of-open-source-projects/","icon":"🏷️","label":"How to automatically manage contributions to open-source projects"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.switch/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Flow"]}}},"group":"[\"transform\"]","defaults":{"name":"Switch","color":"#506000"},"iconData":{"icon":"map-signs","type":"icon"},"displayName":"Switch","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":565,"icon":"fa:sticky-note","name":"n8n-nodes-base.stickyNote","codex":{"data":{"alias":["Comments","Notes","Sticky"],"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers"]}}},"group":"[\"input\"]","defaults":{"name":"Sticky Note","color":"#FFD233"},"iconData":{"icon":"sticky-note","type":"icon"},"displayName":"Sticky Note","typeVersion":1,"nodeCategories":[{"id":9,"name":"Core Nodes"}]},{"id":1250,"icon":"file:openAi.svg","name":"@n8n/n8n-nodes-langchain.openAi","codex":{"data":{"alias":["LangChain","ChatGPT","Sora","DallE","whisper","audio","transcribe","tts","assistant"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-langchain.openai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Miscellaneous","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg1IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NiAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MSA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSJibGFjayIvPgo8L3N2Zz4K"},"displayName":"OpenAI","typeVersion":2,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]}],"categories":[{"id":40,"name":"Support Chatbot"},{"id":47,"name":"AI Chatbot"}],"image":[]}}