{"workflow":{"id":14989,"name":"Rewrite content in 5 tones using GPT-4o-mini, Google Drive and Slack","views":0,"recentViews":0,"totalViews":0,"createdAt":"2026-04-11T11:41:27.116Z","description":"\n\n## Description\n\nPaste any text into a simple form — an email, social caption, blog paragraph, or proposal — and submit. GPT-4o-mini rewrites it simultaneously in five distinct tones: Professional, Casual, Persuasive, Concise, and Empathetic. All five versions are saved as a single document in your Google Drive folder, and your Slack channel gets an instant preview of the Concise version. Built for content teams, copywriters, and agencies who write the same message repeatedly for different audiences.\n\n---\n\n## What This Workflow Does\n\n- **Rewrites in five tones at once** — sends your text to GPT-4o-mini and gets back five complete versions in one AI call, saving you from rewriting manually\n- **Enforces structured output** — uses a schema parser to guarantee all five tones are always returned, even if the AI tries to skip one\n- **Saves everything to Google Drive** — assembles all five versions into one clearly labeled document and uploads it to your chosen Drive folder automatically\n- **Names files by project and date** — every document is titled with your project name and today's date so you can find it instantly later\n- **Sends a Slack preview** — posts the Concise version to your team channel the moment the document is ready, no waiting, no manual sharing\n- **Defaults gracefully** — fills in missing audience fields automatically so the workflow never fails due to a blank optional field\n\n---\n\n## Setup Requirements\n\n### Tools you need:\n- n8n instance (self-hosted or n8n Cloud)\n- OpenAI account with API access\n- Google account with Google Drive\n- Slack workspace with a bot app\n\n**Estimated Setup Time: 15–20 minutes**\n\n---\n\n## Step-by-Step Setup\n\n1. **Update your config values** — Open the node named **2. Set — Config Values**. Replace `YOUR_GOOGLE_DRIVE_FOLDER_ID` with the ID of your Drive folder (open the folder in Google Drive, look at the URL bar, and copy the string after `/folders/`). Replace `#YOUR-SLACK-CHANNEL` with your Slack channel name including the `#` symbol. Replace `YOUR COMPANY NAME` with your company or team name.\n\n&gt; ⚠️ All three placeholder values are in **2. Set — Config Values** — you must update all three before activating.\n\n2. **Connect your OpenAI credential** — Open the node named **4. OpenAI — GPT-4o-mini Model**. Click the credential dropdown and connect your OpenAI API key. If you do not have one, go to platform.openai.com, sign in, click your account name, select API Keys, and create a new key.\n\n3. **Connect your Google Drive credential** — Open the node named **8. Google Drive — Upload Tone Doc**. Click the credential dropdown and connect your Google account using OAuth2. n8n will prompt you to sign in and grant Drive access.\n\n4. **Connect your Slack credential** — Open the node named **9. Slack — Send Concise Preview**. Click the credential dropdown and connect your Slack OAuth2 app. After connecting, invite the Slack bot to your target channel by typing `/invite @your-bot-name` inside that channel.\n\n5. **Activate the workflow** — Click Activate in the top right of n8n. Copy the form URL from node **1. Form — Content Tone Rewriter** and bookmark it or share it with your team.\n\n---\n\n## How It Works (Step by Step)\n\n**Step 1 — Form Trigger: Content Tone Rewriter**\nYou open the form in your browser and fill in four fields: your original text, the content type (Email, Social Media Caption, Blog Paragraph, Client Proposal, Product Description, or Other), your name or project name, and an optional target audience. When you submit, the workflow starts immediately.\n\n**Step 2 — Set: Config Values**\nThis step loads your configuration and maps every form field into clean variables. It sets the Drive folder ID, Slack channel, and company name from your placeholders. It also builds the document title automatically — combining your project name with today's date — and records the exact time the workflow ran.\n\n**Step 3 — AI Agent: Tone Rewriter (with GPT-4o-mini and Structured Output Parser)**\nThis step sends your original text to GPT-4o-mini along with the content type, target audience, and company name. The AI is instructed to return exactly five rewrites: Professional, Casual, Persuasive, Concise, and Empathetic. The **5. Parser — Structured Tone Output** enforces a strict schema on the AI response, so if any tone version is missing or malformed, the parser catches it. All five versions must be present before the workflow moves forward.\n\n**Step 4 — Code: Assemble Document Content**\nThis step takes the five AI-generated versions and combines them into one complete document. It adds a header showing the project name, content type, target audience, and run timestamp. Each tone version is separated by a clear divider line and labelled. It also prepares the Slack message, which shows the Concise version as a quick preview along with the project name and date.\n\n**Step 5 — Code: Convert to Binary**\nThis step converts the assembled text document into a binary file that Google Drive can accept. It encodes the content and sets the filename to match the document title with a `.txt` extension. This step also passes the Slack channel and preview message forward for the parallel Slack step.\n\n**Step 6 — Google Drive Upload: Upload Tone Doc**\nThis step uploads the binary file to the Google Drive folder you configured. The file is named with your project name and today's date. After this step, the complete five-version document is permanently saved in your Drive.\n\n**Step 7 — Slack: Send Concise Preview**\nThis step runs in parallel with the Drive upload. It posts the Concise tone version to your configured Slack channel. The message includes the project name, content type, run time, and the full Concise rewrite. Your team can read and use the shortest version immediately without opening Drive.\n\n---\n\n## Key Features\n\n✅ **Five tones in one submission** — no need to run the form five times or manually rewrite anything yourself  \n✅ **Schema-enforced AI output** — the structured parser guarantees all five versions are always returned, preventing incomplete results  \n✅ **Auto-dated Drive documents** — files are named with project name and date so your library stays organized with zero manual effort  \n✅ **Parallel delivery** — Drive upload and Slack notification run at the same time, so your team gets the preview while the document is saving  \n✅ **Configurable defaults** — target audience falls back to \"General audience\" if left blank, so the workflow never breaks on optional fields  \n✅ **Any content type** — the form dropdown covers six common content types so GPT-4o-mini adapts its rewrites appropriately to each format  \n✅ **Single config node** — all three configuration values live in one place (**2. Set — Config Values**), making updates fast and error-free\n\n---\n\n## Customisation Options\n\n**Add more content types to the dropdown** — Open node **1. Form — Content Tone Rewriter**, find the Content Type field, and add new options such as \"LinkedIn Post\", \"Press Release\", or \"SMS Message\".\n\n**Change the AI temperature** — Open node **4. OpenAI — GPT-4o-mini Model** and adjust the temperature value (currently 0.7). Lower it to 0.3 for more consistent, conservative rewrites. Raise it to 0.9 for more creative variation between versions.\n\n**Swap GPT-4o-mini for a different model** — Open node **4. OpenAI — GPT-4o-mini Model** and change the model to `gpt-4o` if you want higher-quality rewrites and your usage allows the extra cost.\n\n**Save to a dated subfolder in Drive** — Add a Google Drive \"Create Folder\" step before node **8. Google Drive — Upload Tone Doc** that creates a folder named by month, then pass that new folder's ID into the upload step instead of the static `folderId`.\n\n**Email the document link after upload** — Add a Gmail node after node **8. Google Drive — Upload Tone Doc** to send the Drive file link to yourself or a client automatically after every submission.\n\n**Add a sixth tone** — In node **3. AI Agent — Tone Rewriter**, add a sixth instruction inside the prompt (for example, \"humorous\"). Then update the schema in **5. Parser — Structured Tone Output** to include the new key, and update node **6. Code — Assemble Document Content** to include the sixth version in the document.\n\n---\n\n## Troubleshooting\n\n**OpenAI credential not connecting:**\n- Confirm the API key is active and has not expired in your OpenAI account\n- Make sure your OpenAI account has credit available — the workflow calls the API on every submission\n- Re-enter the credential in **4. OpenAI — GPT-4o-mini Model** if the connection shows an error\n\n**Google Drive upload failing:**\n- Confirm the folder ID in **2. Set — Config Values** is correct — open the Drive folder, look at the URL, and copy only the string after `/folders/`\n- Reconnect your Google Drive OAuth2 credential in **8. Google Drive — Upload Tone Doc** if access was revoked\n- Make sure the Google account you connected has edit access to that folder\n\n**Slack message not appearing:**\n- Confirm the channel name in **2. Set — Config Values** includes the `#` symbol\n- Make sure you invited the Slack bot to the target channel using `/invite @your-bot-name`\n- Reconnect the Slack OAuth2 credential in **9. Slack — Send Concise Preview** if it shows as disconnected\n\n**AI returning incomplete tone versions:**\n- The **5. Parser — Structured Tone Output** enforces all five keys — if the AI skips one, the parser will throw an error visible in the execution log\n- Check the prompt in **3. AI Agent — Tone Rewriter** has not been accidentally edited to remove any of the five tone instructions\n- Reduce the temperature in **4. OpenAI — GPT-4o-mini Model** to 0.5 for more reliable structured responses\n\n**Form submits but workflow does not run:**\n- Confirm the workflow is Activated — the toggle must be on in the top right of n8n\n- Check that the form URL you are using matches the active webhook URL shown in node **1. Form — Content Tone Rewriter**\n\n---\n\n## Support\n\nNeed help setting this up or want a custom version built for your team or agency?\n\n📧 Email: [info@incrementors.com](info@incrementors.com)  \n🌐 Website: [https://incrementors.com/](https://incrementors.com/)","workflow":{"meta":{"instanceId":"bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2"},"nodes":[{"id":"69cf16ba-2e5f-4b87-b74b-ca02aa3291b0","name":"Overview","type":"n8n-nodes-base.stickyNote","position":[-768,1152],"parameters":{"color":4,"width":540,"height":928,"content":"## AI Content Tone Rewriter — GPT-4o-mini + Google Drive + Slack\n\nFor content teams, copywriters, and agencies who write the same message repeatedly in different styles for different audiences. Submit any text via the form — email, blog paragraph, social caption, proposal, or product description. GPT-4o-mini rewrites it in five distinct tones simultaneously: Professional, Casual, Persuasive, Concise, and Empathetic. All five versions are assembled into one Google Doc saved to your Drive folder. Slack gets an instant preview of the Concise version so your team can act immediately.\n\n## How it works\n- **1. Form — Content Tone Rewriter** collects the original text, content type, project name, and target audience\n- **2. Set — Config Values** stores Drive folder ID, Slack channel, company name, and maps all form fields\n- **3. AI Agent — Tone Rewriter** uses GPT-4o-mini to rewrite the text in all five tones at once\n- **6. Code — Assemble Document Content** builds the full doc text with all five versions and the Slack preview message\n- **7. Code — Convert to Binary** encodes the doc as a binary file for Drive upload\n- **8. Google Drive — Upload Tone Doc** saves the complete five-version document to your Drive folder\n- **9. Slack — Send Concise Preview** posts the Concise version as a quick team preview\n\n## Set up steps\n1. In **2. Set — Config Values** — replace YOUR_GOOGLE_DRIVE_FOLDER_ID, YOUR-SLACK-CHANNEL, and YOUR COMPANY NAME\n2. In **4. OpenAI — GPT-4o-mini Model** — connect your OpenAI credential\n3. In **8. Google Drive — Upload Tone Doc** — connect your Google Drive OAuth2 credential\n4. In **9. Slack — Send Concise Preview** — connect your Slack OAuth2 credential and invite the bot to your channel\n5. Activate the workflow and copy the Form URL from node 1"},"typeVersion":1},{"id":"e3634b5d-9471-4194-b5cb-9b5ec9088cb9","name":"Section — Form Input and Config","type":"n8n-nodes-base.stickyNote","position":[-160,1488],"parameters":{"color":5,"width":484,"height":372,"content":"## Form Input and Config\nForm collects the original text, content type, project name, and target audience. Config stores Drive folder ID, Slack channel, company name, and builds the document title and run timestamp."},"typeVersion":1},{"id":"1ad16e2c-da50-4d31-bfe8-579bd63a9aa3","name":"Section — AI Tone Rewriting","type":"n8n-nodes-base.stickyNote","position":[384,1360],"parameters":{"color":6,"width":404,"height":708,"content":"## AI Tone Rewriting\nGPT-4o-mini rewrites the original text in five tones simultaneously. Structured Output Parser enforces that all five versions are always returned: Professional, Casual, Persuasive, Concise, and Empathetic."},"typeVersion":1},{"id":"5cbf8f25-5ed3-4545-b992-5746af3c371c","name":"Section — Document Assembly","type":"n8n-nodes-base.stickyNote","position":[944,1488],"parameters":{"color":6,"width":512,"height":340,"content":"## Document Assembly\nBuilds the full Google Doc content — original text plus all five tone versions with clear section headers. Also prepares the Slack preview message showing the Concise version."},"typeVersion":1},{"id":"89439513-c85e-48af-bb4b-935aa7f1886d","name":"Section — Google Drive Upload","type":"n8n-nodes-base.stickyNote","position":[1456,912],"parameters":{"color":4,"width":544,"height":516,"content":"## Google Drive Upload\nConverts the assembled text to binary format, then uploads it as a document to the configured Drive folder. File is named with project name and date."},"typeVersion":1},{"id":"70bd4f4a-1b32-48f2-90e2-1785e8f137f0","name":"Section — Slack Preview","type":"n8n-nodes-base.stickyNote","position":[1568,1680],"parameters":{"color":4,"width":496,"height":452,"content":"## Slack Preview\nPosts the Concise tone version to your Slack channel as an instant team preview. Full five-version document is always in Google Drive."},"typeVersion":1},{"id":"015c335a-671c-40e8-9787-4e639f69f50f","name":"Note — Edit Config Before Activating","type":"n8n-nodes-base.stickyNote","position":[32,2128],"parameters":{"color":3,"width":1100,"height":140,"content":"## ⚠️ Edit This Node Before Activating\nReplace three values: YOUR_GOOGLE_DRIVE_FOLDER_ID (from Drive folder URL after /folders/), YOUR-SLACK-CHANNEL (include the # symbol), and YOUR COMPANY NAME."},"typeVersion":1},{"id":"305b29ab-3006-4db0-a69e-2bffd2034e20","name":"1. Form — Content Tone Rewriter","type":"n8n-nodes-base.formTrigger","position":[-96,1632],"webhookId":"0e7d0337-964d-43a9-9df5-f2bc65659d98","parameters":{"options":{},"formTitle":"AI Content Tone Rewriter","formFields":{"values":[{"fieldType":"textarea","fieldLabel":"Your Original Text","placeholder":"Paste your email, blog paragraph, social caption, proposal, or any text here...","requiredField":true},{"fieldType":"dropdown","fieldLabel":"Content Type","fieldOptions":{"values":[{"option":"Email"},{"option":"Social Media Caption"},{"option":"Blog Paragraph"},{"option":"Client Proposal"},{"option":"Product Description"},{"option":"Other"}]},"requiredField":true},{"fieldLabel":"Your Name or Project Name","placeholder":"e.g. Rahul — Incrementors Proposal","requiredField":true},{"fieldLabel":"Target Audience","placeholder":"e.g. C-suite executives, young professionals, general public"}]},"formDescription":"Paste your text below. AI will rewrite it in 5 different tones and save all versions to Google Drive."},"typeVersion":2.2},{"id":"37dbca0a-5824-4840-9abe-99019cb3b779","name":"2. Set — Config Values","type":"n8n-nodes-base.set","position":[176,1632],"parameters":{"options":{},"assignments":{"assignments":[{"id":"cfg-001","name":"folderId","type":"string","value":"YOUR_GOOGLE_DRIVE_FOLDER_ID"},{"id":"cfg-002","name":"slackChannel","type":"string","value":"#YOUR-SLACK-CHANNEL"},{"id":"cfg-003","name":"companyName","type":"string","value":"YOUR COMPANY NAME"},{"id":"cfg-004","name":"originalText","type":"string","value":"={{ $json['Your Original Text'] }}"},{"id":"cfg-005","name":"contentType","type":"string","value":"={{ $json['Content Type'] }}"},{"id":"cfg-006","name":"projectName","type":"string","value":"={{ $json['Your Name or Project Name'] }}"},{"id":"cfg-007","name":"targetAudience","type":"string","value":"={{ $json['Target Audience'] || 'General audience' }}"},{"id":"cfg-008","name":"docTitle","type":"string","value":"=Tone Rewrites — {{ $json['Your Name or Project Name'] }} — {{ $now.toFormat('dd MMM yyyy') }}"},{"id":"cfg-009","name":"runDate","type":"string","value":"={{ $now.toFormat('dd MMM yyyy HH:mm') }}"}]}},"typeVersion":3.4},{"id":"8c4be493-29c8-4256-8625-376c1a5d6016","name":"3. AI Agent — Tone Rewriter","type":"@n8n/n8n-nodes-langchain.agent","position":[480,1632],"parameters":{"text":"=You are a professional content writer and tone specialist working for {{ $json.companyName }}.\n\nYou will rewrite the following text in exactly 5 different tones.\n\nORIGINAL TEXT:\n{{ $json.originalText }}\n\nCONTENT TYPE: {{ $json.contentType }}\nTARGET AUDIENCE: {{ $json.targetAudience }}\n\nRewrite the text in ALL 5 tones below. Keep the core message and meaning identical in all versions. Only the tone and style should change.\n\nReturn ONLY a valid JSON object with exactly these 5 keys. No extra text before or after. No markdown. No backticks.\n\nprofessional — Formal, polished, authoritative. Suitable for corporate communication, executive emails, or formal proposals. Use complete sentences and precise language.\n\ncasual — Warm, conversational, approachable. Like talking to a friend or colleague. Use contractions, simpler words, light energy.\n\npersuasive — Compelling, action-oriented, benefit-focused. Use power words. Make the reader want to act. Clear call to action if appropriate.\n\nconcise — Strip everything to the bare minimum. Every word earns its place. Under 60 words if possible. No filler, no padding.\n\nempathetic — Warm, understanding, human. Acknowledge the reader's perspective. Show you care about their situation or needs. Gentle and supportive tone.\n\nRULES:\n- Each version must be a complete, usable piece of writing.\n- Do not add labels like Professional: or Tone 1: inside the values.\n- Plain text only in each value. No markdown symbols.\n- Keep each version between 40 and 120 words (except concise which can be shorter).","options":{},"promptType":"define","hasOutputParser":true},"typeVersion":1.7},{"id":"a9252238-23ef-4320-bfad-f6436005413e","name":"4. OpenAI — GPT-4o-mini Model","type":"@n8n/n8n-nodes-langchain.lmChatOpenAi","position":[448,1840],"parameters":{"model":{"__rl":true,"mode":"list","value":"gpt-4o-mini"},"options":{"maxTokens":1500,"temperature":0.7}},"typeVersion":1.2},{"id":"35a52f40-4a0e-4621-8301-a76eb1e0493b","name":"5. Parser — Structured Tone Output","type":"@n8n/n8n-nodes-langchain.outputParserStructured","position":[624,1840],"parameters":{"schemaType":"manual","inputSchema":"{\n  \"type\": \"object\",\n  \"properties\": {\n    \"professional\": {\n      \"type\": \"string\",\n      \"description\": \"Professional tone rewrite — formal and polished\"\n    },\n    \"casual\": {\n      \"type\": \"string\",\n      \"description\": \"Casual tone rewrite — warm and conversational\"\n    },\n    \"persuasive\": {\n      \"type\": \"string\",\n      \"description\": \"Persuasive tone rewrite — compelling and action-oriented\"\n    },\n    \"concise\": {\n      \"type\": \"string\",\n      \"description\": \"Concise tone rewrite — stripped to minimum words\"\n    },\n    \"empathetic\": {\n      \"type\": \"string\",\n      \"description\": \"Empathetic tone rewrite — warm and understanding\"\n    }\n  },\n  \"required\": [\"professional\", \"casual\", \"persuasive\", \"concise\", \"empathetic\"]\n}"},"typeVersion":1.3},{"id":"5fb0eb3a-b7dd-4dc4-a6f8-b8ee89241eab","name":"6. Code — Assemble Document Content","type":"n8n-nodes-base.code","position":[1200,1632],"parameters":{"jsCode":"// Combine AI output with form config data\nconst aiOutput = $input.first().json.output;\nconst config = $('2. Set — Config Values').item.json;\n\nconst professional = aiOutput.professional || 'Could not generate professional version.';\nconst casual = aiOutput.casual || 'Could not generate casual version.';\nconst persuasive = aiOutput.persuasive || 'Could not generate persuasive version.';\nconst concise = aiOutput.concise || 'Could not generate concise version.';\nconst empathetic = aiOutput.empathetic || 'Could not generate empathetic version.';\n\n// Build the full Google Doc content\nconst docContent = `AI TONE REWRITER RESULTS\n\nProject: ${config.projectName}\nContent Type: ${config.contentType}\nTarget Audience: ${config.targetAudience}\nGenerated: ${config.runDate}\nPowered by: ${config.companyName} + GPT-4o-mini\n\n${'='.repeat(60)}\n\nORIGINAL TEXT:\n\n${config.originalText}\n\n${'='.repeat(60)}\n\nVERSION 1 — PROFESSIONAL\n\n${professional}\n\n${'='.repeat(60)}\n\nVERSION 2 — CASUAL AND FRIENDLY\n\n${casual}\n\n${'='.repeat(60)}\n\nVERSION 3 — PERSUASIVE\n\n${persuasive}\n\n${'='.repeat(60)}\n\nVERSION 4 — CONCISE\n\n${concise}\n\n${'='.repeat(60)}\n\nVERSION 5 — EMPATHETIC\n\n${empathetic}\n\n${'='.repeat(60)}\n\nAll 5 versions generated automatically by n8n + GPT-4o-mini`;\n\n// Build Slack preview (show concise version as quick preview)\nconst slackPreview = `*New Tone Rewrite Ready*\n\n*Project:* ${config.projectName}\n*Content Type:* ${config.contentType}\n*Generated:* ${config.runDate}\n\n*Quick Preview — Concise Version:*\n${concise}\n\n_5 versions saved to Google Drive_`;\n\nreturn [{\n  json: {\n    docContent,\n    docTitle: config.docTitle,\n    folderId: config.folderId,\n    slackChannel: config.slackChannel,\n    slackPreview,\n    professional,\n    casual,\n    persuasive,\n    concise,\n    empathetic,\n    projectName: config.projectName\n  }\n}];"},"typeVersion":2},{"id":"cabb840d-69df-45a0-a184-5ef541ca5db1","name":"7. Code — Convert to Binary","type":"n8n-nodes-base.code","position":[1664,1040],"parameters":{"jsCode":"// Convert doc content text to binary for Google Drive upload\nconst item = $input.first().json;\n\n// Convert text content to base64 encoded binary\nconst textContent = item.docContent || '';\nconst base64Content = Buffer.from(textContent, 'utf-8').toString('base64');\n\nreturn [{\n  json: {\n    docTitle: item.docTitle,\n    folderId: item.folderId,\n    slackChannel: item.slackChannel,\n    slackPreview: item.slackPreview,\n    projectName: item.projectName\n  },\n  binary: {\n    data: {\n      data: base64Content,\n      mimeType: 'text/plain',\n      fileName: item.docTitle + '.txt',\n      fileExtension: 'txt'\n    }\n  }\n}];"},"typeVersion":2},{"id":"424398b7-bffa-4f29-bf24-ed616480571a","name":"8. Google Drive — Upload Tone Doc","type":"n8n-nodes-base.googleDrive","position":[1664,1232],"parameters":{"name":"={{ $json.docTitle }}","driveId":{"__rl":true,"mode":"list","value":"My Drive"},"options":{},"folderId":{"__rl":true,"mode":"id","value":"={{ $json.folderId }}"}},"typeVersion":3},{"id":"9ba3d03d-b821-4a70-a6ba-56f240797647","name":"9. Slack — Send Concise Preview","type":"n8n-nodes-base.slack","position":[1648,1872],"webhookId":"59d25881-6f28-4266-96f8-ada351fade97","parameters":{"text":"={{ $json.slackPreview }}","otherOptions":{"mrkdwn":true},"authentication":"oAuth2"},"typeVersion":2.2}],"pinData":{},"connections":{"2. Set — Config Values":{"main":[[{"node":"3. AI Agent — Tone Rewriter","type":"main","index":0}]]},"3. AI Agent — Tone Rewriter":{"main":[[{"node":"6. Code — Assemble Document Content","type":"main","index":0}]]},"7. Code — Convert to Binary":{"main":[[{"node":"8. Google Drive — Upload Tone Doc","type":"main","index":0}]]},"4. OpenAI — GPT-4o-mini Model":{"ai_languageModel":[[{"node":"3. AI Agent — Tone Rewriter","type":"ai_languageModel","index":0}]]},"1. Form — Content Tone Rewriter":{"main":[[{"node":"2. Set — Config Values","type":"main","index":0}]]},"5. Parser — Structured Tone Output":{"ai_outputParser":[[{"node":"3. AI Agent — Tone Rewriter","type":"ai_outputParser","index":0}]]},"6. Code — Assemble Document Content":{"main":[[{"node":"7. Code — Convert to Binary","type":"main","index":0},{"node":"9. Slack — Send Concise Preview","type":"main","index":0}]]}}},"lastUpdatedBy":1,"workflowInfo":{"nodeCount":16,"nodeTypes":{"n8n-nodes-base.set":{"count":1},"n8n-nodes-base.code":{"count":2},"n8n-nodes-base.slack":{"count":1},"n8n-nodes-base.stickyNote":{"count":7},"n8n-nodes-base.formTrigger":{"count":1},"n8n-nodes-base.googleDrive":{"count":1},"@n8n/n8n-nodes-langchain.agent":{"count":1},"@n8n/n8n-nodes-langchain.lmChatOpenAi":{"count":1},"@n8n/n8n-nodes-langchain.outputParserStructured":{"count":1}}},"status":"published","readyToDemo":null,"user":{"name":"Incrementors","username":"incrementors","bio":"","verified":true,"links":["https://www.incrementors.com/"],"avatar":"https://gravatar.com/avatar/e09b4b6a8c5a00f886a9eedf3be23a4af5a50cc216cd6b2aee2a12c2dfba99dd?r=pg&d=retro&size=200"},"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":40,"icon":"file:slack.svg","name":"n8n-nodes-base.slack","codex":{"data":{"alias":["human","form","wait","hitl","approval"],"resources":{"generic":[{"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/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/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/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/automations-for-activists/","icon":"✨","label":"How Common Knowledge use workflow automation for activism"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.slack/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/slack/"}]},"categories":["Communication","HITL"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"HITL":["Human in the Loop"]}}},"group":"[\"output\"]","defaults":{"name":"Slack"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgMTUwLjg1MiAxNTAuODUyIj48dXNlIHhsaW5rOmhyZWY9IiNhIiB4PSIuOTI2IiB5PSIuOTI2Ii8+PHN5bWJvbCBpZD0iYSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZS13aWR0aD0iMS44NTIiPjxwYXRoIGZpbGw9IiNlMDFlNWEiIHN0cm9rZT0iI2UwMWU1YSIgZD0iTTQwLjc0MSA5My41NWMwLTguNzM1IDYuNjA3LTE1Ljc3MiAxNC44MTUtMTUuNzcyczE0LjgxNSA3LjAzNyAxNC44MTUgMTUuNzcydjM4LjgyNGMwIDguNzM3LTYuNjA3IDE1Ljc3NC0xNC44MTUgMTUuNzc0cy0xNC44MTUtNy4wMzctMTQuODE1LTE1Ljc3MnoiLz48cGF0aCBmaWxsPSIjZWNiMjJkIiBzdHJva2U9IiNlY2IyMmQiIGQ9Ik05My41NSAxMDcuNDA4Yy04LjczNSAwLTE1Ljc3Mi02LjYwNy0xNS43NzItMTQuODE1czcuMDM3LTE0LjgxNSAxNS43NzItMTQuODE1aDM4LjgyNmM4LjczNSAwIDE1Ljc3MiA2LjYwNyAxNS43NzIgMTQuODE1cy03LjAzNyAxNC44MTUtMTUuNzcyIDE0LjgxNXoiLz48cGF0aCBmaWxsPSIjMmZiNjdjIiBzdHJva2U9IiMyZmI2N2MiIGQ9Ik03Ny43NzggMTUuNzcyQzc3Ljc3OCA3LjAzNyA4NC4zODUgMCA5Mi41OTMgMHMxNC44MTUgNy4wMzcgMTQuODE1IDE1Ljc3MnYzOC44MjZjMCA4LjczNS02LjYwNyAxNS43NzItMTQuODE1IDE1Ljc3MnMtMTQuODE1LTcuMDM3LTE0LjgxNS0xNS43NzJ6Ii8+PHBhdGggZmlsbD0iIzM2YzVmMSIgc3Ryb2tlPSIjMzZjNWYxIiBkPSJNMTUuNzcyIDcwLjM3MUM3LjAzNyA3MC4zNzEgMCA2My43NjMgMCA1NS41NTZzNy4wMzctMTQuODE1IDE1Ljc3Mi0xNC44MTVoMzguODI2YzguNzM1IDAgMTUuNzcyIDYuNjA3IDE1Ljc3MiAxNC44MTVzLTcuMDM3IDE0LjgxNS0xNS43NzIgMTQuODE1eiIvPjxnIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGZpbGw9IiNlY2IyMmQiIHN0cm9rZT0iI2VjYjIyZCIgZD0iTTc3Ljc3OCAxMzMuMzMzYzAgOC4yMDggNi42MDcgMTQuODE1IDE0LjgxNSAxNC44MTVzMTQuODE1LTYuNjA3IDE0LjgxNS0xNC44MTUtNi42MDctMTQuODE1LTE0LjgxNS0xNC44MTVINzcuNzc4eiIvPjxwYXRoIGZpbGw9IiMyZmI2N2MiIHN0cm9rZT0iIzJmYjY3YyIgZD0iTTEzMy4zMzQgNzAuMzcxaC0xNC44MTVWNTUuNTU2YzAtOC4yMDcgNi42MDctMTQuODE1IDE0LjgxNS0xNC44MTVzMTQuODE1IDYuNjA3IDE0LjgxNSAxNC44MTUtNi42MDcgMTQuODE1LTE0LjgxNSAxNC44MTV6Ii8+PHBhdGggZmlsbD0iI2UwMWU1YSIgc3Ryb2tlPSIjZTAxZTVhIiBkPSJNMTQuODE1IDc3Ljc3OEgyOS42M3YxNC44MTVjMCA4LjIwNy02LjYwNyAxNC44MTUtMTQuODE1IDE0LjgxNVMwIDEwMC44IDAgOTIuNTkzczYuNjA3LTE0LjgxNSAxNC44MTUtMTQuODE1eiIvPjxwYXRoIGZpbGw9IiMzNmM1ZjEiIHN0cm9rZT0iIzM2YzVmMSIgZD0iTTcwLjM3MSAxNC44MTVWMjkuNjNINTUuNTU2Yy04LjIwNyAwLTE0LjgxNS02LjYwNy0xNC44MTUtMTQuODE1UzQ3LjM0OCAwIDU1LjU1NiAwczE0LjgxNSA2LjYwNyAxNC44MTUgMTQuODE1eiIvPjwvZz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Slack","typeVersion":2,"nodeCategories":[{"id":6,"name":"Communication"},{"id":28,"name":"HITL"}]},{"id":58,"icon":"file:googleDrive.svg","name":"n8n-nodes-base.googleDrive","codex":{"data":{"resources":{"generic":[{"url":"https://n8n.io/blog/your-business-doesnt-need-you-to-operate/","icon":" 🖥️","label":"Hey founders! Your business doesn't need you to operate"},{"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/aws-workflow-automation/","label":"7 no-code workflow automations for Amazon Web Services"}],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/"}],"credentialDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/"}]},"categories":["Data & Storage"],"nodeVersion":"1.0","codexVersion":"1.0"}},"group":"[\"input\"]","defaults":{"name":"Google Drive"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiB2aWV3Qm94PSIwIDAgODEgNzMiPjx1c2UgeGxpbms6aHJlZj0iI2EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9ImEiIG92ZXJmbG93PSJ2aXNpYmxlIj48ZyBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZT0ibm9uZSI+PHBhdGggZmlsbD0iIzAwNjZkYSIgZD0ibTYuMDQ4IDYxLjI2IDMuNTI4IDYuMDk0Yy43MzMgMS4yODMgMS43ODcgMi4yOTEgMy4wMjQgMy4wMjRsMTIuNi0yMS44MUgwYTguMyA4LjMgMCAwIDAgMS4xIDQuMTI0eiIvPjxwYXRoIGZpbGw9IiMwMGFjNDciIGQ9Ik00MCAyMi45MSAyNy40IDEuMWMtMS4yMzcuNzMzLTIuMjkxIDEuNzQxLTMuMDI0IDMuMDI0TDEuMSA0NC40NDVBOC4zIDguMyAwIDAgMCAwIDQ4LjU2OGgyNS4yeiIvPjxwYXRoIGZpbGw9IiNlYTQzMzUiIGQ9Ik02Ny40IDcwLjM3OGMxLjIzNy0uNzMzIDIuMjkxLTEuNzQxIDMuMDI0LTMuMDI0bDEuNDY2LTIuNTIgNy4wMS0xMi4xNDJhOC4zIDguMyAwIDAgMCAxLjEtNC4xMjRINTQuNzk4bDUuMzYzIDEwLjUzOHoiLz48cGF0aCBmaWxsPSIjMDA4MzJkIiBkPSJNNDAgMjIuOTEgNTIuNiAxLjFDNTEuMzYzLjM2NyA0OS45NDMgMCA0OC40NzcgMEgzMS41MjRjLTEuNDY2IDAtMi44ODcuNDEyLTQuMTI0IDEuMXoiLz48cGF0aCBmaWxsPSIjMjY4NGZjIiBkPSJNNTQuNzk5IDQ4LjU2OEgyNS4ybC0xMi42IDIxLjgxYzEuMjM3LjczMyAyLjY1NyAxLjEgNC4xMjQgMS4xaDQ2LjU1MmMxLjQ2NiAwIDIuODg3LS40MTIgNC4xMjQtMS4xeiIvPjxwYXRoIGZpbGw9IiNmZmJhMDAiIGQ9Ik02Ny4yNjIgMjQuMjg0IDU1LjYyNCA0LjEyNEM1NC44OTEgMi44NDEgNTMuODM3IDEuODMzIDUyLjYgMS4xTDQwIDIyLjkxbDE0LjggMjUuNjU5aDI1LjE1NWE4LjMgOC4zIDAgMCAwLTEuMS00LjEyNHoiLz48L2c+PC9zeW1ib2w+PC9zdmc+"},"displayName":"Google Drive","typeVersion":3,"nodeCategories":[{"id":3,"name":"Data & Storage"}]},{"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":834,"icon":"file:code.svg","name":"n8n-nodes-base.code","codex":{"data":{"alias":["cpde","Javascript","JS","Python","Script","Custom Code","Function"],"details":"The Code node allows you to execute JavaScript in your workflow.","resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.code/"}]},"categories":["Development","Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Helpers","Data Transformation"]}}},"group":"[\"transform\"]","defaults":{"name":"Code"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTEyIiBoZWlnaHQ9IjUxMiIgdmlld0JveD0iMCAwIDUxMiA1MTIiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8xMTcxXzQ0MSkiPgo8cGF0aCBkPSJNMTcwLjI4MyA0OEgxOTYuNUMyMDMuMTI3IDQ4IDIwOC41IDQyLjYyNzQgMjA4LjUgMzZWMTJDMjA4LjUgNS4zNzI1OCAyMDMuMTI3IDAgMTk2LjUgMEgxNzAuMjgzQzEyNi4xIDAgOTAuMjgzIDM1LjgxNzIgOTAuMjgzIDgwVjE3NkM5MC4yODMgMjA2LjkyOCA2NS4yMTA5IDIzMiAzNC4yODMgMjMySDIzQzE2LjM3MjYgMjMyIDExIDIzNy4zNzIgMTEgMjQ0VjI2OEMxMSAyNzQuNjI3IDE2LjM3MjQgMjgwIDIyLjk5OTYgMjgwTDM0LjI4MyAyODBDNjUuMjEwOSAyODAgOTAuMjgzIDMwNS4wNzIgOTAuMjgzIDMzNlY0NDBDOTAuMjgzIDQ3OS43NjQgMTIyLjUxOCA1MTIgMTYyLjI4MyA1MTJIMTk2LjVDMjAzLjEyNyA1MTIgMjA4LjUgNTA2LjYyNyAyMDguNSA1MDBWNDc2QzIwOC41IDQ2OS4zNzMgMjAzLjEyNyA0NjQgMTk2LjUgNDY0SDE2Mi4yODNDMTQ5LjAyOCA0NjQgMTM4LjI4MyA0NTMuMjU1IDEzOC4yODMgNDQwVjMzNkMxMzguMjgzIDMwOS4wMjIgMTI4LjAxMSAyODQuNDQzIDExMS4xNjQgMjY1Ljk2MUMxMDYuMTA5IDI2MC40MTYgMTA2LjEwOSAyNTEuNTg0IDExMS4xNjQgMjQ2LjAzOUMxMjguMDExIDIyNy41NTcgMTM4LjI4MyAyMDIuOTc4IDEzOC4yODMgMTc2VjgwQzEzOC4yODMgNjIuMzI2OSAxNTIuNjEgNDggMTcwLjI4MyA0OFoiIGZpbGw9IiNGRjk5MjIiLz4KPHBhdGggZD0iTTMwNSAzNkMzMDUgNDIuNjI3NCAzMTAuMzczIDQ4IDMxNyA0OEgzNDIuOTc5QzM2MC42NTIgNDggMzc0Ljk3OCA2Mi4zMjY5IDM3NC45NzggODBWMTc2QzM3NC45NzggMjAyLjk3OCAzODUuMjUxIDIyNy41NTcgNDAyLjA5OCAyNDYuMDM5QzQwNy4xNTMgMjUxLjU4NCA0MDcuMTUzIDI2MC40MTYgNDAyLjA5OCAyNjUuOTYxQzM4NS4yNTEgMjg0LjQ0MyAzNzQuOTc4IDMwOS4wMjIgMzc0Ljk3OCAzMzZWNDMyQzM3NC45NzggNDQ5LjY3MyAzNjAuNjUyIDQ2NCAzNDIuOTc5IDQ2NEgzMTdDMzEwLjM3MyA0NjQgMzA1IDQ2OS4zNzMgMzA1IDQ3NlY1MDBDMzA1IDUwNi42MjcgMzEwLjM3MyA1MTIgMzE3IDUxMkgzNDIuOTc5QzM4Ny4xNjEgNTEyIDQyMi45NzggNDc2LjE4MyA0MjIuOTc4IDQzMlYzMzZDNDIyLjk3OCAzMDUuMDcyIDQ0OC4wNTEgMjgwIDQ3OC45NzkgMjgwSDQ5MEM0OTYuNjI3IDI4MCA1MDIgMjc0LjYyOCA1MDIgMjY4VjI0NEM1MDIgMjM3LjM3MyA0OTYuNjI4IDIzMiA0OTAgMjMyTDQ3OC45NzkgMjMyQzQ0OC4wNTEgMjMyIDQyMi45NzggMjA2LjkyOCA0MjIuOTc4IDE3NlY4MEM0MjIuOTc4IDM1LjgxNzIgMzg3LjE2MSAwIDM0Mi45NzkgMEgzMTdDMzEwLjM3MyAwIDMwNSA1LjM3MjU4IDMwNSAxMlYzNloiIGZpbGw9IiNGRjk5MjIiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF8xMTcxXzQ0MSI+CjxyZWN0IHdpZHRoPSI1MTIiIGhlaWdodD0iNTEyIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo="},"displayName":"Code","typeVersion":2,"nodeCategories":[{"id":5,"name":"Development"},{"id":9,"name":"Core Nodes"}]},{"id":1119,"icon":"fa:robot","name":"@n8n/n8n-nodes-langchain.agent","codex":{"data":{"alias":["LangChain","Chat","Conversational","Plan and Execute","ReAct","Tools"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Agents","Root Nodes"]}}},"group":"[\"transform\"]","defaults":{"name":"AI Agent","color":"#404040"},"iconData":{"icon":"robot","type":"icon"},"displayName":"AI Agent","typeVersion":3,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1153,"icon":"file:openAiLight.svg","name":"@n8n/n8n-nodes-langchain.lmChatOpenAi","codex":{"data":{"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.lmchatopenai/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Language Models","Root Nodes"],"Language Models":["Chat Models (Recommended)"]}}},"group":"[\"transform\"]","defaults":{"name":"OpenAI Chat Model"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2Ljg2NzEgMTYuMzcxOEMzNy43NzQ2IDEzLjY0OCAzNy40NjIxIDEwLjY2NDIgMzYuMDEwOCA4LjE4NjYxQzMzLjgyODIgNC4zODY1MyAyOS40NDA3IDIuNDMxNDkgMjUuMTU1NiAzLjM1MTUxQzIzLjI0OTMgMS4yMDM5NiAyMC41MTA1IC0wLjAxNzMxNDggMTcuNjM5MiAwLjAwMDE4NTUzM0MxMy4yNTkxIC0wLjAwOTgxNDY4IDkuMzcyNzMgMi44MTAyNSA4LjAyNTIgNi45Nzc4M0M1LjIxMTM5IDcuNTU0MSAyLjc4MjU4IDkuMzE1MzggMS4zNjEzIDExLjgxMTdDLTAuODM3NDkzIDE1LjYwMTggLTAuMzM2MjMyIDIwLjM3OTQgMi42MDEzMyAyMy42Mjk0QzEuNjkzODEgMjYuMzUzMiAyLjAwNjMyIDI5LjMzNzEgMy40NTc2IDMxLjgxNDZDNS42NDAxNSAzNS42MTQ3IDEwLjAyNzcgMzcuNTY5NyAxNC4zMTI4IDM2LjY0OTdDMTYuMjE3OSAzOC43OTczIDE4Ljk1NzkgNDAuMDE4NSAyMS44MjkyIDM5Ljk5OThDMjYuMjExOCA0MC4wMTEgMzAuMDk5NCAzNy4xODg1IDMxLjQ0NjkgMzMuMDE3MUMzNC4yNjA4IDMyLjQ0MDkgMzYuNjg5NiAzMC42Nzk2IDM4LjExMDggMjguMTgzM0M0MC4zMDcxIDI0LjM5MzIgMzkuODA0NiAxOS42MTk0IDM2Ljg2ODMgMTYuMzY5M0wzNi44NjcxIDE2LjM3MThaTTIxLjgzMTcgMzcuMzg2QzIwLjA3OCAzNy4zODg1IDE4LjM3OTIgMzYuNzc0NyAxNy4wMzI5IDM1LjY1MDlDMTcuMDk0MSAzNS42MTg0IDE3LjIwMDQgMzUuNTU5NyAxNy4yNjkxIDM1LjUxNzJMMjUuMjM0MyAzMC45MTcxQzI1LjY0MTggMzAuNjg1OCAyNS44OTE4IDMwLjI1MjEgMjUuODg5MyAyOS43ODMzVjE4LjU1NDNMMjkuMjU1NyAyMC40OTgxQzI5LjI5MTkgMjAuNTE1NiAyOS4zMTU3IDIwLjU1MDYgMjkuMzIwNyAyMC41OTA2VjI5Ljg4OTZDMjkuMzE1NyAzNC4wMjQ3IDI1Ljk2NjggMzcuMzc3MiAyMS44MzE3IDM3LjM4NlpNNS43MjY0IDMwLjUwNzFDNC44NDc2MyAyOC45ODk2IDQuNTMxMzcgMjcuMjEwOCA0LjgzMjYzIDI1LjQ4NDVDNC44OTEzOCAyNS41MTk1IDQuOTk1MTMgMjUuNTgzMiA1LjA2ODg4IDI1LjYyNTdMMTMuMDM0MSAzMC4yMjU4QzEzLjQzNzggMzAuNDYyMSAxMy45Mzc4IDMwLjQ2MjEgMTQuMzQyOCAzMC4yMjU4TDI0LjA2NjggMjQuNjEwN1YyOC40OTgzQzI0LjA2OTMgMjguNTM4MyAyNC4wNTA1IDI4LjU3NyAyNC4wMTkzIDI4LjYwMkwxNS45Njc5IDMzLjI1MDlDMTIuMzgxNSAzNS4zMTU5IDcuODAxNDQgMzQuMDg4NCA1LjcyNzY1IDMwLjUwNzFINS43MjY0Wk0zLjYzMDEgMTMuMTIwNUM0LjUwNTEyIDExLjYwMDQgNS44ODY0IDEwLjQzNzkgNy41MzE0NCA5LjgzNDE1QzcuNTMxNDQgOS45MDI5IDcuNTI3NjkgMTAuMDI0MiA3LjUyNzY5IDEwLjEwOTJWMTkuMzEwNkM3LjUyNTE5IDE5Ljc3ODEgNy43NzUxOSAyMC4yMTE5IDguMTgxNDUgMjAuNDQzMUwxNy45MDU0IDI2LjA1N0wxNC41MzkxIDI4LjAwMDhDMTQuNTA1MyAyOC4wMjMzIDE0LjQ2MjggMjguMDI3IDE0LjQyNTMgMjguMDEwOEw2LjM3MjY2IDIzLjM1ODJDMi43OTM4MyAyMS4yODU2IDEuNTY2MzEgMTYuNzA2OCAzLjYyODg1IDEzLjEyMTdMMy42MzAxIDEzLjEyMDVaTTMxLjI4ODIgMTkuNTU2OUwyMS41NjQyIDEzLjk0MTdMMjQuOTMwNiAxMS45OTkyQzI0Ljk2NDMgMTEuOTc2NyAyNS4wMDY4IDExLjk3MjkgMjUuMDQ0MyAxMS45ODkyTDMzLjA5NyAxNi42MzhDMzYuNjgyMSAxOC43MDkzIDM3LjkxMDggMjMuMjk1NyAzNS44Mzk1IDI2Ljg4MDhDMzQuOTYzMyAyOC4zOTgzIDMzLjU4MzIgMjkuNTYwOCAzMS45Mzk1IDMwLjE2NThWMjAuNjg5NEMzMS45NDMyIDIwLjIyMTkgMzEuNjk0NSAxOS43ODk0IDMxLjI4OTQgMTkuNTU2OUgzMS4yODgyWk0zNC42MzgzIDE0LjUxNDJDMzQuNTc5NSAxNC40NzggMzQuNDc1OCAxNC40MTU1IDM0LjQwMiAxNC4zNzNMMjYuNDM2OCA5Ljc3Mjg5QzI2LjAzMzEgOS41MzY2NCAyNS41MzMxIDkuNTM2NjQgMjUuMTI4MSA5Ljc3Mjg5TDE1LjQwNDEgMTUuMzg4VjExLjUwMDRDMTUuNDAxNiAxMS40NjA0IDE1LjQyMDQgMTEuNDIxNyAxNS40NTE2IDExLjM5NjdMMjMuNTAzIDYuNzUxNThDMjcuMDg5NCA0LjY4Mjc5IDMxLjY3NDUgNS45MTQwNiAzMy43NDIgOS41MDE2NEMzNC42MTU4IDExLjAxNjcgMzQuOTMyIDEyLjc5MDUgMzQuNjM1OCAxNC41MTQySDM0LjYzODNaTTEzLjU3NDEgMjEuNDQzMUwxMC4yMDY1IDE5LjQ5OTRDMTAuMTcwMiAxOS40ODE5IDEwLjE0NjUgMTkuNDQ2OCAxMC4xNDE1IDE5LjQwNjhWMTAuMTA3OUMxMC4xNDQgNS45Njc4MSAxMy41MDI4IDIuNjEyNzQgMTcuNjQyOSAyLjYxNTI0QzE5LjM5NDIgMi42MTUyNCAyMS4wODkyIDMuMjMwMjUgMjIuNDM1NSA0LjM1MDI4QzIyLjM3NDMgNC4zODI3OCAyMi4yNjkzIDQuNDQxNTMgMjIuMTk5MiA0LjQ4NDAzTDE0LjIzNDEgOS4wODQxM0MxMy44MjY2IDkuMzE1MzggMTMuNTc2NiA5Ljc0Nzg5IDEzLjU3OTEgMTAuMjE2N0wxMy41NzQxIDIxLjQ0MDZWMjEuNDQzMVpNMTUuNDAyOSAxNy41MDA2TDE5LjczNDIgMTQuOTk5M0wyNC4wNjU1IDE3LjQ5OTNWMjIuNTAwN0wxOS43MzQyIDI1LjAwMDdMMTUuNDAyOSAyMi41MDA3VjE3LjUwMDZaIiBmaWxsPSIjN0Q3RDg3Ii8+Cjwvc3ZnPgo="},"displayName":"OpenAI Chat Model","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1179,"icon":"fa:code","name":"@n8n/n8n-nodes-langchain.outputParserStructured","codex":{"data":{"alias":["json","zod"],"resources":{"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/cluster-nodes/sub-nodes/n8n-nodes-langchain.outputparserstructured/"}]},"categories":["AI","Langchain"],"subcategories":{"AI":["Output Parsers"]}}},"group":"[\"transform\"]","defaults":{"name":"Structured Output Parser"},"iconData":{"icon":"code","type":"icon"},"displayName":"Structured Output Parser","typeVersion":1,"nodeCategories":[{"id":25,"name":"AI"},{"id":26,"name":"Langchain"}]},{"id":1225,"icon":"file:form.svg","name":"n8n-nodes-base.formTrigger","codex":{"data":{"alias":["table","submit","post"],"resources":{"generic":[],"primaryDocumentation":[{"url":"https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger/"}]},"categories":["Core Nodes"],"nodeVersion":"1.0","codexVersion":"1.0","subcategories":{"Core Nodes":["Other Trigger Nodes"]}}},"group":"[\"trigger\"]","defaults":{"name":"On form submission"},"iconData":{"type":"file","fileBuffer":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0NiIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwQjdCQyIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzQuOTc4IDM3LjczMmExLjU2IDEuNTYgMCAwIDEtMS41NjIgMS41NjNINi4yNmExLjU2IDEuNTYgMCAwIDEtMS41NjMtMS41NjNWOS42MDdjMC0uNDA1LjE1Ny0uNzk0LjQzOC0xLjA4Nmw2LjMwNC02LjUzMXY1LjM0NEg4LjIxM2ExLjE3MiAxLjE3MiAwIDEgMCAwIDIuMzQzaDQuNDNhMS4xNyAxLjE3IDAgMCAwIDEuMTcxLTEuMTcxVi4yMzJoMTkuNjAyYTEuNTYgMS41NiAwIDAgMSAxLjU2MiAxLjU2M3YxMC4zMjdsLTIuODYgMi44Ni04LjI1MiA4LjI3NmE0MTMuMDA2IDQxMy4wMDYgMCAwIDEtMS42NTQgMS42NjJsLS4zMzcuMzM3YTIgMiAwIDAgMC0uNTU3IDEuMDhMMjAuMyAzMS45MjJjLS4xMDguNjM4LS4yMTUgMS4wNzkuMjExIDEuNDE4LjQwMy4zMi45LjE3NCAxLjU0LjA2Nmw1LjQwOC0uOTI4YTIgMiAwIDAgMCAxLjA4LS41NTZsNi40NC02LjQyOXptLTI0LjAzLTIxLjI2NWExLjE4IDEuMTggMCAwIDAgMS4xNzEgMS4xNzJoMTMuMTYzYTEuMTcyIDEuMTcyIDAgMSAwIDAtMi4zNDRIMTIuMTE5YTEuMTcgMS4xNyAwIDAgMC0xLjE3MiAxLjE3Mm03LjI5NCAxNC43NjZhMS4xNyAxLjE3IDAgMCAwLTEuMTcyLTEuMTcySDEyLjEyYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNC45NTFhMS4xNyAxLjE3IDAgMCAwIDEuMTcyLTEuMTcybS44Ni03LjM5MWExLjE3IDEuMTcgMCAwIDAtMS4xNzItMS4xNzJoLTUuODExYTEuMTcyIDEuMTcyIDAgMSAwIDAgMi4zNDNoNS44MWExLjE2NCAxLjE2NCAwIDAgMCAxLjE3My0xLjE3MSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PHBhdGggZmlsbD0iIzAwQjdCQyIgZD0ibTMzLjUzMiAxNi4zOTcgNC4yODktNC4yODkgMy43NTggMy43MSAxLjYxNy0xLjYxNiAyLjI1OCAyLjI1N2MuMjE4LjIxOC4zNC41MTMuMzQzLjgyLS4wMDIuMzExLS4xMjUuNjA4LS4zNDQuODNsLTYuODA0IDYuNzk2YTEuMTMgMS4xMyAwIDAgMS0uODI4LjM0MyAxLjE1IDEuMTUgMCAwIDEtLjgyOC0uMzQzIDEuMTggMS4xOCAwIDAgMSAwLTEuNjU3bDUuOTc2LTUuOTY4LTEuMzEyLTEuMzEzLTEuMzgzIDEuNDE0LTEzLjE0OSAxMy4xMjUtNC42MTcuNzgyLjc4Mi00LjYxNy4zMzYtLjMzNyAyLjU2MiAyLjU1NWExLjEgMS4xIDAgMCAwIC44MjguMzQ0Yy4zMTIuMDA1LjYxMi0uMTIuODI4LS4zNDRhMS4xOCAxLjE4IDAgMCAwIDAtMS42NTZsLTIuNTYyLTIuNTYyek00NC43MzYgMTIuMjRjMCAuNDE0LS4xNjMuODEtLjQ1NCAxLjEwMmwtLjkyMi45MTQtMy44NTItMy44MjguOTMtLjkzYTEuNTYzIDEuNTYzIDAgMCAxIDIuMjAzIDBsMS42NCAxLjY0MWMuMjkxLjI5My40NTUuNjkuNDU1IDEuMTAyIi8+PC9zdmc+"},"displayName":"n8n Form Trigger","typeVersion":3,"nodeCategories":[{"id":9,"name":"Core Nodes"}]}],"categories":[{"id":31,"name":"Content Creation"},{"id":51,"name":"Multimodal AI"}],"image":[]}}