代理构建器
高级
这是一个Building Blocks, AI领域的自动化工作流,包含 33 个节点。主要使用 If, Set, Code, Wait, HttpRequest 等节点,结合人工智能技术实现智能自动化。 使用GPT-4o、RAG和网络搜索自动构建自定义工作流
前置要求
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
- •Pinecone API Key
使用的节点 (33)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "M7saccCy1gO4g2zr",
"meta": {
"instanceId": "5116f2f7706b559eceadfeb527d2f261505621d6d31889c13b53a0633d9b86eb",
"templateCredsSetupCompleted": true
},
"name": "Agent_Builder",
"tags": [],
"nodes": [
{
"id": "ee1c8a9a-e0fb-46d2-8274-140f5b297fba",
"name": "当收到聊天消息时",
"type": "@n8n/n8n-nodes-langchain.chatTrigger",
"position": [
-2320,
240
],
"webhookId": "4e30031a-81f0-4d4d-bc44-2347530b51e8",
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "243ba102-72bf-441a-b247-d784b3b054bd",
"name": "AI 代理",
"type": "@n8n/n8n-nodes-langchain.agent",
"onError": "continueRegularOutput",
"position": [
-1920,
240
],
"parameters": {
"options": {
"systemMessage": "# General Instruction\nYou are a helpful AI agents that outputs n8n agents / workflows in JSON format.\n\n# Input\nYou receive the user request what the agent should be able to accomplish.\n\n# Output\nThe Output must be a valid n8n template JSON\n\n# Workflow\nThink carefully how the agent the user requests can be build. Start by conceptualizing the architecture. It might be helpful to reflect in how a human team would tackle the task or go backwards (starting with the desired end state). Note that most workflows need an AI agent as its \"brain\". Consult your tools whenever beneficial. Once you thought of a meaningful structure actually populate the template with the nodes. Work very iterative and use the tools EXTENSIVELY! Fill the nodes with the correct content and CONNECT them properly! In a last check everything and make sure all nodes are properly connected! All but the trigger and final Output node must be connected to at least one input and one output node. Whenever you need information regarding what is possible in n8n, with what nodes and how they are set up and connected, consult the tools as you see it fit. \n\n# Tools\nYou have access to the following tools:\n1) Pinecone vector store containing some of n8n decumentation, saved in a Pinecone Vector database\n2) SerpAPI web search tool, with which you can search for example existing n8n workflows and templates or node characteristics (leverage this a lot!)\n\n# User node preferences (if not specified differently by the user use the following nodes for the listed functionalities):\nvector database: {{ $json['vector database'] }}\nchat model: {{ $json['chat model'] }}\nembeddings: {{ $json.embedding }}\nweb search tool: {{ $json['web search tool'] }}\n\n# Examples (variables are replaced with \"...\")\n--> output refers to the final result. still do not skip an elaborate step by step thinking process and extensive tool use!\n## example 1\n### input: automation flow is designed to automatically monitor incoming Gmail messages, analyze their content and context using AI, and intelligently classify them with appropriate labels for better email organization and prioritization\n\n### output: {\n \"id\": \"uf6t5qhnQMgilteE\",\n \"meta\": {\n \"instanceId\": \"f694ebfb8236012bcdeb0adbc4faa465b6fa315f9ad30732114d26f7419da901\",\n \"templateCredsSetupCompleted\": true\n },\n \"name\": \"Email Manager\",\n \"tags\": [\n {\n \"id\": \"xG398zgKum2bPs6D\",\n \"name\": \"Personal Assistant\",\n \"createdAt\": \"2025-05-28T13:58:43.876Z\",\n \"updatedAt\": \"2025-05-28T13:58:43.876Z\"\n }\n ],\n \"nodes\": [\n {\n \"id\": \"5e01a927-caf7-41ad-aca7-d7504e313564\",\n \"name\": \"Gmail Trigger\",\n \"type\": \"n8n-nodes-base.gmailTrigger\",\n \"position\": [\n -20,\n -60\n ],\n \"parameters\": {\n \"filters\": {},\n \"pollTimes\": {\n \"item\": [\n {\n \"mode\": \"everyMinute\"\n }\n ]\n }\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"Ldq2rjN6Dod5DoKl\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"a8644856-a8bf-49de-84a7-3fd9f93550d3\",\n \"name\": \"Gmail\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 200,\n -20\n ],\n \"webhookId\": \"01c91a6b-4d45-4630-8e81-0f82ee5d6524\",\n \"parameters\": {\n \"simple\": false,\n \"options\": {},\n \"messageId\": \"=...\",\n \"operation\": \"get\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"Ldq2rjN6Dod5DoKl\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"f6ddae9f-303b-46cd-980d-1d46fc4ecbec\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 1000,\n 100\n ],\n \"parameters\": {\n \"jsonSchemaExample\": \"{\\n\\t\\\"label\\\": \\\"Label name\\\", \\n\\\"label ID\\\": \\\"label ID\\\" \\n}\"\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"cc6b0990-a778-4199-a0fe-80c83dfb9934\",\n \"name\": \"Gmail1\",\n \"type\": \"n8n-nodes-base.gmail\",\n \"position\": [\n 1020,\n -220\n ],\n \"webhookId\": \"575a4038-3b07-46b9-be69-39cfc1d47d7e\",\n \"parameters\": {\n \"labelIds\": \"= ... \",\n \"messageId\": \"=...\",\n \"operation\": \"addLabels\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"Ldq2rjN6Dod5DoKl\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"f47e8e55-f634-417f-b62f-60e47af71827\",\n \"name\": \"Anthropic Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatAnthropic\",\n \"position\": [\n 380,\n 160\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"claude-sonnet-4-20250514\",\n \"cachedResultName\": \"Claude Sonnet 4\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"anthropicApi\": {\n \"id\": \"BVgmqTRcPinCIX4S\",\n \"name\": \"Anthropic account 3\"\n }\n },\n \"typeVersion\": 1.3\n },\n {\n \"id\": \"b0ed86c7-5ddd-48dc-aa93-5c4d5c1cacf7\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 500,\n -140\n ],\n \"parameters\": {\n \"text\": \"Run the task.\",\n \"options\": {\n \"systemMessage\": \"=**Objective:** Analyze the provided email data and classify it with the most appropriate label. **Utilize the capability to check for prior email history (emails sent to or received from the sender by `max@trigify.io`)** to determine if this is a first-time interaction (cold email) or part of an existing relationship. This context is crucial for accurate labeling, especially for distinguishing between Marketing, Notifications, and FYI. Respond with *only* the corresponding Label ID.\\n\\n**Your Email Address (for context):** `max@trigify.io`\\n\\n**Key Capabilities (to be used by the system executing this prompt):**\\n* **Check Prior Email History:** Before full classification, determine if any prior email correspondence exists between `max@trigify.io` and `...`. This check should yield \\\"Yes\\\" (history exists) or \\\"No\\\" (no history found).\\n\\n**Input Email Data (from n8n JSON item for the *current* email):**\\n* **Sender Email:** `...`\\n* **Sender Name:** `...`\\n* **Direct Recipient Emails (To):** `...`\\n* **CC Recipient Emails:** `...` *(Added this based on your JSON, use if populated)*\\n* **Subject:** `...`\\n* **Body (Plain Text):** `...`\\n* **Existing Gmail Labels (for current email):** `...`\\n* **Auto-Submitted Header:** `...`\\n* **Original Sender Header (if different from From):** `...`\\n* **In-Reply-To Header (for current email):** `...`\\n* **References Header (for current email):** `...`\\n* **List-Unsubscribe Header:** `...`\\n* **Precedence Header:** `...` (e.g., \\\"Bulk\\\")\\n\\n**Labels, Descriptions, and Prioritization Logic:**\\n\\n**Guidance on Using Prior Email History & Unsubscribe Links:**\\n* **Prior Email History = \\\"No\\\":** Strong indicator of a **cold/unsolicited email**.\\n * If promotional/sales pitch: Likely \\\"Marketing.\\\"\\n * If exceptionally personalized & high-value for Trigify: Rare \\\"To Respond.\\\"\\n* **Prior Email History = \\\"Yes\\\":** Indicates an **existing relationship/conversation**.\\n * If it's an update on terms, policies, or service changes from this known entity: Likely \\\"Notification.\\\"\\n * If it's a newsletter Max subscribed to: Could be \\\"FYI\\\" or \\\"Marketing\\\" based on content.\\n * If it's a direct message requiring action: Likely \\\"To Respond.\\\"\\n* **`List-Unsubscribe` Header or Unsubscribe Links in Body:**\\n * Common in \\\"Marketing\\\" emails.\\n * Also present in many legitimate \\\"Notification\\\" emails (e.g., service updates, policy changes like the DPA example) and some \\\"FYI\\\" newsletters for compliance.\\n * **Therefore, an unsubscribe link alone does not define the category. Consider it alongside Prior Email History and email content/purpose.**\\n* **`Precedence: Bulk` Header:** Often indicates mass mailings, common for Marketing, Notifications, and some FYIs.\\n\\n---\\n\\n* **To Respond (Label ID: `Label_5151750749488724401`):**\\n * **Primary Criteria:** Requires direct, timely action/reply from `max@trigify.io`.\\n * **Key Indicators (especially if Prior Email History = \\\"Yes\\\"):** Direct questions to Max, assigned tasks, requests for info for Trigify, deadlines for Max, part of an active conversation (indicated by `In-Reply-To`/`References`).\\n * **Sales Process Prioritization (Warm Leads/Active Processes - typically Prior Email History = \\\"Yes\\\"):** Ongoing, active Trigify sales process discussions.\\n * **High-Value Cold Outreach (Exceptional Cases - Prior Email History = \\\"No\\\"):** Highly personalized, strategic opportunity for Trigify requiring Max's personal attention. (Default for cold sales is \\\"Marketing\\\").\\n\\n* **FYI (Label ID: `Label_7518716752151077752`):**\\n * **Primary Criteria:** For Max's awareness; no immediate action/reply required.\\n * **Key Indicators:**\\n * Max is CC'd, primary action for others.\\n * General announcements, *non-promotional* newsletters from *known entities/subscriptions* (Prior Email History = \\\"Yes\\\" or sender is clearly a subscribed source) that aren't critical service notifications.\\n * Informational updates within ongoing projects where Max isn't the primary actor.\\n * If an email is a mass mailing (`Precedence: Bulk`, `List-Unsubscribe` present) from a *known entity* (Prior Email History = \\\"Yes\\\") and is purely informational without a direct call to action or critical service update, it could be \\\"FYI.\\\"\\n\\n* **Comment (Label ID: `Label_1470120230130814788`):**\\n * Comment/feedback on a document, task, system (e.g., subject \\\"New comment on...\\\").\\n\\n* **Notification (Label ID: `Label_9`):**\\n * **Primary Criteria:** Provides important, often non-promotional, updates or alerts regarding an existing service, account, or system that `max@trigify.io` or Trigify uses or is affected by. Action is typically awareness, potential configuration change, or noting a deadline, rather than a conversational reply.\\n * **Key Indicators:**\\n * **Updates from Known Service Providers (Prior Email History = \\\"Yes\\\" is common):**\\n * Changes to Terms of Service, Privacy Policies, Data Processing Agreements (DPAs like the \\\"Plain\\\" example).\\n * Critical service availability announcements (outages, maintenance).\\n * Security alerts related to an account Max uses.\\n * Important updates about features or functionality of a service Trigify relies on, which are not primarily marketing new features.\\n * System-generated alerts (e.g., `Auto-Submitted Header` = `auto-generated`) like social media notifications, non-meeting calendar reminders, some financial transaction alerts.\\n * Subject lines may contain: \\\"Important Update,\\\" \\\"Service Notification,\\\" \\\"Policy Change,\\\" \\\"DPA Update,\\\" \\\"Security Alert.\\\"\\n * Even if a `List-Unsubscribe` link is present (for compliance), if the core content is a critical service/account/legal update from a company Max/Trigify does business with, it's a \\\"Notification.\\\"\\n * The `Existing Gmail Labels` might include `CATEGORY_UPDATES`.\\n\\n* **Meeting Update (Label ID: `Label_7958083858424702466`):**\\n * Update specifically regarding a scheduled meeting (e.g., \\\"Accepted:\\\", \\\"Declined:\\\", \\\"Updated Invitation:\\\", \\\"Cancelled:\\\").\\n\\n* **Marketing (Label ID: `Label_5274550748854913384`):**\\n * **Primary Criteria:** Unsolicited promotional sales pitch, advertisement, or general marketing newsletter, especially if **Prior Email History = \\\"No.\\\"**\\n * **Key Indicators:**\\n * **No prior email history found with the `Sender Email`,** AND the email is primarily aimed at selling a product/service or promoting a company/event to Max/Trigify.\\n * Content is generic, focused on features/benefits without strong personalization to Max's known, active projects.\\n * Contains a `List-Unsubscribe Header` AND the content is promotional.\\n * `Existing Gmail Labels` may include `CATEGORY_PROMOTIONS`.\\n * If **Prior Email History = \\\"Yes\\\"**: Could still be \\\"Marketing\\\" if it's a clearly promotional newsletter/offer from a known contact that doesn't fit \\\"Notification\\\" or demand a \\\"To Respond.\\\"\\n\\n---\\n\\n**Email Data for Classification (Summary):**\\n* **Prior Email History with Sender (Yes/No) - From the new capability**\\n* Sender Email: `...`\\n* Sender Name: `...`\\n* Direct Recipient Emails (To): `...`\\n* CC Recipient Emails: `...`\\n* Subject: `...`\\n* Body (Plain Text): `...`\\n* Existing Gmail Labels: `...`\\n* Auto-Submitted Header: `...`\\n* Original Sender Header: `...`\\n* In-Reply-To Header: `...`\\n* References Header: `...`\\n* List-Unsubscribe Header: `...`\\n* Precedence Header: `...`\\n\\n**Output:** [Provide ONLY the Label ID here]\"\n },\n \"promptType\": \"define\",\n \"hasOutputParser\": true\n },\n \"typeVersion\": 1.9\n },\n {\n \"id\": \"f4bbdda0-dcd8-41a7-a870-69dfcb747a4f\",\n \"name\": \"Get Email\",\n \"type\": \"n8n-nodes-base.gmailTool\",\n \"position\": [\n 760,\n 140\n ],\n \"webhookId\": \"c30886d9-3d98-464d-82b8-e7649c87610a\",\n \"parameters\": {\n \"filters\": {\n \"q\": \"=from:...\"\n },\n \"operation\": \"getAll\",\n \"returnAll\": \"=...\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"Kv7fHf3kWbBam6RH\",\n \"name\": \"Gmail account 2\"\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"64c3b465-d2be-43cc-ad41-cc1298038640\",\n \"name\": \"Check Sent\",\n \"type\": \"n8n-nodes-base.gmailTool\",\n \"position\": [\n 560,\n 180\n ],\n \"webhookId\": \"0854fad3-622e-44b4-9d61-5aae13c61433\",\n \"parameters\": {\n \"filters\": {\n \"q\": \"=...\",\n \"labelIds\": [\n \"SENT\"\n ]\n },\n \"operation\": \"getAll\"\n },\n \"credentials\": {\n \"gmailOAuth2\": {\n \"id\": \"Ldq2rjN6Dod5DoKl\",\n \"name\": \"Gmail account\"\n }\n },\n \"typeVersion\": 2.1\n }\n ],\n \"active\": true,\n \"pinData\": {\n \"Gmail Trigger\": [\n {\n \"json\": {\n \"To\": \"max@trigify.io\",\n \"id\": \"1971723eacc72f08\",\n \"From\": \"Coresignal <info@coresignal.com>\",\n \"labels\": [\n {\n \"id\": \"INBOX\",\n \"name\": \"INBOX\"\n },\n {\n \"id\": \"IMPORTANT\",\n \"name\": \"IMPORTANT\"\n },\n {\n \"id\": \"CATEGORY_PROMOTIONS\",\n \"name\": \"CATEGORY_PROMOTIONS\"\n }\n ],\n \"Subject\": \"New MCP server: Direct data access for smarter AI\",\n \"payload\": {\n \"mimeType\": \"multipart/alternative\"\n },\n \"snippet\": \"What's new Empower your AI agent with Coresignal's data We're excited to unveil our latest news, the Coresignal MCP server that connects your LLM tools directly to our company, employee,\",\n \"threadId\": \"1971723eacc72f08\",\n \"historyId\": \"5524551\",\n \"internalDate\": \"1748439919000\",\n \"sizeEstimate\": 62610\n }\n },\n {\n \"json\": {\n \"Cc\": \"\",\n \"To\": \"max@trigify.io\",\n \"id\": \"1971723cfa14c3df\",\n \"From\": \"Plain <hello@plain.com>\",\n \"labels\": [\n {\n \"id\": \"INBOX\",\n \"name\": \"INBOX\"\n },\n {\n \"id\": \"IMPORTANT\",\n \"name\": \"IMPORTANT\"\n },\n {\n \"id\": \"CATEGORY_UPDATES\",\n \"name\": \"CATEGORY_UPDATES\"\n },\n {\n \"id\": \"UNREAD\",\n \"name\": \"UNREAD\"\n }\n ],\n \"Subject\": \" Important update to Plain’s Data Processing Agreement (DPA)\",\n \"payload\": {\n \"mimeType\": \"multipart/alternative\"\n },\n \"snippet\": \"Hi Max, We're writing to let you know about an upcoming change to our Data Processing Agreement (DPA). What's changing? We are simplifying our notification process for subprocessor updates.\",\n \"threadId\": \"1971723cfa14c3df\",\n \"historyId\": \"5524408\",\n \"internalDate\": \"1748439911000\",\n \"sizeEstimate\": 45077\n }\n }\n ]\n },\n \"settings\": {\n \"executionOrder\": \"v1\"\n },\n \"versionId\": \"644d8154-7912-436a-8c05-e8e2f1092993\",\n \"connections\": {\n \"Gmail\": {\n \"main\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Gmail1\": {\n \"main\": [\n []\n ]\n },\n \"AI Agent\": {\n \"main\": [\n [\n {\n \"node\": \"Gmail1\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Get Email\": {\n \"ai_tool\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_tool\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Check Sent\": {\n \"ai_tool\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_tool\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Gmail Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Gmail\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Anthropic Chat Model\": {\n \"ai_languageModel\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_languageModel\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Structured Output Parser\": {\n \"ai_outputParser\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_outputParser\",\n \"index\": 0\n }\n ]\n ]\n }\n }\n}\n\n\n## example 2: \n### input: Automate LinkedIn Posts with Claude AI, DALL-E Images & Google Sheets Approval\n\n### output: {\n \"meta\": {\n \"instanceId\": \"4e229722e6c43a4914d2d66178b48335adf795d73afbee5b0ea0c52938ef4d8e\"\n },\n \"nodes\": [\n {\n \"id\": \"2d694354-6ab0-42fd-abbf-d3085813fd49\",\n \"name\": \"Idea Generator\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 1100,\n 200\n ],\n \"parameters\": {\n \"text\": \"=Generate materials for my next LinkedIn post.\\n\\nHere are the ideas that we've already used: ....\\n\\nCome up with a new, super valuable and concrete post, and prepare all the needed materials for it:\\n- idea\\n- title\\n- text\\n- image description\\n\\nUse the least used bucket of content (out of my 4 buckets).\\n\\nBegin:\",\n \"options\": {\n \"systemMessage\": \"=ROLE: You're an expert in viral LinkedIn posts content creation with 10 years of experience. You've created viral posts that have gotten 10 billion views in total.\\n\\nOBJECTIVE: Your goal is to write a 1) name, 2) idea, 3) title, 4) text, and 5) image description for my next LinkedIn Post. They should be super valuable to my audience.\\n\\nSCENARIO: I run a LinkedIn blog about marketing and sales. My audience is marketers, salespeople, founders, B2B business owners, B2C business owners, brands. My goal is to help them build better brands with valuable, and practical content. \\nI have 4 main buckets of content on my page:\\n1) timeless principles. ideas for this videos are taken from timeless books: Influnece and Pre-Suasion by Robert Cialdini, $100M Leads and $100M Offers by Alex Hormozi, Ogilvy on Advertising.\\n2) case studies. for instance a case study breaking down on of the famous ads from the latest SuperBowl.\\n3) growth hacks. latest trends on how to grow with a proof. for instance an SEO tactic that became known in the last year.\\n4) contraversial ads. breakdowns of interesting and famous contraversial ads.\\nEvery video that I post is focused solely on one of the content buckets. That makes my content more diverse and covering more cool topics.\\n\\nEXPECTATION: Write me 1) name (short name for the post, less than 50 characters), 2) idea (detailed description in 3 sentences max), 3) title (the first sentence of the post, less than 80 characters, it should be ultra hooking), 4) full text of the post, 5) image description (the image is the first thing people will look at, so make it ultra hooking; write the image description to be super clear and ultra simple, so the AI image generator will precisely know that to generate; the image should be minimalistic) for a 200-300 words LinkedIn post from one of the content buckets described above.\\nMake sure to have great: hook, retention, and reward at the end.\\nThe post should clearly lead to a marketing/sales insight.\\nYour output should be in the JSON format.\\nIdea should always start with a category: Timeless principle, Case study, Growth hack, Contraversial ad.\\nExample output:\\n{\\\"name\\\": \\\"The Power of Social Proof\\\",\\n\\\"idea\\\": \\\"Timeless principle: Social proof is a psychological phenomenon that influences decision-making by showing how others' actions affect our own choices. It works universally across physical spaces and digital platforms. Marketers who strategically implement social proof elements can significantly increase conversion rates and customer trust.\\\",\\n\\\"title\\\": \\\"Why we can't resist looking up when others do (and what it means for sales)\\\",\\n\\\"text\\\": \\\"Why we can't resist looking up when others do (and what it means for sales)\\\\n\\\\nA psychology experiment once placed actors on a street corner to stare upward at nothing.\\\\n\\\\nWithin minutes, dozens of passersby stopped to look up too.\\\\n\\\\nThis is social proof in action—our natural tendency to follow others when uncertain.\\\\n\\\\nIn marketing, this same principle powers your conversion rates.\\\\n\\\\nNotice how differently you perceive:\\\\n\\\\n• A product with 5,000+ five-star reviews\\\\n• A service used by \\\\\\\"67% of Fortune 500 companies\\\\\\\"\\\\n• A landing page showing \\\\\\\"10,000+ satisfied customers\\\\\\\"\\\\n\\\\nCompared to identical offerings without these trust signals.\\\\n\\\\nBut here's what many marketers miss: social proof must feel authentic to work.\\\\n\\\\nGeneric testimonials or inflated numbers create skepticism, not confidence.\\\\n\\\\nThe most effective social proof strategies I've implemented for clients:\\\\n\\\\n1. Specificity: \\\\\\\"503 marketing agencies use our platform daily\\\\\\\" beats \\\\\\\"Hundreds of satisfied customers\\\\\\\"\\\\n\\\\n2. Relevance: Highlight testimonials from users who match your prospect's profile\\\\n\\\\n3. Recency: Fresh testimonials outperform older ones by 35% in our tests\\\\n\\\\n4. Visibility: Place social proof elements near decision points (like \\\\\\\"Buy Now\\\\\\\" buttons)\\\\n\\\\nImplement these four tactics, and you'll see the same psychological force that makes us look up at the sky work to increase your conversion rates.\\\\n\\\\nWhat's your most effective social proof strategy? Share below.\\\",\\n\\\"image\\\": \\\"Simple black background with grainy texture. Six basic stick figure silhouettes in white - five figures on the left all looking up, one figure on the right just starting to look up. Bold text in Inter Bold font at the center reads \\\\\\\"FOLLOW THE CROWD\\\\\\\" with \\\\\\\"FOLLOW\\\\\\\" in white and \\\\\\\"CROWD\\\\\\\" in light green (#cff150). No other elements or details. Clean, minimal design with plenty of empty space.\\\"}\\nNOTES:\\n- THE BACKGROUND OF THE IMAGE SHOULD ALWAYS BE BLACK AND DARK GRAINY FILM\\nTo accomplish your task you can use the web search.\"\n },\n \"promptType\": \"define\",\n \"hasOutputParser\": true\n },\n \"retryOnFail\": true,\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"991032b8-6839-4c5a-9df9-6e8e7a924c9e\",\n \"name\": \"Sticky Note7\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 480,\n 100\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 980,\n \"height\": 480,\n \"content\": \"# Generate a New Post Idea and All Materials\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"40294f91-5002-44a2-91e7-5bee74c30698\",\n \"name\": \"Sticky Note8\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1480,\n 100\n ],\n \"parameters\": {\n \"color\": 6,\n \"width\": 1140,\n \"height\": 480,\n \"content\": \"# Generate an Image and Save\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"b3e2d972-f763-4fa5-88eb-bbb1afa7fc2d\",\n \"name\": \"Structured Output Parser\",\n \"type\": \"@n8n/n8n-nodes-langchain.outputParserStructured\",\n \"position\": [\n 1300,\n 400\n ],\n \"parameters\": {\n \"jsonSchemaExample\": \"{\\n\\t\\\"name\\\": \\\"name\\\",\\n \\\"idea\\\": \\\"idea\\\",\\n \\\"title\\\": \\\"title\\\",\\n \\\"text\\\": \\\"text\\\",\\n \\\"image\\\": \\\"image\\\"\\n}\"\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"77a4755a-0d64-4bce-b8a1-90b649d21039\",\n \"name\": \"Anthropic Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatAnthropic\",\n \"position\": [\n 960,\n 400\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"claude-3-7-sonnet-20250219\",\n \"cachedResultName\": \"Claude 3.7 Sonnet\"\n },\n \"options\": {}\n },\n \"typeVersion\": 1.3\n },\n {\n \"id\": \"431ac158-ed33-4fdc-ae28-9a8fe1829f7e\",\n \"name\": \"Perplexity Research\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolWorkflow\",\n \"position\": [\n 1120,\n 400\n ],\n \"parameters\": {\n \"name\": \"web_search\",\n \"workflowId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"eALld0YaOZuUCU5q\",\n \"cachedResultName\": \"Perplexity Research\"\n },\n \"description\": \"Call this tool to make a web search query using Perplexity AI. It will automatically look at multiple relevant websites and combine all the valuable information in one clean response.\",\n \"workflowInputs\": {\n \"value\": {},\n \"schema\": [\n {\n \"id\": \"query\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"query\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n }\n ],\n \"mappingMode\": \"defineBelow\",\n \"matchingColumns\": [\n \"query\"\n ],\n \"attemptToConvertTypes\": false,\n \"convertFieldsToString\": false\n }\n },\n \"typeVersion\": 2.1\n },\n {\n \"id\": \"9098aa0e-e707-4825-a848-50f8a3ad767d\",\n \"name\": \"Convert to File\",\n \"type\": \"n8n-nodes-base.convertToFile\",\n \"position\": [\n 1960,\n 280\n ],\n \"parameters\": {\n \"options\": {},\n \"operation\": \"toBinary\",\n \"sourceProperty\": \"data[0].b64_json\"\n },\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"e7782adf-936a-47a5-8174-469e9d439b76\",\n \"name\": \"Schedule\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 560,\n 200\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 5\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"67704ef3-a0b3-4401-88aa-edc9b332c5fb\",\n \"name\": \"Join Ideas\",\n \"type\": \"n8n-nodes-base.code\",\n \"position\": [\n 920,\n 200\n ],\n \"parameters\": {\n \"jsCode\": \"// Get all incoming items\\nconst items = $input.all();\\n\\n// Extract the text field from each item\\nconst texts = items.map(item => item.json.idea);\\n\\n// Concatenate them (adjust the separator as needed)\\nconst concatenated = texts.join(\\\", \\\");\\n\\n// Return a single item with the concatenated text\\nreturn [{ json: { mergedText: concatenated } }];\"\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"766ba040-6217-460e-a285-7dd3fe612654\",\n \"name\": \"Pick One\",\n \"type\": \"n8n-nodes-base.limit\",\n \"position\": [\n 920,\n 700\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"ab433d53-9946-4778-bb59-bf636388da03\",\n \"name\": \"Sticky Note1\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 480,\n 600\n ],\n \"parameters\": {\n \"color\": 4,\n \"width\": 1340,\n \"height\": 300,\n \"content\": \"# Auto Posting\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"35b01ea3-8a91-4bdb-8b0b-e1e99f3c0482\",\n \"name\": \"X\",\n \"type\": \"n8n-nodes-base.twitter\",\n \"disabled\": true,\n \"position\": [\n 1140,\n 980\n ],\n \"parameters\": {\n \"additionalFields\": {}\n },\n \"typeVersion\": 2\n },\n {\n \"id\": \"25628428-075e-449c-8585-fc33d9185522\",\n \"name\": \"Prepare Data for Instagram API\",\n \"type\": \"n8n-nodes-base.set\",\n \"disabled\": true,\n \"position\": [\n 1400,\n 980\n ],\n \"parameters\": {\n \"options\": {},\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"8a4260ba-3bde-4444-8f42-8a8abd51ff0c\",\n \"name\": \"ImageURL\",\n \"type\": \"string\",\n \"value\": \"=...\"\n },\n {\n \"id\": \"1953ae03-6a86-4847-8686-5a928637be1d\",\n \"name\": \"Caption\",\n \"type\": \"string\",\n \"value\": \"=...\"\n }\n ]\n }\n },\n \"typeVersion\": 3.4\n },\n {\n \"id\": \"61af7e71-5470-44a1-a157-2c15311b9dff\",\n \"name\": \"Create Instagram Media Container\",\n \"type\": \"n8n-nodes-base.facebookGraphApi\",\n \"disabled\": true,\n \"position\": [\n 1580,\n 980\n ],\n \"parameters\": {\n \"edge\": \"media\",\n \"node\": \"17841473009917118\",\n \"options\": {\n \"queryParameters\": {\n \"parameter\": [\n {\n \"name\": \"caption\",\n \"value\": \"=...\"\n },\n {\n \"name\": \"image_url\",\n \"value\": \"=...\"\n }\n ]\n }\n },\n \"graphApiVersion\": \"v22.0\",\n \"httpRequestMethod\": \"POST\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"177e67d6-2783-4691-a90f-4b6fb398ab5e\",\n \"name\": \"Wait for Container Processing\",\n \"type\": \"n8n-nodes-base.wait\",\n \"disabled\": true,\n \"position\": [\n 1780,\n 980\n ],\n \"webhookId\": \"1b14c8bf-151a-4054-8215-093dd5b6cbcc\",\n \"parameters\": {},\n \"typeVersion\": 1.1\n },\n {\n \"id\": \"8ef68b10-af6c-4f05-91ae-43586098b051\",\n \"name\": \"Publish Post to Instagram\",\n \"type\": \"n8n-nodes-base.facebookGraphApi\",\n \"disabled\": true,\n \"position\": [\n 1980,\n 980\n ],\n \"parameters\": {\n \"edge\": \"media_publish\",\n \"node\": \"17841473009917118\",\n \"options\": {\n \"queryParameters\": {\n \"parameter\": [\n {\n \"name\": \"creation_id\",\n \"value\": \"=...\"\n }\n ]\n }\n },\n \"graphApiVersion\": \"v22.0\",\n \"httpRequestMethod\": \"POST\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"9702cd17-9bd3-429e-842e-56089b50d50b\",\n \"name\": \"Sticky Note\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n 1080,\n 920\n ],\n \"parameters\": {\n \"width\": 1120,\n \"height\": 260,\n \"content\": \"## Twitter & Instagram\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"8633b8e7-0119-4b60-a42e-362e26134772\",\n \"name\": \"Sticky Note6\",\n \"type\": \"n8n-nodes-base.stickyNote\",\n \"position\": [\n -260,\n 100\n ],\n \"parameters\": {\n \"width\": 720,\n \"height\": 1800,\n \"content\": \"# 🛠️ Setup Guide \\n**Author:** [Usman Liaqat](https://www.linkedin.com/in/usmanliaqat404)\\n\\nThis guide will walk you through the 7 steps to fully configure your automation workflow using Google Sheets, Google Drive, Anthropic, OpenAI, Perplexity AI and LinkedIn.\\n\\n---\\n\\n## ✅ Step 1: Set Up Google Sheets Credential\\n1. In the n8n Google Sheets node create a new credential using your Google account\\n\\n---\\n\\n## ✅ Step 2: Set Up Google Drive Credential\\n1. Go to the [Google Cloud Console](https://console.cloud.google.com) and create or select a project\\n2. Enable the Google Drive API under APIs & Services > Library\\n3. Still in APIs & Services, select Credentials from the left menu\\n4. Click + CREATE CREDENTIALS > OAuth client ID\\n5. For Application type, choose Web application\\n6. Under Authorized redirect URIs, paste the OAuth Redirect URL: https://oauth.n8n.cloud/oauth2/callback\\n7. Click Create, then copy the Client ID and Client Secret shown in the modal\\n8. In the n8n Google Drive node click Create Credential\\n9. Paste in the Client ID and Client Secret from Google Cloud\\n10. Click Sign in with Google, complete the OAuth consent flow, then Save your credential\\n\\n---\\n\\n## ✅ Step 3: Set Up Anthropic Credential\\n1. Navigate to the [Anthropic Console](https://console.anthropic.com/) and sign in or sign up\\n2. Generate an API key\\n3. In the n8n \\\"Anthropic Chat Model\\\" node click Create Credential, past the API key and save\\n\\n---\\n\\n## ✅ Step 4: Configure OpenAI via HTTP Request Node\\n1. Visit the [OpenAI API Keys](https://platform.openai.com/account/api-keys) page and create a new secret key\\n2. In the n8n OpenAI Image node in the Authentication select Generic Credential Type\\n3. In Generic Auth Type select Header Auth\\n4. Create a new Header Auth, Name = Authorization, Value = Bearer YOUR_TOKEN\\n\\n---\\n\\n## ✅ Step 5: Configure Perplexity AI via HTTP Request Node\\n1. Go to the [Perplexity API Portal](https://www.perplexity.ai/account/api/keys) and click Create Key\\n2. Copy the generated API key\\n3. Inside n8n, in the sub-workflow, open the Perplexity Research node\\n4. In the Authentication select Generic Credential Type\\n5. In Generic Auth Type select Header Auth\\n6. Create a new Header Auth, Name = Authorization, Value = Bearer YOUR_TOKEN\\n\\n---\\n\\n## ✅ Step 6: Set Up LinkedIn Credential\\n1. In the n8n LinkedIn node create a new credential using your LinkedIn account\\n\\n---\\n\\n## ✅ Step 7: Customize The System For Your Use Case\\n1. In the Idea Generator node adjust the prompts to reflect your content style and your topics\\n2. Create a folder in your Google Drive where you will store all the images\\n3. Put in that folder the image with the style of your brand, that you want to replicate every time\\n4. Paste the shared link to this image in the \\\"Image Style\\\" node\\n5. In the OpenAI Image node adjust the prompt to reflect your image style\\n6. Copy my [Google Sheet](https://docs.google.com/spreadsheets/d/1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs/edit?usp=sharing)\\n7. Select your Google Sheet in the Google Sheets nodes\\n8. Activate the system, now every day a new post will be created inside the Google Sheet, and once you've reviewed it (might edit it as well), set the status to \\\"ready\\\" and it will be posted; the posting mechanism is set to work every day, one post at a time\\n\\n---\\n\\nNow you're ready to run your workflow. Happy automating!\\n\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"e853ea9d-5b19-4b7b-8dc4-110bcc481471\",\n \"name\": \"OpenAI Image\",\n \"type\": \"n8n-nodes-base.httpRequest\",\n \"position\": [\n 1760,\n 280\n ],\n \"parameters\": {\n \"url\": \"https://api.openai.com/v1/images/edits\",\n \"method\": \"POST\",\n \"options\": {},\n \"sendBody\": true,\n \"contentType\": \"multipart-form-data\",\n \"authentication\": \"genericCredentialType\",\n \"bodyParameters\": {\n \"parameters\": [\n {\n \"name\": \"model\",\n \"value\": \"gpt-image-1\"\n },\n {\n \"name\": \"image\",\n \"parameterType\": \"formBinaryData\",\n \"inputDataFieldName\": \"data\"\n },\n {\n \"name\": \"prompt\",\n \"value\": \"=You're a professional graphic designer.\\n\\nMake a new image in the style very very similar to the reference.\\n\\nCopy the style, spacing, minimalistic structure, especially copy the FONTS, and everything else.\\n\\nUse black and dark grainy film (mainly for the background), white and salad green (#cff150).\\n\\nMake the image super aestetic and minimalistic.\\n\\nMake it vertical 3x4.\\n\\nIt will be an image for a LinkedIn post.\\n\\nHere is the description of the new image:\\n...\"\n }\n ]\n },\n \"genericAuthType\": \"httpHeaderAuth\"\n },\n \"typeVersion\": 4.2\n },\n {\n \"id\": \"2642278d-235c-46f0-994e-aa1ebec5ae64\",\n \"name\": \"Image Style\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 1540,\n 280\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"=https://drive.google.com/file/d/1wm4anhC6ygXl4ZJAjJryWfEXTG-VeH8s/view?usp=sharing\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"31218124-74e6-4117-bd76-125545aaf969\",\n \"name\": \"Get Past Ideas\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 740,\n 200\n ],\n \"parameters\": {\n \"options\": {},\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gid=0\",\n \"cachedResultUrl\": \"https://docs.google.com/spreadsheets/d/1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs/edit#gid=0\",\n \"cachedResultName\": \"Posts\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs\",\n \"cachedResultUrl\": \"https://docs.google.com/spreadsheets/d/1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs/edit?usp=drivesdk\",\n \"cachedResultName\": \"AI Posts Content Machine\"\n }\n },\n \"typeVersion\": 4.5,\n \"alwaysOutputData\": true\n },\n {\n \"id\": \"b4776d32-d742-42d8-8454-048ccadc8ecd\",\n \"name\": \"Save Image\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 2180,\n 280\n ],\n \"parameters\": {\n \"name\": \"=...\",\n \"driveId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"My Drive\"\n },\n \"options\": {},\n \"folderId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1PZW0Hef8yKwKtBZuRxZAMkakzdyyP0iZ\",\n \"cachedResultUrl\": \"https://drive.google.com/drive/folders/1PZW0Hef8yKwKtBZuRxZAMkakzdyyP0iZ\",\n \"cachedResultName\": \"AI Posts Content Machine\"\n }\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"c6a71846-4538-4204-9ddc-f5c0fb18ac1a\",\n \"name\": \"Save Post\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 2380,\n 280\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {\n \"idea\": \"=...\",\n \"name\": \"=...\",\n \"text\": \"=...\",\n \"image\": \"=...\",\n \"status\": \"review\"\n },\n \"schema\": [\n {\n \"id\": \"name\",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"name\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"idea\",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"idea\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"text\",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"text\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"image\",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"image\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"status\",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"status\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n }\n ],\n \"mappingMode\": \"defineBelow\",\n \"matchingColumns\": [],\n \"attemptToConvertTypes\": false,\n \"convertFieldsToString\": false\n },\n \"options\": {},\n \"operation\": \"append\",\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gid=0\",\n \"cachedResultUrl\": \"https://docs.google.com/spreadsheets/d/1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs/edit#gid=0\",\n \"cachedResultName\": \"Posts\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs\",\n \"cachedResultUrl\": \"https://docs.google.com/spreadsheets/d/1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs/edit?usp=drivesdk\",\n \"cachedResultName\": \"AI Posts Content Machine\"\n }\n },\n \"typeVersion\": 4.5\n },\n {\n \"id\": \"7b8e2c00-2c14-4bb7-acee-0181990e9434\",\n \"name\": \"Schedule 2\",\n \"type\": \"n8n-nodes-base.scheduleTrigger\",\n \"position\": [\n 560,\n 700\n ],\n \"parameters\": {\n \"rule\": {\n \"interval\": [\n {\n \"triggerAtHour\": 16\n }\n ]\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"66c0ae82-6ba3-4fa0-8033-3726796cdc0a\",\n \"name\": \"Get Ready Posts\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 740,\n 700\n ],\n \"parameters\": {\n \"options\": {},\n \"filtersUI\": {\n \"values\": [\n {\n \"lookupValue\": \"ready\",\n \"lookupColumn\": \"status\"\n }\n ]\n },\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gid=0\",\n \"cachedResultUrl\": \"https://docs.google.com/spreadsheets/d/1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs/edit#gid=0\",\n \"cachedResultName\": \"Posts\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs\",\n \"cachedResultUrl\": \"https://docs.google.com/spreadsheets/d/1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs/edit?usp=drivesdk\",\n \"cachedResultName\": \"AI Posts Content Machine\"\n }\n },\n \"typeVersion\": 4.5\n },\n {\n \"id\": \"7ee9c81f-00ca-4f89-95bb-61d224b06a2e\",\n \"name\": \"Download Image\",\n \"type\": \"n8n-nodes-base.googleDrive\",\n \"position\": [\n 1120,\n 700\n ],\n \"parameters\": {\n \"fileId\": {\n \"__rl\": true,\n \"mode\": \"url\",\n \"value\": \"=...\"\n },\n \"options\": {},\n \"operation\": \"download\"\n },\n \"typeVersion\": 3\n },\n {\n \"id\": \"94fbbd95-fe52-4eda-ac78-2201ff72fe50\",\n \"name\": \"Publish Post\",\n \"type\": \"n8n-nodes-base.linkedIn\",\n \"position\": [\n 1320,\n 700\n ],\n \"parameters\": {\n \"text\": \"=...\",\n \"person\": \"-NknGiXASA\",\n \"additionalFields\": {},\n \"shareMediaCategory\": \"IMAGE\"\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"0893a7f2-490b-49f1-96cb-56090cb59c10\",\n \"name\": \"Update Status\",\n \"type\": \"n8n-nodes-base.googleSheets\",\n \"position\": [\n 1520,\n 700\n ],\n \"parameters\": {\n \"columns\": {\n \"value\": {\n \"name\": \"=...\",\n \"status\": \"posted\"\n },\n \"schema\": [\n {\n \"id\": \"name\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": false,\n \"required\": false,\n \"displayName\": \"name\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"idea\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": true,\n \"required\": false,\n \"displayName\": \"idea\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"text\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": true,\n \"required\": false,\n \"displayName\": \"text\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"image\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": true,\n \"required\": false,\n \"displayName\": \"image\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"status\",\n \"type\": \"string\",\n \"display\": true,\n \"required\": false,\n \"displayName\": \"status\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n },\n {\n \"id\": \"row_number\",\n \"type\": \"string\",\n \"display\": true,\n \"removed\": true,\n \"readOnly\": true,\n \"required\": false,\n \"displayName\": \"row_number\",\n \"defaultMatch\": false,\n \"canBeUsedToMatch\": true\n }\n ],\n \"mappingMode\": \"defineBelow\",\n \"matchingColumns\": [\n \"name\"\n ],\n \"attemptToConvertTypes\": false,\n \"convertFieldsToString\": false\n },\n \"options\": {},\n \"operation\": \"update\",\n \"sheetName\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gid=0\",\n \"cachedResultUrl\": \"https://docs.google.com/spreadsheets/d/1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs/edit#gid=0\",\n \"cachedResultName\": \"Posts\"\n },\n \"documentId\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs\",\n \"cachedResultUrl\": \"https://docs.google.com/spreadsheets/d/1-F3ZioIs3oWOKMyDPMuquaH-qiuaZs6qdZXP-yNeRbs/edit?usp=drivesdk\",\n \"cachedResultName\": \"AI Posts Content Machine\"\n }\n },\n \"typeVersion\": 4.5\n }\n ],\n \"pinData\": {},\n \"connections\": {\n \"Pick One\": {\n \"main\": [\n [\n {\n \"node\": \"Download Image\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Schedule\": {\n \"main\": [\n [\n {\n \"node\": \"Get Past Ideas\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Join Ideas\": {\n \"main\": [\n [\n {\n \"node\": \"Idea Generator\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Save Image\": {\n \"main\": [\n [\n {\n \"node\": \"Save Post\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Schedule 2\": {\n \"main\": [\n [\n {\n \"node\": \"Get Ready Posts\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Image Style\": {\n \"main\": [\n [\n {\n \"node\": \"OpenAI Image\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"OpenAI Image\": {\n \"main\": [\n [\n {\n \"node\": \"Convert to File\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Publish Post\": {\n \"main\": [\n [\n {\n \"node\": \"Update Status\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Download Image\": {\n \"main\": [\n [\n {\n \"node\": \"Publish Post\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Get Past Ideas\": {\n \"main\": [\n [\n {\n \"node\": \"Join Ideas\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Idea Generator\": {\n \"main\": [\n [\n {\n \"node\": \"Image Style\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Convert to File\": {\n \"main\": [\n [\n {\n \"node\": \"Save Image\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Get Ready Posts\": {\n \"main\": [\n [\n {\n \"node\": \"Pick One\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Perplexity Research\": {\n \"ai_tool\": [\n [\n {\n \"node\": \"Idea Generator\",\n \"type\": \"ai_tool\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Anthropic Chat Model\": {\n \"ai_languageModel\": [\n [\n {\n \"node\": \"Idea Generator\",\n \"type\": \"ai_languageModel\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Structured Output Parser\": {\n \"ai_outputParser\": [\n [\n {\n \"node\": \"Idea Generator\",\n \"type\": \"ai_outputParser\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Wait for Container Processing\": {\n \"main\": [\n [\n {\n \"node\": \"Publish Post to Instagram\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Prepare Data for Instagram API\": {\n \"main\": [\n [\n {\n \"node\": \"Create Instagram Media Container\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Create Instagram Media Container\": {\n \"main\": [\n [\n {\n \"node\": \"Wait for Container Processing\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n }\n}\n\n\n## example 2: \n### input: GPT 4o Agent with SerpAPI Websearch and Memory\n### output: {\n \"id\": \"ai-agent-gpt4o-serpapi-manual\",\n \"name\": \"GPT-4o Agent with SerpAPI & Memory (Manual Trigger)\",\n \"nodes\": [\n {\n \"id\": \"dba53fd3-6bf0-46c9-9659-286f643fd6d1\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -420,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"dd16c4ff-c7d4-45fc-b75a-29bdb6dcc0c2\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n -140,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3\n },\n {\n \"id\": \"32a1cc05-dab8-4be1-bd6a-8396fbe0df0e\",\n \"name\": \"GPT-4o Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n -140,\n -220\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o\",\n \"cachedResultName\": \"gpt-4o\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"<OPENROUTER_CREDENTIAL_ID>\",\n \"name\": \"OpenRouter API Key\"\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"ea7379d9-b6dd-49ff-ac01-2d9c608f7c11\",\n \"name\": \"SerpAPI\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolSerpApi\",\n \"position\": [\n -140,\n 140\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"serpApi\": {\n \"id\": \"<SERPAPI_CREDENTIAL_ID>\",\n \"name\": \"SerpAPI Key\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"10a3f41d-4f1a-4efa-92b3-7adb3f98f604\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 160,\n -40\n ],\n \"parameters\": {\n \"text\": \"=Respond to the user’s request given in the trigger item.\",\n \"options\": {\n \"systemMessage\": \"You are an AI assistant that can perform web searches with SerpAPI when helpful.\"\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"f8b0c3ae-8423-4db9-a287-3e3c640ef0bb\",\n \"name\": \"Set Response\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 400,\n -40\n ],\n \"parameters\": {\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"acb7e4d0-f718-4eae-8f50-0ca15c5c68e2\",\n \"name\": \"answer\",\n \"type\": \"string\",\n \"value\": \"={{ $json.output }}\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 3.4\n }\n ],\n \"connections\": {\n \"Manual Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Window Buffer Memory\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Window Buffer Memory\": {\n \"main\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ],\n \"ai_memory\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_memory\",\n \"index\": 0\n }\n ]\n ]\n },\n \"GPT-4o Chat Model\": {\n \"ai_languageModel\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_languageModel\",\n \"index\": 0\n }\n ]\n ]\n },\n \"SerpAPI\": {\n \"ai_tool\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_tool\",\n \"index\": 0\n }\n ]\n ]\n },\n \"AI Agent\": {\n \"main\": [\n [\n {\n \"node\": \"Set Response\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"active\": true,\n \"settings\": {\n \"executionOrder\": \"v1\"\n }\n }\n\n\n\n# User request: \n"
}
},
"retryOnFail": true,
"typeVersion": 1.9,
"alwaysOutputData": false
},
{
"id": "e36992ff-fa9c-469c-a669-267bcdccae99",
"name": "嵌入 OpenAI2",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-2120,
-380
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "1BZb0tEHsbNtfnre",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "5e709878-fc9d-4ed3-bfbb-b019f9c287db",
"name": "默认数据加载器1",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
-2000,
-380
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "f70e1fe1-618f-45c8-8379-f4742effb93b",
"name": "当点击\"测试工作流\"时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-2320,
-1060
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b34a7b23-f5b9-4046-9c92-a663698c0e92",
"name": "提取",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1880,
-1060
],
"parameters": {
"url": "={{ $json.URL }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "ea2a97ef-f2bb-4934-a040-7fa96b918101",
"name": "如果",
"type": "n8n-nodes-base.if",
"onError": "continueErrorOutput",
"position": [
-1240,
-1060
],
"parameters": {
"options": {}
},
"typeVersion": 2.2
},
{
"id": "a34dea8f-fb4f-4c94-834d-eb5948cc7286",
"name": "获取结果",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1440,
-1060
],
"parameters": {
"options": {}
},
"typeVersion": 4.2
},
{
"id": "63cd8437-92c9-4a33-aabf-3238b7b4a919",
"name": "30 秒",
"type": "n8n-nodes-base.wait",
"position": [
-1660,
-1060
],
"webhookId": "e4866198-b806-4746-b57f-97333c497dbf",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "c6830132-8d74-4209-9d41-6c42c1fb7e66",
"name": "10 秒",
"type": "n8n-nodes-base.wait",
"position": [
-1120,
-1260
],
"webhookId": "6cc8c637-bafb-4d64-9cd4-8ae2a9f5b7ca",
"parameters": {},
"typeVersion": 1.1
},
{
"id": "95161389-9ea0-484b-abdf-82a8a0479b9a",
"name": "SerpAPI",
"type": "@n8n/n8n-nodes-langchain.toolSerpApi",
"position": [
-1980,
580
],
"parameters": {
"options": {}
},
"credentials": {
"serpApi": {
"id": "Je4LoeQ61nFMK2Fl",
"name": "SerpAPI account"
}
},
"typeVersion": 1
},
{
"id": "da8d5a8a-c641-453f-a7bb-817099e8592f",
"name": "Pinecone 向量存储",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-1860,
580
],
"parameters": {
"mode": "retrieve-as-tool",
"options": {},
"toolName": "n8n_documentation",
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "agentbuilder",
"cachedResultName": "agentbuilder"
},
"toolDescription": "This vectorstore contains some of n8n's technical documentations."
},
"credentials": {
"pineconeApi": {
"id": "Lf0fQva4BsvfbRrC",
"name": "PineconeApi account"
}
},
"typeVersion": 1.1
},
{
"id": "0838fd0e-8e1b-4c37-8c31-8ab9306fff89",
"name": "训练 Pinecone Vector Store",
"type": "@n8n/n8n-nodes-langchain.vectorStorePinecone",
"position": [
-2120,
-540
],
"parameters": {
"mode": "insert",
"options": {},
"pineconeIndex": {
"__rl": true,
"mode": "list",
"value": "agentbuilder",
"cachedResultName": "agentbuilder"
}
},
"credentials": {
"pineconeApi": {
"id": "Lf0fQva4BsvfbRrC",
"name": "PineconeApi account"
}
},
"typeVersion": 1.1
},
{
"id": "b4bca1b1-80bc-42fa-b434-00eabd926aff",
"name": "OpenRouter Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
"position": [
-2100,
580
],
"parameters": {
"options": {}
},
"credentials": {
"openRouterApi": {
"id": "6NJ9tdhq29wdtm6s",
"name": "OpenRouter account"
}
},
"typeVersion": 1
},
{
"id": "e9f693e5-4733-4987-a7a8-7f6b7823b221",
"name": "Embeddings OpenAI",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
-1840,
720
],
"parameters": {
"options": {}
},
"credentials": {
"openAiApi": {
"id": "1BZb0tEHsbNtfnre",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "ebe6227a-4f12-44d0-ae8c-516e89e31f9f",
"name": "OpenAI",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
-1520,
240
],
"parameters": {
"modelId": {
"__rl": true,
"mode": "list",
"value": "o4-mini-2025-04-16",
"cachedResultName": "O4-MINI-2025-04-16"
},
"options": {},
"messages": {
"values": [
{
"role": "system",
"content": "Transform the input into valid n8n template JSON format. make sure all nodes are correctly set up and CONNECTED!\n\nmake especially sure the AI agent(s) are correctly set up and connected. here is an example:\n\n{\n \"id\": \"ai-agent-gpt4o-serpapi-manual\",\n \"name\": \"GPT-4o Agent with SerpAPI & Memory (Manual Trigger)\",\n \"nodes\": [\n {\n \"id\": \"dba53fd3-6bf0-46c9-9659-286f643fd6d1\",\n \"name\": \"Manual Trigger\",\n \"type\": \"n8n-nodes-base.manualTrigger\",\n \"position\": [\n -420,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1\n },\n {\n \"id\": \"dd16c4ff-c7d4-45fc-b75a-29bdb6dcc0c2\",\n \"name\": \"Window Buffer Memory\",\n \"type\": \"@n8n/n8n-nodes-langchain.memoryBufferWindow\",\n \"position\": [\n -140,\n -40\n ],\n \"parameters\": {},\n \"typeVersion\": 1.3\n },\n {\n \"id\": \"32a1cc05-dab8-4be1-bd6a-8396fbe0df0e\",\n \"name\": \"GPT-4o Chat Model\",\n \"type\": \"@n8n/n8n-nodes-langchain.lmChatOpenAi\",\n \"position\": [\n -140,\n -220\n ],\n \"parameters\": {\n \"model\": {\n \"__rl\": true,\n \"mode\": \"list\",\n \"value\": \"gpt-4o\",\n \"cachedResultName\": \"gpt-4o\"\n },\n \"options\": {}\n },\n \"credentials\": {\n \"openAiApi\": {\n \"id\": \"<OPENROUTER_CREDENTIAL_ID>\",\n \"name\": \"OpenRouter API Key\"\n }\n },\n \"typeVersion\": 1.2\n },\n {\n \"id\": \"ea7379d9-b6dd-49ff-ac01-2d9c608f7c11\",\n \"name\": \"SerpAPI\",\n \"type\": \"@n8n/n8n-nodes-langchain.toolSerpApi\",\n \"position\": [\n -140,\n 140\n ],\n \"parameters\": {\n \"options\": {}\n },\n \"credentials\": {\n \"serpApi\": {\n \"id\": \"<SERPAPI_CREDENTIAL_ID>\",\n \"name\": \"SerpAPI Key\"\n }\n },\n \"typeVersion\": 1\n },\n {\n \"id\": \"10a3f41d-4f1a-4efa-92b3-7adb3f98f604\",\n \"name\": \"AI Agent\",\n \"type\": \"@n8n/n8n-nodes-langchain.agent\",\n \"position\": [\n 160,\n -40\n ],\n \"parameters\": {\n \"text\": \"=Respond to the user’s request given in the trigger item.\",\n \"options\": {\n \"systemMessage\": \"You are an AI assistant that can perform web searches with SerpAPI when helpful.\"\n },\n \"promptType\": \"define\"\n },\n \"typeVersion\": 1.7\n },\n {\n \"id\": \"f8b0c3ae-8423-4db9-a287-3e3c640ef0bb\",\n \"name\": \"Set Response\",\n \"type\": \"n8n-nodes-base.set\",\n \"position\": [\n 400,\n -40\n ],\n \"parameters\": {\n \"assignments\": {\n \"assignments\": [\n {\n \"id\": \"acb7e4d0-f718-4eae-8f50-0ca15c5c68e2\",\n \"name\": \"answer\",\n \"type\": \"string\",\n \"value\": \"={{ $json.output }}\"\n }\n ]\n },\n \"options\": {}\n },\n \"typeVersion\": 3.4\n }\n ],\n \"connections\": {\n \"Manual Trigger\": {\n \"main\": [\n [\n {\n \"node\": \"Window Buffer Memory\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n },\n \"Window Buffer Memory\": {\n \"main\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ],\n \"ai_memory\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_memory\",\n \"index\": 0\n }\n ]\n ]\n },\n \"GPT-4o Chat Model\": {\n \"ai_languageModel\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_languageModel\",\n \"index\": 0\n }\n ]\n ]\n },\n \"SerpAPI\": {\n \"ai_tool\": [\n [\n {\n \"node\": \"AI Agent\",\n \"type\": \"ai_tool\",\n \"index\": 0\n }\n ]\n ]\n },\n \"AI Agent\": {\n \"main\": [\n [\n {\n \"node\": \"Set Response\",\n \"type\": \"main\",\n \"index\": 0\n }\n ]\n ]\n }\n },\n \"active\": true,\n \"settings\": {\n \"executionOrder\": \"v1\"\n }\n }\n"
},
{
"content": "={{ $json.output }}"
}
]
}
},
"credentials": {
"openAiApi": {
"id": "1BZb0tEHsbNtfnre",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "afcb27aa-257f-4c9a-8cb2-d54f23123443",
"name": "代码",
"type": "n8n-nodes-base.code",
"position": [
-1160,
240
],
"parameters": {
"jsCode": "const items = $input.all();\nconst extractedJsons = items.map((item) => {\n const content = item?.json?.message?.content;\n const jsonStart = content.indexOf(\"```json\") + 7;\n const jsonEnd = content.indexOf(\"```\", jsonStart);\n const jsonContent = content.slice(jsonStart, jsonEnd);\n try {\n const parsedJson = JSON.parse(jsonContent);\n return { extractedJson: parsedJson };\n } catch (error) {\n console.log(\"Failed to parse JSON:\", error);\n return { extractedJson: null };\n }\n});\nreturn extractedJsons;\n"
},
"typeVersion": 2
},
{
"id": "8b7a4793-141f-499d-b52d-a397be147d12",
"name": "网络爬虫逻辑",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3940,
-1200
],
"parameters": {
"color": 6,
"width": 780,
"height": 340,
"content": "🕸️ **网络爬虫(子流程 #1)**"
},
"typeVersion": 1
},
{
"id": "ac612a9e-d148-4b24-a98a-c672de2177e8",
"name": "RAG 训练器逻辑",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3940,
-520
],
"parameters": {
"color": 6,
"width": 780,
"height": 320,
"content": "🧠 **RAG 训练器(子流程 #2)**"
},
"typeVersion": 1
},
{
"id": "b25bafe7-c25c-4b79-9e1b-0e9610f6f815",
"name": "代理构建器逻辑",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3940,
240
],
"parameters": {
"color": 6,
"width": 820,
"height": 520,
"content": "🤖 **AI 代理构建器(子流程 #3)**"
},
"typeVersion": 1
},
{
"id": "4d5e930d-1d9d-479d-a9fd-c57b8824b57c",
"name": "配置 Firecrawl",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3140,
-1200
],
"parameters": {
"color": 4,
"width": 660,
"height": 340,
"content": "⚙️ **Firecrawl API**"
},
"typeVersion": 1
},
{
"id": "2c058520-9532-4108-a514-9db857250cd0",
"name": "配置 Pinecone",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3140,
-520
],
"parameters": {
"color": 4,
"width": 660,
"height": 140,
"content": "⚙️ **Pinecone Vector Store**"
},
"typeVersion": 1
},
{
"id": "b8b327e6-069f-4dff-a5ce-6fed6e9a117d",
"name": "配置 OpenAI API",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3140,
-360
],
"parameters": {
"color": 4,
"width": 660,
"content": "⚙️ **OpenAI / Azure OpenAI**"
},
"typeVersion": 1
},
{
"id": "42784df1-903f-43d5-92ed-c25cf2df5323",
"name": "配置 OpenRouter GPT-4o",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3100,
240
],
"parameters": {
"color": 4,
"width": 620,
"height": 100,
"content": "⚙️ **OpenRouter API**"
},
"typeVersion": 1
},
{
"id": "debda5ff-2309-410a-a8f6-7e6fd011fdc1",
"name": "配置 SerpAPI",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3100,
360
],
"parameters": {
"color": 4,
"width": 620,
"height": 100,
"content": "⚙️ **SerpAPI 密钥**"
},
"typeVersion": 1
},
{
"id": "f2d27faa-06f4-42bf-882f-3ce35ad6f876",
"name": "配置 Pinecone1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3100,
480
],
"parameters": {
"color": 4,
"width": 620,
"height": 100,
"content": "⚙️ **Pinecone Vector Store**"
},
"typeVersion": 1
},
{
"id": "3b78511a-b49a-46cf-b3ca-6dba4a6d68cf",
"name": "配置 OpenAI API1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3100,
600
],
"parameters": {
"color": 4,
"width": 620,
"content": "⚙️ **OpenAI / Azure OpenAI**"
},
"typeVersion": 1
},
{
"id": "a802de97-238c-4f7f-9024-43d3fb14f7a8",
"name": "提取 JSON",
"type": "n8n-nodes-base.set",
"position": [
-920,
240
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "=\n {{ $json.extractedJson }}"
},
"typeVersion": 3.4
},
{
"id": "d67d0970-0f58-41f4-8d48-077247eb4b0a",
"name": "设置偏好",
"type": "n8n-nodes-base.set",
"position": [
-2320,
80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6905b43a-c181-4c14-a746-c4d82325cccf",
"name": "vector database",
"type": "string",
"value": "Pinecone"
},
{
"id": "cfe18b2f-051d-492d-bb63-dd91076bce68",
"name": "chat model",
"type": "string",
"value": "Open Router"
},
{
"id": "bb2d75ad-9544-4d48-b9d1-ddc2e5a124c1",
"name": "embedding",
"type": "string",
"value": "text-embedding-3-large"
},
{
"id": "1a763e6b-22df-477f-941b-4933231d636a",
"name": "web search tool",
"type": "string",
"value": "SerpAPI"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "392f160f-5ffd-4799-a63d-adc240b7f26a",
"name": "转换为 JSON 文件",
"type": "n8n-nodes-base.convertToFile",
"position": [
-720,
240
],
"parameters": {
"mode": "each",
"options": {
"format": true,
"encoding": "utf8",
"fileName": ""
},
"operation": "toJson",
"binaryPropertyName": "="
},
"typeVersion": 1.1
},
{
"id": "efc08c98-cb77-45f0-b824-de2a22dee2fc",
"name": "转换为文件",
"type": "n8n-nodes-base.convertToFile",
"position": [
-2320,
-540
],
"parameters": {
"options": {}
},
"typeVersion": 1.1
},
{
"id": "9ff243d3-1871-4634-b5a6-dd9a745a7a84",
"name": "设置 URL",
"type": "n8n-nodes-base.set",
"position": [
-2100,
-1060
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "60871e95-afba-4ff9-ba56-315ae39cd6f9",
"name": "URL",
"type": "string",
"value": "https://api.firecrawl.dev/v1/crawl/6cd9b912-bf11-498d-8f31-197aaf8efa1c"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "03e4cd15-b458-4601-a9d4-c365a27e846e",
"name": "递归字符文本分割器",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
-1980,
-240
],
"parameters": {
"options": {}
},
"typeVersion": 1
}
],
"active": false,
"pinData": {
"Extract": [
{
"json": {
"id": "6cd9b912-bf11-498d-8f31-197aaf8efa1c",
"url": "https://api.firecrawl.dev/v1/crawl/6cd9b912-bf11-498d-8f31-197aaf8efa1c",
"success": true
}
}
],
"Get Results": [
{
"json": {
"data": [
{
"markdown": "[Skip to content](https://docs.n8n.io/#welcome-to-n8n-docs)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/index.md \"Edit this page\")\n\n# Welcome to n8n Docs [\\#](https://docs.n8n.io/\\#welcome-to-n8n-docs \"Permanent link\")\n\nThis is the documentation for [n8n](https://n8n.io/), a [fair-code](https://faircode.io/) licensed workflow automation tool that combines AI capabilities with business process automation.\n\nIt covers everything from setup to usage and development. It's a work in progress and all [contributions](https://docs.n8n.io/help-community/contributing/) are welcome.\n\n## Where to start [\\#](https://docs.n8n.io/\\#where-to-start \"Permanent link\")\n\n- **Quickstarts**\n\nJump in with n8n's quickstart guides.\n\n[Try it out](https://docs.n8n.io/try-it-out/)\n\n- **Choose the right n8n for you**\n\nCloud, npm, self-host . . .\n\n[Options](https://docs.n8n.io/choose-n8n/)\n\n- **Explore integrations**\n\nBrowse n8n's integrations library.\n\n[Find your apps](https://docs.n8n.io/integrations/)\n\n- **Build AI functionality**\n\nn8n supports building AI functionality and tools.\n\n[Advanced AI](https://docs.n8n.io/advanced-ai/)\n\n\n## About n8n [\\#](https://docs.n8n.io/\\#about-n8n \"Permanent link\")\n\nn8n (pronounced n-eight-n) helps you to connect any app with an API with any other, and manipulate its data with little or no code.\n\n- Customizable: highly flexible workflows and the option to build custom nodes.\n- Convenient: use the npm or Docker to try out n8n, or the Cloud hosting option if you want us to handle the infrastructure.\n- Privacy-focused: self-host n8n for privacy and security.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/",
"title": "Explore n8n Docs: Your Resource for Workflow Automation and Integrations | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "fb8c2d1e-1e2c-4cd8-8718-c9b769537c6a",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Access n8n Docs for comprehensive guides on workflow automation and integrations. Learn how to integrate apps and enhance your automation capabilities.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/manage-cloud/update-cloud-version/#update-your-cloud-version)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/manage-cloud/update-cloud-version.md \"Edit this page\")\n\n# Update your Cloud version [\\#](https://docs.n8n.io/manage-cloud/update-cloud-version/\\#update-your-cloud-version \"Permanent link\")\n\nn8n recommends regularly updating your Cloud version. Check the [Release notes](https://docs.n8n.io/release-notes/) to learn more about changes.\n\nInfo\n\nOnly instance owners can upgrade n8n Cloud versions. Contact your instance owner if you don't have permission to update n8n Cloud.\n\n1. [Log in to the n8n Cloud dashboard](https://app.n8n.cloud/manage)\n2. On your dashboard, select **Manage**.\n3. Use the **n8n version** dropdown to select your preferred release version:\n - Latest Stable: recommended for most users.\n - Latest Beta: get the newest n8n. This may be unstable.\n4. Select **Save Changes** to restart your n8n instance and perform the update.\n5. In the confirmation modal, select **Confirm**.\n\n## Best practices for updating [\\#](https://docs.n8n.io/manage-cloud/update-cloud-version/\\#best-practices-for-updating \"Permanent link\")\n\n- Update frequently: this avoids having to jump multiple versions at once, reducing the risk of a disruptive update. Try to update at least once a month.\n- Check the [Release notes](https://docs.n8n.io/release-notes/) for breaking changes.\n- Use [Environments](https://docs.n8n.io/source-control-environments/) to create a test version of your instance. Test the update there first.\n\n## Automatic update [\\#](https://docs.n8n.io/manage-cloud/update-cloud-version/\\#automatic-update \"Permanent link\")\n\nn8n automatically updates outdated Cloud instances.\n\nIf you don't update you instance for 120 days, n8n emails you to warn you to update. After a further 30 days, n8n automatically updates your instance.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/manage-cloud/update-cloud-version/",
"title": "Update your n8n Cloud version | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "02417d97-8002-4885-975f-4cba613fce74",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/manage-cloud/update-cloud-version/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "How to update your n8n version on Cloud.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations/#google-sheets-document-operations)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations.md \"Edit this page\")\n\n# Google Sheets Document operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations/\\#google-sheets-document-operations \"Permanent link\")\n\nUse this operation to create or delete a Google spreadsheet from Google Sheets. Refer to [Google Sheets](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/) for more information on the Google Sheets node itself.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/).\n\n## Create a spreadsheet [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations/\\#create-a-spreadsheet \"Permanent link\")\n\nUse this operation to create a new spreadsheet.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Google Sheets credentials](https://docs.n8n.io/integrations/builtin/credentials/google/).\n- **Resource**: Select **Document**.\n- **Operation**: Select **Create**.\n- **Title**: Enter the title of the new spreadsheet you want to create.\n- **Sheets**: Add the **Title(s)** of the sheet(s) you want to create within the spreadsheet.\n\n### Options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations/\\#options \"Permanent link\")\n\n- **Locale**: Enter the locale of the spreadsheet. This affects formatting details such as functions, dates, and currency. Use one of the following formats:\n - `en` (639-1)\n - `fil` (639-2 if no 639-1 format exists)\n - `en_US` (combination of ISO language and country).\n - Refer to [List of ISO 639 language codes](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) and [List of ISO 3166 country codes](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) for language and country codes. Note that Google doesn't support all locales/languages.\n- **Recalculation Interval**: Enter the desired recalculation interval for the spreadsheet functions. This affects how often `NOW`, `TODAY`, `RAND`, and `RANDBETWEEN` are updated. Select **On Change** for recalculating whenever there is a change in the spreadsheet, **Minute** for recalculating every minute, or **Hour** for recalculating every hour. Refer to [Set a spreadsheet’s location & calculation settings](https://support.google.com/docs/answer/58515) for more information about these options.\n\nRefer to the [Method: spreadsheets.create \\| Google Sheets](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/create) API documentation for more information.\n\n## Delete a spreadsheet [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations/\\#delete-a-spreadsheet \"Permanent link\")\n\nUse this operation to delete an existing spreadsheet.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Google Sheets credentials](https://docs.n8n.io/integrations/builtin/credentials/google/).\n- **Resource**: Select **Document**.\n- **Operation**: Select **Delete**.\n- **Document**: Choose a spreadsheet you want to delete.\n - Select **From list** to choose the title from the dropdown list, **By URL** to enter the url of the spreadsheet, or **By ID** to enter the `spreadsheetId`.\n - You can find the `spreadsheetId` in a Google Sheets URL: `https://docs.google.com/spreadsheets/d/spreadsheetId/edit#gid=0`.\n\nRefer to the [Method: files.delete \\| Google Drive](https://developers.google.com/drive/api/reference/rest/v2/files/delete) API documentation for more information.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations/",
"title": "Google Sheets Document operations | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "028c62b0-10ad-4132-9968-7dd0e1dd629a",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlesheets/document-operations/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Documentation for the Document operations in Google Sheets node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/#wait)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/core-nodes/n8n-nodes-base.wait.md \"Edit this page\")\n\n# Wait [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#wait \"Permanent link\")\n\nUse the Wait node pause your workflow's execution. When the workflow pauses it offloads the execution data to the database. When the resume condition is met, the workflow reloads the data and the execution continues.\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#operations \"Permanent link\")\n\nThe Wait node can **Resume** on the following conditions:\n\n- [**After Time Interval**](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/#after-time-interval): The node waits for a certain amount of time.\n- [**At Specified Time**](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/#at-specified-time): The node waits until a specific time.\n- [**On Webhook Call**](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/#on-webhook-call): The node waits until it receives an HTTP call.\n- [**On Form Submitted**](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/#on-form-submitted): The node waits until it receives a form submission.\n\nRefer to the more detailed sections below for more detailed instructions.\n\n### After Time Interval [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#after-time-interval \"Permanent link\")\n\nWait for a certain amount of time.\n\nThis parameter includes two more fields:\n\n- **Wait Amount**: Enter the amount of time to wait.\n- **Wait Unit**: Select the unit of measure for the **Wait Amount**. Choose from:\n - **Seconds**\n - **Minutes**\n - **Hours**\n - **Days**\n\nRefer to [Time-based operations](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/#time-based-operations) for more detail on how these intervals work and the timezone used.\n\n### At Specified Time [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#at-specified-time \"Permanent link\")\n\nWait until a specific date and time to continue. Use the date and time picker to set the **Date and Time**.\n\nRefer to [Time-based operations](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/#time-based-operations) for more detail on the timezone used.\n\n### On Webhook Call [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#on-webhook-call \"Permanent link\")\n\nThis parameter enables your workflows to resume when the Wait node receives an HTTP call.\n\nThe webhook URL that resumes the execution when called is generated at runtime. The Wait node provides the `$execution.resumeUrl` variable so that you can reference and send the yet-to-be-generated URL wherever needed, for example to a third-party service or in an email.\n\nWhen the workflow executes, the Wait node generates the resume URL and the webhook(s) in your workflow using the `$execution.resumeUrl`. This generated URL is unique to each execution, so your workflow can contain multiple Wait nodes and as the webhook URL is called it will resume each Wait node sequentially.\n\nFor this **Resume** style, set more parameters listed below.\n\n#### Authentication [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#authentication \"Permanent link\")\n\nSelect if and how incoming resume-webhook-requests to `$execution.resumeUrl` should be authenticated. Options include:\n\n- **Basic Auth**: Use basic authentication. Select or enter a new **Credential for Basic Auth** to use.\n- **Header Auth**: Use header authentication. Select or enter a new **Credential for Header Auth** to use.\n- **JWT Auth**: Use JWT authentication. Select or enter a new **Credential for JWT Auth** to use.\n- **None**: Don't use authentication.\n\nAuth reference\n\nRefer to the [Webhook node \\| Authentication documentation](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/#supported-authentication-methods) for more information on each auth type.\n\n#### HTTP Method [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#http-method \"Permanent link\")\n\nSelect the HTTP method the webhook should use. Refer to the [Webhook node \\| HTTP Method documentation](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.webhook/#http-method) for more information.\n\n#### Response Code [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#response-code \"Permanent link\")\n\nEnter the Response Code the webhook should return. You can use common codes or enter a custom code.\n\n#### Respond [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#respond \"Permanent link\")\n\nSet when and how to respond to the webhook from these options:\n\n- **Immediately**: Respond as soon as the node executes.\n- **When Last Node Finishes**: Return the response code and the data output from the last node executed in the workflow. If you select this option, also set:\n - **Response Data**: Select what data should be returned and what format to use. Options include:\n - **All Entries**: Returns all the entries of the last node in an array.\n - **First Entry JSON**: Return the JSON data of the first entry of the last node in a JSON object.\n - **First Entry Binary**: Return the binary data of the first entry of the last node in a binary file.\n - **No Response Body**: Return with no body.\n- **Using 'Respond to Webhook' Node**: Respond as defined in the [Respond to Webhook](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook/) node.\n\n#### Limit Wait Time [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#limit-wait-time \"Permanent link\")\n\nSet whether the workflow will automatically resume execution after a specific limit type (turned on) or not (turned off). If turned on, also set:\n\n- **Limit Type**: Select what type of limit to enforce from these options:\n - **After Time Interval**: Wait for a certain amount of time.\n - Enter the limit's **Amount** of time.\n - Select the limit's **Unit** of time.\n - **At Specified Time**: Wait until a specific date and time to resume.\n - **Max Date and Time**: Use the date and time picker to set the specified time the node should resume.\n\n#### On Webhook Call options [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#on-webhook-call-options \"Permanent link\")\n\n- **Binary Property**: Enter the name of the binary property to write the data of the received file to. This option's only relevant if binary data is received.\n- **Ignore Bots**: Set whether to ignore requests from bots like link previewers and web crawlers (turned on) or not (turned off).\n- **IP(s) Whitelist**: Enter IP addresses here to limit who (or what) can invoke the webhook URL. Enter a comma-separated list of allowed IP addresses. Access from IPs outside the whitelist throws a 403 error. If left blank, all IP addresses can invoke the webhook URL.\n- **No Response Body**: Set whether n8n should send a body in the response (turned off) or prevent n8n from sending a body in the response (turned on).\n- **Raw Body**: Set whether to return the body in a raw format like JSON or XML (turned on) or not (turned off).\n- **Response Data**: Enter any custom data you want to send in the response.\n- **Response Headers**: Send more headers in the webhook response. Refer to [MDN Web Docs \\| Response header](https://developer.mozilla.org/en-US/docs/Glossary/Response_header) to learn more about response headers.\n- **Webhook Suffix**: Enter a suffix to append to the resume URL. This is useful for creating unique webhook URLs for each Wait node when a workflow contains multiple Wait nodes. Note that the generated `$resumeWebhookUrl` won't automatically include this suffix, you must manually append it to the webhook URL before exposing it.\n\n#### On Webhook Call limitations [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#on-webhook-call-limitations \"Permanent link\")\n\nThere are some limitations to keep in mind when using On Webhook Call:\n\n- Partial executions of your workflow changes the `$resumeWebhookUrl`, so be sure that the node sending this URL to your desired third-party runs in the same execution as the Wait node.\n\n### On Form Submitted [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#on-form-submitted \"Permanent link\")\n\nWait for a form submission before continuing. Set up these parameters:\n\n#### Form Title [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#form-title \"Permanent link\")\n\nEnter the title to display at the top of the form.\n\n#### Form Description [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#form-description \"Permanent link\")\n\nEnter a form description to display beneath the title. This description can help prompt the user on how to complete the form.\n\n#### Form Fields [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#form-fields \"Permanent link\")\n\nSet up each field you want to appear on your form using these parameters:\n\n- **Field Label**: Enter the field label you want to appear in the form.\n- **Field Type**: Select the type of field to display in the form. Choose from:\n - **Date**\n - **Dropdown List**: Enter each dropdown options in the **Field Options**.\n - **Multiple Choice**: Select whether the user can select a single dropdown option (turned off) or multiple dropdown options (turned on)\n - **Number**\n - **Password**\n - **Text**\n - **Textarea**\n- **Required Field**: Set whether the user must complete this field in order to submit the form (turned on) or if the user can submit the form without completing it (turned off).\n\n#### Respond When [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#respond-when \"Permanent link\")\n\nSet when to respond to the form submission. Choose from:\n\n- **Form Is Submitted**: Respond as soon as this node receives the form submission.\n- **Workflow Finishes**: Respond when the last node of this workflow finishes.\n- **Using 'Respond to Webhook' Node**: Respond when the [Respond to Webhook](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.respondtowebhook/) node executes.\n\n#### Limit Wait Time [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#limit-wait-time_1 \"Permanent link\")\n\nSet whether the workflow will automatically resume execution after a specific limit type (turned on) or not (turned off).\n\nIf turned on, also set:\n\\\\* **Limit Type**: Select what type of limit to enforce from these options:\n\\\\* **After Time Interval**: Wait for a certain amount of time.\n\\\\* Enter the limit's **Amount** of time.\n\\\\* Select the limit's **Unit** of time.\n\\\\* **At Specified Time**: Wait until a specific date and time to resume.\n\\\\* **Max Date and Time**: Use the date and time picker to set the specified time the node should resume.\n\n#### On Form Response options [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#on-form-response-options \"Permanent link\")\n\n- **Form Response**: Choose how and what you want the form to **Respond With** from these options:\n - **Form Submitted Text**: The form displays whatever text is entered in **Text to Show** after a user fills out the form. Use this option if you want to display a confirmation message.\n - **Redirect URL**: The form will redirect the user to the **URL to Redirect to** after they fill out the form. This must be a valid URL.\n- **Webhook Suffix**: Enter a suffix to append to the resume URL. This is useful for creating unique webhook URLs for each Wait node when a workflow contains multiple Wait nodes. Note that the generated `$resumeWebhookUrl` won't automatically include this suffix, you must manually append it to the webhook URL before exposing it.\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#templates-and-examples \"Permanent link\")\n\n**Scrape business emails from Google Maps without the use of any third party APIs**\n\nby Akram Kadri\n\n[View template details](https://n8n.io/workflows/2567-scrape-business-emails-from-google-maps-without-the-use-of-any-third-party-apis/)\n\n**Fully Automated AI Video Generation & Multi-Platform Publishing**\n\nby Juan Carlos Cavero Gracia\n\n[View template details](https://n8n.io/workflows/3442-fully-automated-ai-video-generation-and-multi-platform-publishing/)\n\n**Respond to WhatsApp Messages with AI Like a Pro!**\n\nby Jimleuk\n\n[View template details](https://n8n.io/workflows/2466-respond-to-whatsapp-messages-with-ai-like-a-pro/)\n\n[Browse Wait integration templates](https://n8n.io/integrations/wait/), or [search all templates](https://n8n.io/workflows/)\n\n## Time-based operations [\\#](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/\\#time-based-operations \"Permanent link\")\n\nFor the time-based resume operations, note that:\n\n- For wait times less than 65 seconds, the workflow doesn't offload execution data to the database. Instead, the process continues to run and the execution resumes after the specified interval passes.\n- The n8n server time is always used regardless of the timezone setting. Workflow timezone settings, and any changes made to them, don't affect the Wait node interval or specified time.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/",
"title": "Wait | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "03e2002e-d504-46af-8bcd-d8d9b44bf620",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.wait/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Documentation for the Wait node in n8n, a workflow automation platform. Includes guidance on usage, and links to examples.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.rundeck/#rundeck-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.rundeck.md \"Edit this page\")\n\n# Rundeck node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.rundeck/\\#rundeck-node \"Permanent link\")\n\nUse the Rundeck node to automate work in Rundeck, and integrate Rundeck with other applications. n8n has built-in support for executing jobs and getting metadata.\n\nOn this page, you'll find a list of operations the Rundeck node supports and links to more resources.\n\nCredentials\n\nRefer to [Rundeck credentials](https://docs.n8n.io/integrations/builtin/credentials/rundeck/) for guidance on setting up authentication.\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.rundeck/\\#operations \"Permanent link\")\n\n- **Job**\n - Execute a job\n - Get metadata of a job\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.rundeck/\\#templates-and-examples \"Permanent link\")\n\n[Browse Rundeck integration templates](https://n8n.io/integrations/rundeck/), or [search all templates](https://n8n.io/workflows/)\n\n## What to do if your operation isn't supported [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.rundeck/\\#what-to-do-if-your-operation-isnt-supported \"Permanent link\")\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** \\> **Predefined Credential Type**.\n2. Select the service you want to connect to.\n3. Select your credential.\n\nRefer to [Custom API operations](https://docs.n8n.io/integrations/custom-operations/) for more information.\n\n## Find the job ID [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.rundeck/\\#find-the-job-id \"Permanent link\")\n\n1. Access your Rundeck dashboard.\n2. Open the project that contains the job you want to use with n8n.\n3. In the sidebar, select **JOBS**.\n4. Under **All Jobs**, select the name of the job you want to use with n8n.\n5. In the top left corner, under the name of the job, copy the string that's displayed in smaller font below the job name. This is your job ID.\n6. Paste this job ID in the **Job Id** field in n8n.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.rundeck/",
"title": "Rundeck node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "04baa8aa-a85a-497a-b2e0-c959e27616af",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.rundeck/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the Rundeck node in n8n. Follow technical documentation to integrate Rundeck node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.splunk/#splunk-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.splunk.md \"Edit this page\")\n\n# Splunk node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.splunk/\\#splunk-node \"Permanent link\")\n\nUse the Splunk node to automate work in Splunk, and integrate Splunk with other applications. n8n has built-in support for a wide range of Splunk features, including getting fired alerts reports, as well as deleting and getting search configuration.\n\nOn this page, you'll find a list of operations the Splunk node supports and links to more resources.\n\nCredentials\n\nRefer to [Splunk credentials](https://docs.n8n.io/integrations/builtin/credentials/splunk/) for guidance on setting up authentication.\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.splunk/\\#operations \"Permanent link\")\n\n- Fired Alert\n - Get a fired alerts report\n- Search Configuration\n - Delete a search configuration\n - Get a search configuration\n - Get many search configurations\n- Search Job\n - Create a search job\n - Delete a search job\n - Get a search job\n - Get many search jobs\n- Search Result\n - Get many search results\n- User\n - Create a user\n - Delete a user\n - Get a user\n - Get many users\n - Update a user\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.splunk/\\#templates-and-examples \"Permanent link\")\n\n[Browse Splunk integration templates](https://n8n.io/integrations/splunk/), or [search all templates](https://n8n.io/workflows/)\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.splunk/",
"title": "Splunk node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0543f5da-daab-463d-af79-1c1564443aeb",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.splunk/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the Splunk node in n8n. Follow technical documentation to integrate Splunk node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/courses/level-one/chapter-3/#automating-a-real-world-use-case)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/courses/level-one/chapter-3.md \"Edit this page\")\n\n# Automating a (Real-world) Use Case [\\#](https://docs.n8n.io/courses/level-one/chapter-3/\\#automating-a-real-world-use-case \"Permanent link\")\n\nMeet Nathan 🙋. Nathan works as an Analytics Manager at ABCorp. His job is to support the ABCorp team with reporting and analytics. Being a true jack of all trades, he also handles several miscellaneous initiatives.\n\nSome things that Nathan does are repetitive and mind-numbing. He wants to automate some of these tasks so that he doesn't burn out. As an **Automation Expert**, you are meeting with Nathan today to help him understand how he can offload some of his responsibilities to n8n.\n\n## Understanding the scenario [\\#](https://docs.n8n.io/courses/level-one/chapter-3/\\#understanding-the-scenario \"Permanent link\")\n\n**You 👩🔧:** Nice to meet you, Nathan. Glad to be doing this! What's a repetitive task that's error-prone and that you'd like to get off your plate first?\n\n**Nathan 🙋:** Thanks for coming in! The most annoying one's gotta be the weekly sales reporting.\n\nI have to collect sales data from our legacy data warehouse, which manages data from the main business processes of an organization, such as sales or production. Now, each sales order can have the status Processing or Booked. I have to calculate the sum of all the Booked orders and announce them in the company Discord every Monday. Then I have to create a spreadsheet of all the Processing sales so that the Sales Managers can review them and check if they need to follow up with customers.\n\nThis manual work is tough and requires high attention to detail to make sure that all the numbers are right. Inevitably, I lose my focus and mistype a number or I don't get it done on time. I've been criticized once by my manager for miscalculating the data.\n\n**You 👩🔧:** Oh no! Doesn't the data warehouse have a way to export the data?\n\n**Nathan 🙋:** The data warehouse was written in-house ages ago. It doesn't have a CSV export but they recently added a couple of API endpoints that expose this data, if that helps.\n\n**You 👩🔧:** Perfect! That's a good start. If you have a generic API, we can add some custom code and a couple of services to make an automated workflow. This gig has n8n written all over it. Let's get started!\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/courses/level-one/chapter-3/",
"title": "Automating a (real-world) use case | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0715ecec-3b92-4dab-bdcd-508582245108",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/courses/level-one/chapter-3/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Documentation for n8n, a workflow automation platform.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.customerio/#customerio-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.customerio.md \"Edit this page\")\n\n# Customer.io node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.customerio/\\#customerio-node \"Permanent link\")\n\nUse the Customer.io node to automate work in Customer.io, and integrate Customer.io with other applications. n8n has built-in support for a wide range of Customer.io features, including creating and updating customers, tracking events, and getting campaigns.\n\nOn this page, you'll find a list of operations the Customer.io node supports and links to more resources.\n\nCredentials\n\nRefer to [Customer.io credentials](https://docs.n8n.io/integrations/builtin/credentials/customerio/) for guidance on setting up authentication.\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.customerio/\\#operations \"Permanent link\")\n\n- Customer\n - Create/Update a customer.\n - Delete a customer.\n- Event\n - Track a customer event.\n - Track an anonymous event.\n- Campaign\n - Get\n - Get All\n - Get Metrics\n- Segment\n - Add Customer\n - Remove Customer\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.customerio/\\#templates-and-examples \"Permanent link\")\n\n[Browse Customer.io integration templates](https://n8n.io/integrations/customerio/), or [search all templates](https://n8n.io/workflows/)\n\n## What to do if your operation isn't supported [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.customerio/\\#what-to-do-if-your-operation-isnt-supported \"Permanent link\")\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** \\> **Predefined Credential Type**.\n2. Select the service you want to connect to.\n3. Select your credential.\n\nRefer to [Custom API operations](https://docs.n8n.io/integrations/custom-operations/) for more information.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.customerio/",
"title": "Customer.io node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "074e2b8c-1082-4805-a806-181e74650ee6",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.customerio/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the Customer.io node in n8n. Follow technical documentation to integrate Customer.io node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty/#pagerduty-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty.md \"Edit this page\")\n\n# PagerDuty node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty/\\#pagerduty-node \"Permanent link\")\n\nUse the PagerDuty node to automate work in PagerDuty, and integrate PagerDuty with other applications. n8n has built-in support for a wide range of PagerDuty features, including creating incident notes, as well as updating, and getting all log entries and users.\n\nOn this page, you'll find a list of operations the PagerDuty node supports and links to more resources.\n\nCredentials\n\nRefer to [PagerDuty credentials](https://docs.n8n.io/integrations/builtin/credentials/pagerduty/) for guidance on setting up authentication.\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty/\\#operations \"Permanent link\")\n\n- Incident\n - Create an incident\n - Get an incident\n - Get all incidents\n - Update an incident\n- Incident Note\n - Create an incident note\n - Get all incident's notes\n- Log Entry\n - Get a log entry\n - Get all log entries\n- User\n - Get a user\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty/\\#templates-and-examples \"Permanent link\")\n\n**Manage custom incident response in PagerDuty and Jira**\n\nby tanaypant\n\n[View template details](https://n8n.io/workflows/353-manage-custom-incident-response-in-pagerduty-and-jira/)\n\n**Incident Response Workflow - Part 3**\n\nby tanaypant\n\n[View template details](https://n8n.io/workflows/355-incident-response-workflow-part-3/)\n\n**Incident Response Workflow - Part 2**\n\nby tanaypant\n\n[View template details](https://n8n.io/workflows/354-incident-response-workflow-part-2/)\n\n[Browse PagerDuty integration templates](https://n8n.io/integrations/pagerduty/), or [search all templates](https://n8n.io/workflows/)\n\n## What to do if your operation isn't supported [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty/\\#what-to-do-if-your-operation-isnt-supported \"Permanent link\")\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** \\> **Predefined Credential Type**.\n2. Select the service you want to connect to.\n3. Select your credential.\n\nRefer to [Custom API operations](https://docs.n8n.io/integrations/custom-operations/) for more information.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty/",
"title": "PagerDuty node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "07be3348-ea24-4d34-aa1e-2bc0bdba60cd",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.pagerduty/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the PagerDuty node in n8n. Follow technical documentation to integrate PagerDuty node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleslides/#google-slides-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.googleslides.md \"Edit this page\")\n\n# Google Slides node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleslides/\\#google-slides-node \"Permanent link\")\n\nUse the Google Slides node to automate work in Google Slides, and integrate Google Slides with other applications. n8n has built-in support for a wide range of Google Slides features, including creating presentations, and getting pages.\n\nOn this page, you'll find a list of operations the Google Slides node supports and links to more resources.\n\nCredentials\n\nRefer to [Google credentials](https://docs.n8n.io/integrations/builtin/credentials/google/) for guidance on setting up authentication.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/).\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleslides/\\#operations \"Permanent link\")\n\n- Page\n - Get a page\n - Get a thumbnail\n- Presentation\n - Create a presentation\n - Get a presentation\n - Get presentation slides\n - Replace text in a presentation\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleslides/\\#templates-and-examples \"Permanent link\")\n\n**Dynamically replace images in Google Slides via API**\n\nby Emmanuel Bernard\n\n[View template details](https://n8n.io/workflows/2244-dynamically-replace-images-in-google-slides-via-api/)\n\n**Get all the slides from a presentation and get thumbnails of pages**\n\nby Harshil Agrawal\n\n[View template details](https://n8n.io/workflows/1035-get-all-the-slides-from-a-presentation-and-get-thumbnails-of-pages/)\n\n**Export new deals from HubSpot to Slack and Airtable**\n\nby Lorena\n\n[View template details](https://n8n.io/workflows/1225-export-new-deals-from-hubspot-to-slack-and-airtable/)\n\n[Browse Google Slides integration templates](https://n8n.io/integrations/google-slides/), or [search all templates](https://n8n.io/workflows/)\n\n## What to do if your operation isn't supported [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleslides/\\#what-to-do-if-your-operation-isnt-supported \"Permanent link\")\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** \\> **Predefined Credential Type**.\n2. Select the service you want to connect to.\n3. Select your credential.\n\nRefer to [Custom API operations](https://docs.n8n.io/integrations/custom-operations/) for more information.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleslides/",
"title": "Google Slides node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "09d525a9-0b42-401a-830a-11e505d95a9d",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googleslides/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the Google Slides node in n8n. Follow technical documentation to integrate Google Slides node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#postgres-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.postgres/index.md \"Edit this page\")\n\n# Postgres node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#postgres-node \"Permanent link\")\n\nUse the Postgres node to automate work in Postgres, and integrate Postgres with other applications. n8n has built-in support for a wide range of Postgres features, including executing queries, as well as inserting and updating rows in a database.\n\nOn this page, you'll find a list of operations the Postgres node supports and links to more resources.\n\nCredentials\n\nRefer to [Postgres credentials](https://docs.n8n.io/integrations/builtin/credentials/postgres/) for guidance on setting up authentication.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/).\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#operations \"Permanent link\")\n\n- [**Delete**](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#delete): Delete an entire table or rows in a table\n- [**Execute Query**](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#execute-query): Execute an SQL query\n- [**Insert**](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#insert): Insert rows in a table\n- [**Insert or Update**](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#insert-or-update): Insert or update rows in a table\n- [**Select**](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#select): Select rows from a table\n- [**Update**](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#update): Update rows in a table\n\n### Delete [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#delete \"Permanent link\")\n\nUse this operation to delete an entire table or rows in a table.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Postgres credential](https://docs.n8n.io/integrations/builtin/credentials/postgres/).\n- **Operation**: Select **Delete**.\n- **Schema**: Choose the schema that contains the table you want to work on. Select **From list** to choose the schema from the dropdown list or **By Name** to enter the schema name.\n- **Table**: Choose the table that you want to work on. Select **From list** to choose the table from the dropdown list or **By Name** to enter the table name.\n- **Command**: The deletion action to take:\n - **Truncate**: Removes the table's data but preserves the table's structure.\n - **Restart Sequences**: Whether to reset auto increment columns to their initial values as part of the Truncate process.\n - **Delete**: Delete the rows that match the \"Select Rows\" condition. If you don't select anything, Postgres deletes all rows.\n - **Select Rows**: Define a **Column**, **Operator**, and **Value** to match rows on.\n - **Combine Conditions**: How to combine the conditions in \"Select Rows\". **AND** requires all conditions to be true, while **OR** requires at least one condition to be true.\n - **Drop**: Deletes the table's data and structure permanently.\n\n#### Delete options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#delete-options \"Permanent link\")\n\n- **Cascade**: Whether to also drop all objects that depend on the table, like views and sequences. Available if using **Truncate** or **Drop** commands.\n- **Connection Timeout**: The number of seconds to try to connect to the database.\n- **Delay Closing Idle Connection**: The number of seconds to wait before considering idle connections eligible for closing.\n- **Query Batching**: The way to send queries to the database:\n - **Single Query**: A single query for all incoming items.\n - **Independently**: Execute one query per incoming item of the execution.\n - **Transaction**: Execute all queries in a transaction. If a failure occurs, Postgres rolls back all changes.\n- **Output Large-Format Numbers As**: The format to output `NUMERIC` and `BIGINT` columns as:\n - **Numbers**: Use this for standard numbers.\n - **Text**: Use this if you expect numbers longer than 16 digits. Without this, numbers may be incorrect.\n\n### Execute Query [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#execute-query \"Permanent link\")\n\nUse this operation to execute an SQL query.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Postgres credential](https://docs.n8n.io/integrations/builtin/credentials/postgres/).\n- **Operation**: Select **Execute Query**.\n- **Query**: The SQL query to execute. You can use n8n [expressions](https://docs.n8n.io/code/expressions/) and tokens like `$1`, `$2`, and `$3` to build [prepared statements](https://www.postgresql.org/docs/current/sql-prepare.html) to use with [query parameters](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters).\n\n#### Execute Query options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#execute-query-options \"Permanent link\")\n\n- **Connection Timeout**: The number of seconds to try to connect to the database.\n- **Delay Closing Idle Connection**: The number of seconds to wait before considering idle connections eligible for closing.\n- **Query Batching**: The way to send queries to the database:\n - **Single Query**: A single query for all incoming items.\n - **Independently**: Execute one query per incoming item of the execution.\n - **Transaction**: Execute all queries in a transaction. If a failure occurs, Postgres rolls back all changes.\n- **Query Parameters**: A comma-separated list of values that you want to use as [query parameters](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/#use-query-parameters).\n- **Output Large-Format Numbers As**: The format to output `NUMERIC` and `BIGINT` columns as:\n - **Numbers**: Use this for standard numbers.\n - **Text**: Use this if you expect numbers longer than 16 digits. Without this, numbers may be incorrect.\n- **Replace Empty Strings with NULL**: Whether to replace empty strings with NULL in input. This may be useful when working with data exported from spreadsheet software.\n\n### Insert [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#insert \"Permanent link\")\n\nUse this operation to insert rows in a table.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Postgres credential](https://docs.n8n.io/integrations/builtin/credentials/postgres/).\n- **Operation**: Select **Insert**.\n- **Schema**: Choose the schema that contains the table you want to work on. Select **From list** to choose the schema from the dropdown list or **By Name** to enter the schema name.\n- **Table**: Choose the table that you want to work on. Select **From list** to choose the table from the dropdown list or **By Name** to enter the table name.\n- **Mapping Column Mode**: How to map column names to incoming data:\n - **Map Each Column Manually**: Select the values to use for each column.\n - **Map Automatically**: Automatically map incoming data to matching column names in Postgres. The incoming data field names must match the column names in Postgres for this to work. If necessary, consider using the [edit fields (set) node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/) before this node to adjust the format as needed.\n\n#### Insert options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#insert-options \"Permanent link\")\n\n- **Connection Timeout**: The number of seconds to try to connect to the database.\n- **Delay Closing Idle Connection**: The number of seconds to wait before considering idle connections eligible for closing.\n- **Query Batching**: The way to send queries to the database:\n - **Single Query**: A single query for all incoming items.\n - **Independently**: Execute one query per incoming item of the execution.\n - **Transaction**: Execute all queries in a transaction. If a failure occurs, Postgres rolls back all changes.\n- **Output Columns**: Choose which columns to output. You can select from a list of available columns or specify IDs using [expressions](https://docs.n8n.io/code/expressions/).\n- **Output Large-Format Numbers As**: The format to output `NUMERIC` and `BIGINT` columns as:\n - **Numbers**: Use this for standard numbers.\n - **Text**: Use this if you expect numbers longer than 16 digits. Without this, numbers may be incorrect.\n- **Skip on Conflict**: Whether to skip the row if the insert violates a unique or exclusion constraint instead of throwing an error.\n- **Replace Empty Strings with NULL**: Whether to replace empty strings with NULL in input. This may be useful when working with data exported from spreadsheet software.\n\n### Insert or Update [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#insert-or-update \"Permanent link\")\n\nUse this operation to insert or update rows in a table.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Postgres credential](https://docs.n8n.io/integrations/builtin/credentials/postgres/).\n- **Operation**: Select **Insert or Update**.\n- **Schema**: Choose the schema that contains the table you want to work on. Select **From list** to choose the schema from the dropdown list or **By Name** to enter the schema name.\n- **Table**: Choose the table that you want to work on. Select **From list** to choose the table from the dropdown list or **By Name** to enter the table name.\n- **Mapping Column Mode**: How to map column names to incoming data:\n - **Map Each Column Manually**: Select the values to use for each column.\n - **Map Automatically**: Automatically map incoming data to matching column names in Postgres. The incoming data field names must match the column names in Postgres for this to work. If necessary, consider using the [edit fields (set) node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/) before this node to adjust the format as needed.\n\n#### Insert or Update options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#insert-or-update-options \"Permanent link\")\n\n- **Connection Timeout**: The number of seconds to try to connect to the database.\n- **Delay Closing Idle Connection**: The number of seconds to wait before considering idle connections eligible for closing.\n- **Query Batching**: The way to send queries to the database:\n - **Single Query**: A single query for all incoming items.\n - **Independently**: Execute one query per incoming item of the execution.\n - **Transaction**: Execute all queries in a transaction. If a failure occurs, Postgres rolls back all changes.\n- **Output Columns**: Choose which columns to output. You can select from a list of available columns or specify IDs using [expressions](https://docs.n8n.io/code/expressions/).\n- **Output Large-Format Numbers As**: The format to output `NUMERIC` and `BIGINT` columns as:\n - **Numbers**: Use this for standard numbers.\n - **Text**: Use this if you expect numbers longer than 16 digits. Without this, numbers may be incorrect.\n- **Replace Empty Strings with NULL**: Whether to replace empty strings with NULL in input. This may be useful when working with data exported from spreadsheet software.\n\n### Select [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#select \"Permanent link\")\n\nUse this operation to select rows in a table.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Postgres credential](https://docs.n8n.io/integrations/builtin/credentials/postgres/).\n- **Operation**: Select **Select**.\n- **Schema**: Choose the schema that contains the table you want to work on. Select **From list** to choose the schema from the dropdown list or **By Name** to enter the schema name.\n- **Table**: Choose the table that you want to work on. Select **From list** to choose the table from the dropdown list or **By Name** to enter the table name.\n- **Return All**: Whether to return all results or only up to a given limit.\n- **Limit**: The maximum number of items to return when **Return All** is disabled.\n- **Select Rows**: Set the conditions to select rows. Define a **Column**, **Operator**, and **Value** to match rows on. If you don't select anything, Postgres selects all rows.\n- **Combine Conditions**: How to combine the conditions in **Select Rows**. **AND** requires all conditions to be true, while **OR** requires at least one condition to be true.\n- **Sort**: Choose how to sort the selected rows. Choose a **Column** from a list or by ID and a sort **Direction**.\n\n#### Select options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#select-options \"Permanent link\")\n\n- **Connection Timeout**: The number of seconds to try to connect to the database.\n- **Delay Closing Idle Connection**: The number of seconds to wait before considering idle connections eligible for closing.\n- **Query Batching**: The way to send queries to the database:\n - **Single Query**: A single query for all incoming items.\n - **Independently**: Execute one query per incoming item of the execution.\n - **Transaction**: Execute all queries in a transaction. If a failure occurs, Postgres rolls back all changes.\n- **Output Columns**: Choose which columns to output. You can select from a list of available columns or specify IDs using [expressions](https://docs.n8n.io/code/expressions/).\n- **Output Large-Format Numbers As**: The format to output `NUMERIC` and `BIGINT` columns as:\n - **Numbers**: Use this for standard numbers.\n - **Text**: Use this if you expect numbers longer than 16 digits. Without this, numbers may be incorrect.\n\n### Update [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#update \"Permanent link\")\n\nUse this operation to update rows in a table.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Postgres credential](https://docs.n8n.io/integrations/builtin/credentials/postgres/).\n- **Operation**: Select **Update**.\n- **Schema**: Choose the schema that contains the table you want to work on. Select **From list** to choose the schema from the dropdown list or **By Name** to enter the schema name.\n- **Table**: Choose the table that you want to work on. Select **From list** to choose the table from the dropdown list or **By Name** to enter the table name.\n- **Mapping Column Mode**: How to map column names to incoming data:\n - **Map Each Column Manually**: Select the values to use for each column.\n - **Map Automatically**: Automatically map incoming data to matching column names in Postgres. The incoming data field names must match the column names in Postgres for this to work. If necessary, consider using the [edit fields (set) node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.set/) before this node to adjust the format as needed.\n\n#### Update options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#update-options \"Permanent link\")\n\n- **Connection Timeout**: The number of seconds to try to connect to the database.\n- **Delay Closing Idle Connection**: The number of seconds to wait before considering idle connections eligible for closing.\n- **Query Batching**: The way to send queries to the database:\n - **Single Query**: A single query for all incoming items.\n - **Independently**: Execute one query per incoming item of the execution.\n - **Transaction**: Execute all queries in a transaction. If a failure occurs, Postgres rolls back all changes.\n- **Output Columns**: Choose which columns to output. You can select from a list of available columns or specify IDs using [expressions](https://docs.n8n.io/code/expressions/).\n- **Output Large-Format Numbers As**: The format to output `NUMERIC` and `BIGINT` columns as:\n - **Numbers**: Use this for standard numbers.\n - **Text**: Use this if you expect numbers longer than 16 digits. Without this, numbers may be incorrect.\n- **Replace Empty Strings with NULL**: Whether to replace empty strings with NULL in input. This may be useful when working with data exported from spreadsheet software.\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#templates-and-examples \"Permanent link\")\n\n**Chat with Postgresql Database**\n\nby KumoHQ\n\n[View template details](https://n8n.io/workflows/2859-chat-with-postgresql-database/)\n\n**Generate Instagram Content from Top Trends with AI Image Generation**\n\nby mustafa kendigüzel\n\n[View template details](https://n8n.io/workflows/2803-generate-instagram-content-from-top-trends-with-ai-image-generation/)\n\n**HR & IT Helpdesk Chatbot with Audio Transcription**\n\nby Felipe Braga\n\n[View template details](https://n8n.io/workflows/2752-hr-and-it-helpdesk-chatbot-with-audio-transcription/)\n\n[Browse Postgres integration templates](https://n8n.io/integrations/postgres/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#related-resources \"Permanent link\")\n\nn8n provides a trigger node for Postgres. You can find the trigger node docs [here](https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.postgrestrigger/).\n\n## Use query parameters [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#use-query-parameters \"Permanent link\")\n\nWhen creating a query to run on a Postgres database, you can use the **Query Parameters** field in the **Options** section to load data into the query. n8n sanitizes data in query parameters, which prevents SQL injection.\n\nFor example, you want to find a person by their email address. Given the following input data:\n\n| | |\n| --- | --- |\n| ```<br> 1<br> 2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>10<br>11<br>12<br>``` | ```<br>[<br> {<br> \"email\": \"alex@example.com\",<br> \"name\": \"Alex\",<br> \"age\": 21 <br> },<br> {<br> \"email\": \"jamie@example.com\",<br> \"name\": \"Jamie\",<br> \"age\": 33 <br> }<br>]<br>``` |\n\nYou can write a query like:\n\n| | |\n| --- | --- |\n| ```<br>1<br>``` | ```<br>SELECT * FROM $1:name WHERE email = $2;<br>``` |\n\nThen in **Query Parameters**, provide the field values to use. You can provide fixed values or expressions. For this example, use expressions so the node can pull the email address from each input item in turn:\n\n| | |\n| --- | --- |\n| ```<br>1<br>2<br>``` | ```<br>// users is an example table name<br>{{ [ 'users', $json.email ] }} <br>``` |\n\n## Common issues [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/\\#common-issues \"Permanent link\")\n\nFor common questions or issues and suggested solutions, refer to [Common issues](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/common-issues/).\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/",
"title": "Postgres node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0a351698-619b-46ed-8deb-600bd4730043",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.postgres/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the Postgres node in n8n. Follow technical documentation to integrate Postgres node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/source-control-environments/create-environments/#tutorial-create-environments-with-source-control)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/source-control-environments/create-environments.md \"Edit this page\")\n\n# Tutorial: Create environments with source control [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#tutorial-create-environments-with-source-control \"Permanent link\")\n\nFeature availability\n\n- Available on Enterprise.\n- You need to be an n8n instance owner, admin, or project owner to set up source control, and to send work to and from Git.\n\nThis tutorial walks through the process of setting up environments end-to-end. You'll create two environments: development and production. It uses GitHub as the Git provider. The process is similar for other providers.\n\nn8n has built its environments feature on top of Git, a version control software. You link an n8n instance to a Git branch, and use a push-pull pattern to move work between environments. You should have some understanding of environments and Git. If you need more information on these topics, refer to:\n\n- [Environments in n8n](https://docs.n8n.io/source-control-environments/understand/environments/): the purpose of environments, and how they work in n8n.\n- [Git and n8n](https://docs.n8n.io/source-control-environments/understand/git/): Git concepts and source control in n8n.\n\n## Choose your source control pattern [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#choose-your-source-control-pattern \"Permanent link\")\n\nBefore setting up source control and environments, you need to plan your environments, and how they relate to Git branches. n8n supports different [Branch patterns](https://docs.n8n.io/source-control-environments/understand/patterns/). For environments, you need to choose between two patterns: multi-instance, multi-branch, or multi-instance, single-branch. This tutorial covers both patterns.\n\nRecommendation: don't push and pull to the same n8n instance\n\nYou can push work from an instance to a branch, and pull to the same instance. n8n doesn't recommend this. To reduce the risk of merge conflicts and overwriting work, try to create a process where work goes in one direction: either to Git, or from Git, but not both.\n\n### Multiple instances, multiple branches [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#multiple-instances-multiple-branches \"Permanent link\")\n\n[](https://docs.n8n.io/_images/source-control-environments/vc-multi-multi.png)\n\nThe advantages of this pattern are:\n\n- An added safety layer to prevent changes getting into your production environment by mistake. You have to do a pull request in GitHub to copy work between environments.\n- It supports more than two instances.\n\nThe disadvantage is more manual steps to copy work between environments.\n\n### Multiple instances, one branch [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#multiple-instances-one-branch \"Permanent link\")\n\n[](https://docs.n8n.io/_images/source-control-environments/vc-multi-one.png)\n\nThe advantage of this pattern is that work is instantly available to other environments when you push from one instance.\n\nThe disadvantages are:\n\n- If you push by mistake, there is a risk the work will make it into your production instance. If you [use a GitHub Action to automate pulls](https://docs.n8n.io/source-control-environments/create-environments/#optional-use-a-github-action-to-automate-pulls) to production, you must either use the multi-instance, multi-branch pattern, or be careful to never push work that you don't want in production.\n- Pushing and pulling to the same instance can cause data loss as changes are overridden when performing these actions. You should set up processes to ensure content flows in one direction.\n\n## Set up your repository [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#set-up-your-repository \"Permanent link\")\n\nOnce you've chosen your pattern, you need to set up your GitHub repository.\n\n[Multi-branch](https://docs.n8n.io/source-control-environments/create-environments/#__tabbed_1_1)[Single-branch](https://docs.n8n.io/source-control-environments/create-environments/#__tabbed_1_2)\n\n1. [Create a new repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository).\n - Make sure the repository is private, unless you want your workflows, tags, and variable and credential stubs exposed to the internet.\n - Create the new repository with a README so you can immediately create branches.\n2. Create one branch named `production` and another named `development`. Refer to [Creating and deleting branches within your repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository) for guidance.\n\n[Create a new repository](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository).\n\n- Make sure the repository is private, unless you want your workflows, tags, and variable and credential stubs exposed to the internet.\n- Create the new repository with a README. This creates the `main` branch, which you'll connect to.\n\n## Connect your n8n instances to your repository [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#connect-your-n8n-instances-to-your-repository \"Permanent link\")\n\nCreate two n8n instances, one for development, one for production.\n\n### Configure Git in n8n [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#configure-git-in-n8n \"Permanent link\")\n\n1. Go to **Settings** \\> **Environments**.\n2. In **Git repository URL** enter the SSH URL for your repository.\n3. n8n supports ED25519 and RSA public key algorithms. ED25519 is the default. Select **RSA** under **SSH Key** if your git host requires RSA.\n4. Copy the SSH key.\n\n### Set up a deploy key [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#set-up-a-deploy-key \"Permanent link\")\n\nSet up SSH access by creating a deploy key for the repository using the SSH key from n8n. The key must have write access. Refer to [GitHub \\| Managing deploy keys](https://docs.github.com/en/authentication/connecting-to-github-with-ssh/managing-deploy-keys) for guidance.\n\n### Connect n8n and configure your instance [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#connect-n8n-and-configure-your-instance \"Permanent link\")\n\n[Multi-branch](https://docs.n8n.io/source-control-environments/create-environments/#__tabbed_2_1)[Single-branch](https://docs.n8n.io/source-control-environments/create-environments/#__tabbed_2_2)\n\n1. In **Settings** \\> **Environments** in n8n, select **Connect**. n8n connects to your Git repository.\n2. Under **Instance settings**, choose which branch you want to use for the current n8n instance. Connect the production branch to the production instance, and the development branch to the development instance.\n3. Production instance only: select **Protected instance** to prevent users editing workflows in this instance.\n4. Select **Save settings**.\n\n1. In **Settings** \\> **Environments** in n8n, select **Connect**.\n2. Under **Instance settings**, select the main branch.\n3. Production instance only: select **Protected instance** to prevent users editing workflows in this instance.\n4. Select **Save settings**.\n\n## Push work from development [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#push-work-from-development \"Permanent link\")\n\nIn your development instance, create a few workflows, tags, variables, and credentials.\n\nTo push work to Git:\n\n1. Select **Push** in the main menu.\nView screenshot\n\n\n\n[](https://docs.n8n.io/_images/source-control-environments/pull-push-menu-closed.png) Pull and push buttons when menu is closed\n\n\n\n\n\n\n\n[](https://docs.n8n.io/_images/source-control-environments/pull-push-menu-open.png) Pull and push buttons when menu is open\n\n2. In the **Commit and push changes** modal, select which workflows you want to push. You can filter by status (new, modified, deleted) and search for workflows. n8n automatically pushes tags, and variable and credential stubs.\n\n3. Enter a commit message. This should be a one sentence description of the changes you're making.\n4. Select **Commit and Push**. n8n sends the work to Git, and displays a success message on completion.\n\n## Pull work to production [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#pull-work-to-production \"Permanent link\")\n\nYour work is now in GitHub. If you're using a multi-branch setup, it's on the development branch. If you chose the single-branch setup, it's on main.\n\n[Multi-branch](https://docs.n8n.io/source-control-environments/create-environments/#__tabbed_3_1)[Single-branch](https://docs.n8n.io/source-control-environments/create-environments/#__tabbed_3_2)\n\n1. In GitHub, create a pull request to merge development into production.\n2. Merge the pull request.\n3. In your production instance, select **Pull** in the main menu.\n\nIn your production instance, select **Pull** in the main menu.\n\nView screenshot\n\n[](https://docs.n8n.io/_images/source-control-environments/pull-push-menu-closed.png) Pull and push buttons when menu is closed\n\n[](https://docs.n8n.io/_images/source-control-environments/pull-push-menu-open.png) Pull and push buttons when menu is open\n\n### Optional: Use a GitHub Action to automate pulls [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#optional-use-a-github-action-to-automate-pulls \"Permanent link\")\n\nIf you want to avoid logging in to your production instance to pull, you can use a [GitHub Action](https://docs.github.com/en/actions/creating-actions/about-custom-actions) and the [n8n API](https://docs.n8n.io/api/) to automatically pull every time you push new work to your production or main branch.\n\nA GitHub Action example:\n\n| | |\n| --- | --- |\n| ```<br> 1<br> 2<br> 3<br> 4<br> 5<br> 6<br> 7<br> 8<br> 9<br>10<br>11<br>12<br>13<br>14<br>15<br>16<br>``` | ```<br>name: CI<br>on:<br> # Trigger the workflow on push or pull request events for the \"production\" branch<br> push:<br> branches: [ \"production\" ]<br> # Allows you to run this workflow manually from the Actions tab<br> workflow_dispatch:<br>jobs:<br> run-pull:<br> runs-on: ubuntu-latest<br> steps:<br> - name: PULL<br>\t\t\t\t# Use GitHub secrets to protect sensitive information<br> run: ><br> curl --location '${{ secrets.INSTANCE_URL }}/version-control/pull' --header<br> 'Content-Type: application/json' --header 'X-N8N-API-KEY: ${{ secrets.INSTANCE_API_KEY }}'<br>``` |\n\n## Next steps [\\#](https://docs.n8n.io/source-control-environments/create-environments/\\#next-steps \"Permanent link\")\n\nLearn more about:\n\n- [Environments in n8n](https://docs.n8n.io/source-control-environments/understand/environments/) and [Git and n8n](https://docs.n8n.io/source-control-environments/understand/git/)\n- [Source control patterns](https://docs.n8n.io/source-control-environments/understand/patterns/)\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/source-control-environments/create-environments/",
"title": "Tutorial - Create environments with source control | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0a824627-fd22-429d-976a-5f983b328f8c",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/source-control-environments/create-environments/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "How to use n8n's source control feature to create environments.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/user-management/saml/managing/#manage-users-with-saml)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/user-management/saml/managing.md \"Edit this page\")\n\n# Manage users with SAML [\\#](https://docs.n8n.io/user-management/saml/managing/\\#manage-users-with-saml \"Permanent link\")\n\nThere are some user management tasks that are affected by SAML.\n\n## Exempt users from SAML [\\#](https://docs.n8n.io/user-management/saml/managing/\\#exempt-users-from-saml \"Permanent link\")\n\nYou can allow users to log in without using SAML. To do this:\n\n1. Go to **Settings** \\> **Users**.\n2. Select the menu icon by the user you want to exempt from SAML.\n3. Select **Allow Manual Login**.\n\n## Deleting users [\\#](https://docs.n8n.io/user-management/saml/managing/\\#deleting-users \"Permanent link\")\n\nIf you remove a user from your IdP, they remain logged in to n8n. You need to manually remove them from n8n as well. Refer to [Manage users](https://docs.n8n.io/user-management/manage-users/) for guidance on deleting users.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/user-management/saml/managing/",
"title": "Manage users with SAML | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0bd567d9-6db9-46bf-b8f4-0d4c94e581e1",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/user-management/saml/managing/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "How to manage users and user logins with SAML enabled.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.npm/#npm-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.npm.md \"Edit this page\")\n\n# npm node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.npm/\\#npm-node \"Permanent link\")\n\nUse the npm node to automate work in npm, and integrate npm with other applications.\n\nOn this page, you'll find a list of operations the npm node supports and links to more resources.\n\nCredentials\n\nRefer to [npm credentials](https://docs.n8n.io/integrations/builtin/credentials/npm/) for guidance on setting up authentication.\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.npm/\\#operations \"Permanent link\")\n\n- Package\n - Get Package Metadata\n - Get Package Versions\n - Search for Packages\n- Distribution Tag\n - Get All Tags\n - Update a Tag\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.npm/\\#templates-and-examples \"Permanent link\")\n\n[Browse npm integration templates](https://n8n.io/integrations/npm/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.npm/\\#related-resources \"Permanent link\")\n\nRefer to [npm's documentation](https://docs.npmjs.com/) for more information about the service.\n\n## What to do if your operation isn't supported [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.npm/\\#what-to-do-if-your-operation-isnt-supported \"Permanent link\")\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** \\> **Predefined Credential Type**.\n2. Select the service you want to connect to.\n3. Select your credential.\n\nRefer to [Custom API operations](https://docs.n8n.io/integrations/custom-operations/) for more information.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.npm/",
"title": "npm node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0c1a16c5-a6ab-400c-9dde-45e10ddc730b",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.npm/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the npm node in n8n. Follow technical documentation to integrate npm node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/calendar-operations/#google-calendar-calendar-operations)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/calendar-operations.md \"Edit this page\")\n\n# Google Calendar Calendar operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/calendar-operations/\\#google-calendar-calendar-operations \"Permanent link\")\n\nUse this operation to check availability in a calendar in Google Calendar. Refer to [Google Calendar](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/) for more information on the Google Calendar node itself.\n\n## Availability [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/calendar-operations/\\#availability \"Permanent link\")\n\nUse this operation to check if a time-slot is available in a calendar.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Google Calendar credentials](https://docs.n8n.io/integrations/builtin/credentials/google/).\n- **Resource**: Select **Calendar**.\n- **Operation**: Select **Availability**.\n- **Calendar**: Choose a calendar you want to check against. Select **From list** to choose the title from the dropdown list or **By ID** to enter a calendar ID.\n- **Start Time**: The start time for the time-slot you want to check. By default, uses an expression evaluating to the current time ( `{{ $now }}`).\n- **End Time**: The end time for the time-slot you want to check. By default, uses an expression evaluating to an hour from now ( `{{ $now.plus(1, 'hour') }}`).\n\n### Options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/calendar-operations/\\#options \"Permanent link\")\n\n- **Output Format**: Select the format for the availability information:\n - **Availability**: Returns if there are already events overlapping with the given time slot or not.\n - **Booked Slots**: Returns the booked slots.\n - **RAW**: Returns the RAW data from the API.\n- **Timezone**: The timezone used in the response. By default, uses the n8n timezone.\n\nRefer to the [Freebusy: query \\| Google Calendar](https://developers.google.com/calendar/api/v3/reference/freebusy/query) API documentation for more information.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/calendar-operations/",
"title": "Google Calendar Calendar operations | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0c50013d-5d1d-4428-bbd0-b1ca6d84df63",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googlecalendar/calendar-operations/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Documentation for the Calendar operations in Google Calendar node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.deepl/#deepl-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.deepl.md \"Edit this page\")\n\n# DeepL node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.deepl/\\#deepl-node \"Permanent link\")\n\nUse the DeepL node to automate work in DeepL, and integrate DeepL with other applications. n8n has built-in support for a wide range of DeepL features, including translating languages.\n\nOn this page, you'll find a list of operations the DeepL node supports and links to more resources.\n\nCredentials\n\nRefer to [DeepL credentials](https://docs.n8n.io/integrations/builtin/credentials/deepl/) for guidance on setting up authentication.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/).\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.deepl/\\#operations \"Permanent link\")\n\n- Language\n - Translate data\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.deepl/\\#templates-and-examples \"Permanent link\")\n\n**Translate PDF documents from Google drive folder with DeepL**\n\nby Milorad Filipovic\n\n[View template details](https://n8n.io/workflows/2179-translate-pdf-documents-from-google-drive-folder-with-deepl/)\n\n**Translate cocktail instructions using DeepL**\n\nby Harshil Agrawal\n\n[View template details](https://n8n.io/workflows/998-translate-cocktail-instructions-using-deepl/)\n\n**Real-time Chat Translation with DeepL**\n\nby Ghufran Ridhawi\n\n[View template details](https://n8n.io/workflows/4532-real-time-chat-translation-with-deepl/)\n\n[Browse DeepL integration templates](https://n8n.io/integrations/deepl/), or [search all templates](https://n8n.io/workflows/)\n\n## What to do if your operation isn't supported [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.deepl/\\#what-to-do-if-your-operation-isnt-supported \"Permanent link\")\n\nIf this node doesn't support the operation you want to do, you can use the [HTTP Request node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.httprequest/) to call the service's API.\n\nYou can use the credential you created for this service in the HTTP Request node:\n\n1. In the HTTP Request node, select **Authentication** \\> **Predefined Credential Type**.\n2. Select the service you want to connect to.\n3. Select your credential.\n\nRefer to [Custom API operations](https://docs.n8n.io/integrations/custom-operations/) for more information.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.deepl/",
"title": "DeepL node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0c5bcd16-d6c3-401e-9cdf-78504f893725",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.deepl/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the DeepL node in n8n. Follow technical documentation to integrate DeepL node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/help-community/help/#get-help-with-n8n)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/help-community/help.md \"Edit this page\")\n\n# Get help with n8n [\\#](https://docs.n8n.io/help-community/help/\\#get-help-with-n8n \"Permanent link\")\n\nIf you need more help with n8n, you can ask for support in the [forum](https://community.n8n.io/). This is the best source of answers, as both the n8n support team and community members can help.\n\nIf your Cloud instance is having issues, or if you're an enterprise customer who needs support, you can contact [help@n8n.io](mailto:help@n8n.io).\n\n## Use the About n8n debug tool [\\#](https://docs.n8n.io/help-community/help/\\#use-the-about-n8n-debug-tool \"Permanent link\")\n\nWhether you're posting to the forum or emailing customer support, you'll get help faster if you provide details about your n8n instance in your first post or email.\n\nThe fastest way to do this is to use the **About n8n** debug tool:\n\n1. Open the left-side panel.\n2. Select **Help**.\n3. Select **About n8n**.\n4. The **About n8n** modal opens to display your current information.\n5. Select **Copy debug information** to copy your information.\n6. n8n recommends pasting this information into your forum post or support email.\n\nDon't see **Copy debug**?\n\nThe **Copy debug** option is available beginning in n8n version 1.49.0.\n\nIf you're using an earlier version of n8n, n8n recommends manually providing this information:\n\n- n8n version\n- Database\n- n8n EXECUTIONS\\_PROCESS setting\n- Running n8n via (Docker, npm, n8n cloud)\n- Operating system\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/help-community/help/",
"title": "Where to get help | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0cf69e5a-e09e-4cc5-8e3f-2cfee93d53d2",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/help-community/help/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "How to get help and support with n8n.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.mqtt/#mqtt-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.mqtt.md \"Edit this page\")\n\n# MQTT node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.mqtt/\\#mqtt-node \"Permanent link\")\n\nUse the MQTT node to automate work in MQTT, and integrate MQTT with other applications. n8n supports transporting messages with MQTT.\n\nOn this page, you'll find a list of operations the MQTT node supports and links to more resources.\n\nCredentials\n\nRefer to [MQTT credentials](https://docs.n8n.io/integrations/builtin/credentials/mqtt/) for guidance on setting up authentication.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/).\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.mqtt/\\#operations \"Permanent link\")\n\nUse the MQTT node to send a message. You can set the message topic, and choose whether to send the node input data as part of the message.\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.mqtt/\\#templates-and-examples \"Permanent link\")\n\n**IOT Button Remote / Spotify Control Integration with MQTT**\n\nby Hubschrauber\n\n[View template details](https://n8n.io/workflows/2383-iot-button-remote-spotify-control-integration-with-mqtt/)\n\n**Receive messages for a MQTT queue**\n\nby Harshil Agrawal\n\n[View template details](https://n8n.io/workflows/657-receive-messages-for-a-mqtt-queue/)\n\n**Send location updates of the ISS to a topic in MQTT**\n\nby Harshil Agrawal\n\n[View template details](https://n8n.io/workflows/1069-send-location-updates-of-the-iss-to-a-topic-in-mqtt/)\n\n[Browse MQTT integration templates](https://n8n.io/integrations/mqtt/), or [search all templates](https://n8n.io/workflows/)\n\n## Related resources [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.mqtt/\\#related-resources \"Permanent link\")\n\nn8n provides a trigger node for MQTT. You can find the trigger node docs [here](https://docs.n8n.io/integrations/builtin/trigger-nodes/n8n-nodes-base.mqtttrigger/).\n\nRefer to [MQTT's documentation](https://mqtt.org/getting-started/) for more information about the service.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.mqtt/",
"title": "MQTT node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0d37926f-134e-4942-b007-af928557f462",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.mqtt/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the MQTT node in n8n. Follow technical documentation to integrate MQTT node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.matrix/#matrix-node)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.matrix.md \"Edit this page\")\n\n# Matrix node [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.matrix/\\#matrix-node \"Permanent link\")\n\nUse the Matrix node to automate work in Matrix, and integrate Matrix with other applications. n8n has built-in support for a wide range of Matrix features, including getting current user's account information, sending media and messages to a room, and getting room members and messages.\n\nOn this page, you'll find a list of operations the Matrix node supports and links to more resources.\n\nCredentials\n\nRefer to [Matrix credentials](https://docs.n8n.io/integrations/builtin/credentials/matrix/) for guidance on setting up authentication.\n\n## Operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.matrix/\\#operations \"Permanent link\")\n\n- Account\n - Get current user's account information\n- Event\n - Get single event by ID\n- Media\n - Send media to a chat room\n- Message\n - Send a message to a room\n - Gets all messages from a room\n- Room\n - New chat room with defined settings\n - Invite a user to a room\n - Join a new room\n - Kick a user from a room\n - Leave a room\n- Room Member\n - Get all members\n\n## Templates and examples [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.matrix/\\#templates-and-examples \"Permanent link\")\n\n[Browse Matrix integration templates](https://n8n.io/integrations/matrix/), or [search all templates](https://n8n.io/workflows/)\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.matrix/",
"title": "Matrix node documentation | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0e654909-5b31-42b1-b620-a23ff2fdd31f",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.matrix/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Learn how to use the Matrix node in n8n. Follow technical documentation to integrate Matrix node into your workflows.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
},
{
"markdown": "[Skip to content](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/#google-drive-shared-drive-operations)\n\n[Edit this page](https://github.com/n8n-io/n8n-docs/edit/main/docs/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations.md \"Edit this page\")\n\n# Google Drive Shared Drive operations [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#google-drive-shared-drive-operations \"Permanent link\")\n\nUse this operation to create, delete, get, and update shared drives in Google Drive. Refer to [Google Drive](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/) for more information on the Google Drive node itself.\n\nThis node can be used as an AI tool\n\nThis node can be used to enhance the capabilities of an AI agent. When used in this way, many parameters can be set automatically, or with information directed by AI - find out more in the [AI tool parameters documentation](https://docs.n8n.io/advanced-ai/examples/using-the-fromai-function/).\n\n## Create a shared drive [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#create-a-shared-drive \"Permanent link\")\n\nUse this operation to create a new shared drive.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Google Drive credentials](https://docs.n8n.io/integrations/builtin/credentials/google/).\n- **Resource**: Select **Shared Drive**.\n- **Operation**: Select **Create**.\n- **Name**: The name to use for the new shared drive.\n\n### Options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#options \"Permanent link\")\n\n- **Capabilities**: The capabilities to set for the new shared drive (see [REST Resources: drives \\| Google Drive](https://developers.google.com/drive/api/reference/rest/v3/drives) for more details):\n - **Can Add Children**: Whether the current user can add children to folders in this shared drive.\n - **Can Change Copy Requires Writer Permission Restriction**: Whether the current user can change the `copyRequiresWriterPermission` restriction on this shared drive.\n - **Can Change Domain Users Only Restriction**: Whether the current user can change the `domainUsersOnly` restriction on this shared drive.\n - **Can Change Drive Background**: Whether the current user can change the background on this shared drive.\n - **Can Change Drive Members Only Restriction**: Whether the current user can change the `driveMembersOnly` restriction on this shared drive.\n - **Can Comment**: Whether the current user can comment on files in this shared drive.\n - **Can Copy**: Whether the current user can copy files in this shared drive.\n - **Can Delete Children**: Whether the current user can delete children from folders in this shared drive.\n - **Can Delete Drive**: Whether the current user can delete this shared drive. This operation may still fail if there are items not in the trash in the shared drive.\n - **Can Download**: Whether the current user can download files from this shared drive.\n - **Can Edit**: Whether the current user can edit files from this shared drive.\n - **Can List Children**: Whether the current user can list the children of folders in this shared drive.\n - **Can Manage Members**: Whether the current user can add, remove, or change the role of members of this shared drive.\n - **Can Read Revisions**: Whether the current user can read the revisions resource of files in this shared drive.\n - **Can Rename Drive**: Whether the current user can rename this shared drive.\n - **Can Share**: Whether the current user can share files or folders in this shared drive.\n - **Can Trash Children**: Whether the current user can trash children from folders in this shared drive.\n- **Color RGB**: The color of this shared drive as an RGB hex string.\n- **Hidden**: Whether to hide this shared drive in the default view.\n- **Restrictions**: Restrictions to add to this shared drive (see [REST Resources: drives \\| Google Drive](https://developers.google.com/drive/api/reference/rest/v3/drives) for more details):\n - **Admin Managed Restrictions**: When enabled, restrictions here will override the similarly named fields to true for any file inside of this shared drive.\n - **Copy Requires Writer Permission**: Whether the options to copy, print, or download files inside this shared drive should be disabled for readers and commenters.\n - **Domain Users Only**: Whether to restrict access to this shared drive and items inside this shared drive to users of the domain to which this shared drive belongs.\n - **Drive Members Only**: Whether to restrict access to items inside this shared drive to its members.\n\nRefer to the [Method: drives.insert \\| Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/insert) API documentation for more information.\n\n## Delete a shared drive [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#delete-a-shared-drive \"Permanent link\")\n\nUse this operation to delete a shared drive.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Google Drive credentials](https://docs.n8n.io/integrations/builtin/credentials/google/).\n- **Resource**: Select **Shared Drive**.\n- **Operation**: Select **Delete**.\n- **Shared Drive**: Choose the shared drive want to delete.\n - Select **From list** to choose the title from the dropdown list, **By URL** to enter the URL of the drive, or **By ID** to enter the `driveId`.\n - You can find the `driveId` in the URL for the shared Google Drive: `https://drive.google.com/drive/u/0/folders/driveID`.\n\nRefer to the [Method: drives.delete \\| Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/delete) API documentation for more information.\n\n## Get a shared drive [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#get-a-shared-drive \"Permanent link\")\n\nUse this operation to get a shared drive.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Google Drive credentials](https://docs.n8n.io/integrations/builtin/credentials/google/).\n- **Resource**: Select **Shared Drive**.\n- **Operation**: Select **Get**.\n- **Shared Drive**: Choose the shared drive want to get.\n - Select **From list** to choose the title from the dropdown list, **By URL** to enter the URL of the drive, or **By ID** to enter the `driveId`.\n - You can find the `driveId` in the URL for the shared Google Drive: `https://drive.google.com/drive/u/0/folders/driveID`.\n\n### Options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#options_1 \"Permanent link\")\n\n- **Use Domain Admin Access**: Whether to issue the request as a domain administrator. When enabled, grants the requester access if they're an administrator of the domain to which the shared drive belongs.\n\nRefer to the [Method: drives.get \\| Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/get) API documentation for more information.\n\n## Get many shared drives [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#get-many-shared-drives \"Permanent link\")\n\nUse this operation to get many shared drives.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Google Drive credentials](https://docs.n8n.io/integrations/builtin/credentials/google/).\n- **Resource**: Select **Shared Drive**.\n- **Operation**: Select **Get Many**.\n- **Return All**: Choose whether to return all results or only up to a given limit.\n- **Limit**: The maximum number of items to return when **Return All** is disabled.\n- **Shared Drive**: Choose the shared drive want to get.\n - Select **From list** to choose the title from the dropdown list, **By URL** to enter the URL of the drive, or **By ID** to enter the `driveId`.\n - You can find the `driveId` in the URL for the shared Google Drive: `https://drive.google.com/drive/u/0/folders/driveID`.\n\n### Options [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#options_2 \"Permanent link\")\n\n- **Query**: The query string to use to search for shared drives. See [Search for shared drives \\| Google Drive](https://developers.google.com/drive/api/guides/search-shareddrives) for more information.\n- **Use Domain Admin Access**: Whether to issue the request as a domain administrator. When enabled, grants the requester access if they're an administrator of the domain to which the shared drive belongs.\n\nRefer to the [Method: drives.get \\| Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/get) API documentation for more information.\n\n## Update a shared drive [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#update-a-shared-drive \"Permanent link\")\n\nUse this operation to update a shared drive.\n\nEnter these parameters:\n\n- **Credential to connect with**: Create or select an existing [Google Drive credentials](https://docs.n8n.io/integrations/builtin/credentials/google/).\n- **Resource**: Select **Shared Drive**.\n- **Operation**: Select **Update**.\n- **Shared Drive**: Choose the shared drive you want to update.\n - Select **From list** to choose the drive from the dropdown list, **By URL** to enter the URL of the drive, or **By ID** to enter the `driveId`.\n - You can find the `driveId` in the URL for the shared Google Drive: `https://drive.google.com/drive/u/0/folders/driveID`.\n\n### Update Fields [\\#](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/\\#update-fields \"Permanent link\")\n\n- **Color RGB**: The color of this shared drive as an RGB hex string.\n- **Name**: The updated name for the shared drive.\n- **Restrictions**: Restrictions for this shared drive (see [REST Resources: drives \\| Google Drive](https://developers.google.com/drive/api/reference/rest/v3/drives) for more details):\n - **Admin Managed Restrictions**: When enabled, restrictions here will override the similarly named fields to true for any file inside of this shared drive.\n - **Copy Requires Writer Permission**: Whether the options to copy, print, or download files inside this shared drive should be disabled for readers and commenters.\n - **Domain Users Only**: Whether to restrict access to this shared drive and items inside this shared drive to users of the domain to which this shared drive belongs.\n - **Drive Members Only**: Whether to restrict access to items inside this shared drive to its members.\n\nRefer to the [Method: drives.update \\| Google Drive](https://developers.google.com/drive/api/reference/rest/v2/drives/update) API documentation for more information.\n\nWas this page helpful?\n\n\n\n\n\n\nThanks for your feedback!\n\n\n\n\n\n\nThanks for your feedback! Help us improve this page by submitting an issue or a fix in our [GitHub repo](https://github.com/n8n-io/n8n-docs).\n\n\nBack to top",
"metadata": {
"url": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/",
"title": "Google Drive Shared Drive operations | n8n Docs ",
"favicon": "https://docs.n8n.io/_images/favicon.ico",
"language": "en",
"scrapeId": "0e7c0710-06ac-4ade-8f3d-d20f78ac7da0",
"viewport": "width=device-width,initial-scale=1",
"generator": "mkdocs-1.6.1, mkdocs-material-9.6.2+insiders-4.53.15",
"proxyUsed": "basic",
"sourceURL": "https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.googledrive/shared-drive-operations/",
"statusCode": 200,
"contentType": "text/html; charset=UTF-8",
"description": "Documentation for the Shared Drive operations in Google Drive node in n8n, a workflow automation platform. Includes details of operations and configuration, and links to examples and credentials information.",
"ahrefs-site-verification": "b13556bca44be7ae858f67ddbdd71eaa177d9389a88eb295244299a87292d60a"
}
}
],
"next": "https://api.firecrawl.dev/v1/crawl/6cd9b912-bf11-498d-8f31-197aaf8efa1c?skip=20",
"total": 467,
"status": "scraping",
"success": true,
"completed": 20,
"expiresAt": "2025-06-06T16:09:41.000Z",
"creditsUsed": 467
}
}
]
},
"settings": {
"executionOrder": "v1"
},
"versionId": "c3f351d9-a5ae-4a18-9d2d-fc28242e81d3",
"connections": {
"If": {
"main": [
[
{
"node": "10 Seconds",
"type": "main",
"index": 0
}
],
[
{
"node": "Convert to File",
"type": "main",
"index": 0
}
]
]
},
"Code": {
"main": [
[
{
"node": "Extract JSON",
"type": "main",
"index": 0
}
]
]
},
"OpenAI": {
"main": [
[
{
"node": "Code",
"type": "main",
"index": 0
}
]
]
},
"30 Secs": {
"main": [
[
{
"node": "Get Results",
"type": "main",
"index": 0
}
]
]
},
"Extract": {
"main": [
[
{
"node": "30 Secs",
"type": "main",
"index": 0
}
]
]
},
"SerpAPI": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Set URL": {
"main": [
[
{
"node": "Extract",
"type": "main",
"index": 0
}
]
]
},
"AI Agent": {
"main": [
[
{
"node": "OpenAI",
"type": "main",
"index": 0
}
]
]
},
"10 Seconds": {
"main": [
[
{
"node": "Get Results",
"type": "main",
"index": 0
}
]
]
},
"Get Results": {
"main": [
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"Extract JSON": {
"main": [
[
{
"node": "Convert to JSON File",
"type": "main",
"index": 0
}
]
]
},
"Convert to File": {
"main": [
[
{
"node": "Train Pinecone Vector Store",
"type": "main",
"index": 0
}
]
]
},
"Set Preferences": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "Pinecone Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Embeddings OpenAI2": {
"ai_embedding": [
[
{
"node": "Train Pinecone Vector Store",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Convert to JSON File": {
"main": [
[]
]
},
"Default Data Loader1": {
"ai_document": [
[
{
"node": "Train Pinecone Vector Store",
"type": "ai_document",
"index": 0
}
]
]
},
"OpenRouter Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Pinecone Vector Store": {
"ai_tool": [
[
{
"node": "AI Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"When chat message received": {
"main": [
[
{
"node": "AI Agent",
"type": "main",
"index": 0
}
]
]
},
"Recursive Character Text Splitter": {
"ai_textSplitter": [
[
{
"node": "Default Data Loader1",
"type": "ai_textSplitter",
"index": 0
}
]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "Set URL",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 构建模块, 人工智能
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+93
113 节点I versus AI
其他
[模板] AI宠物店 v8
🐶 AI宠物店助手 - 集成GPT-4o、Google日历和WhatsApp/Instagram/Facebook
If
N8n
Set
+38
244 节点Amanda Benks
销售
基于AI的MIS代理
基于AI的管理信息系统代理
If
Set
Code
+29
129 节点Kumar Shivam
客户支持
AI 代理餐厅 [模板]
🤖 WhatsApp、Instagram 和 Messenger 的 AI 餐厅助手
If
N8n
Set
+37
239 节点Amanda Benks
其他
支持文本、语音、图像和PDF的AI驱动WhatsApp聊天机器人(RAG)
支持文本、语音、图像和PDF的AI驱动WhatsApp聊天机器人(RAG)
Set
Code
Switch
+15
35 节点NovaNode
工程
高级AI演示(在AI开发者第14次聚会中展示)
高级AI演示(在AI开发者第14次聚会中展示)
If
Code
Gmail
+19
39 节点Max Tkacz
构建模块