This workflow follows the Chainllm → Execute Workflow Trigger recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"nodes": [
{
"id": "9c3c06eb-8b48-4229-9b16-7fe7c4f886c3",
"name": "When clicking \u2018Test workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
78.44447107090468,
520
],
"parameters": {},
"typeVersion": 1
},
{
"id": "2a8d8297-18de-4e1f-b44b-93842f7c1709",
"name": "OpenAI Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1678.4444710709047,
2020
],
"parameters": {
"model": "gpt-4o-mini",
"options": {}
},
"typeVersion": 1
},
{
"id": "a6c24857-ad3b-4561-b40b-8520064e861b",
"name": "Format QA Pair1",
"type": "n8n-nodes-base.set",
"position": [
2018.4444710709047,
1880
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2c1bd408-29f0-487b-9a33-7513d5bbfe23",
"name": "question",
"type": "string",
"value": "={{ $('Needs AI Completion?1').item.json.question }}"
},
{
"id": "02ffc3b7-3d77-4dfe-ba3f-2052f5cc9e83",
"name": "answer",
"type": "string",
"value": "={{\n[\n $('Needs AI Completion?1').item.json.answer,\n $json.text\n ? $json.text[0].toLowerCase() + $json.text.substring(1, $json.text.length)\n : '',\n $('Needs AI Completion?1').item.json.append || '',\n].join(' ').trim()\n}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "2b4712cb-371c-45bc-a024-363ae951b0ac",
"name": "For Each Question...1",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1238.4444710709047,
1400
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "8f7cefc1-9fc0-474b-a81e-bf573068258b",
"name": "Question to List1",
"type": "n8n-nodes-base.splitOut",
"position": [
1038.4444710709047,
1400
],
"parameters": {
"options": {},
"fieldToSplitOut": "data"
},
"typeVersion": 1
},
{
"id": "9aeb5858-d6d4-4541-8a0d-851740d948ae",
"name": "Questions to Object...1",
"type": "n8n-nodes-base.aggregate",
"position": [
1978.4444710709047,
1380
],
"parameters": {
"options": {},
"aggregate": "aggregateAllItemData"
},
"typeVersion": 1
},
{
"id": "2c1d56c5-20f2-4691-ab89-87edf9902a5f",
"name": "Format DisplayName + Questions1",
"type": "n8n-nodes-base.set",
"position": [
2198.444471070905,
1380
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "66318f17-a3bd-4bcf-b326-50208b503143",
"name": "name",
"type": "string",
"value": "={{ $('Execute Workflow Trigger').first().json.data.displayName || $('Execute Workflow Trigger').first().json.data['Category name'] }}"
},
{
"id": "a83abac5-ddc6-4316-a916-7eab338f97cf",
"name": "questions",
"type": "array",
"value": "={{ $json.data }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5147d5ef-f56d-49b0-9be8-0af7ccb8cdae",
"name": "Create From Text",
"type": "n8n-nodes-base.googleDrive",
"position": [
2380,
1380
],
"parameters": {
"name": "={{ $json.name + '-' + $now.format('yyyyMMdd') }}",
"content": "={{ JSON.stringify($json, null, 4) }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": ""
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Execute Workflow Trigger').first().json.outdir }}"
},
"operation": "createFromText"
},
"typeVersion": 3
},
{
"id": "9abc3871-8103-4659-9afa-93142dabec01",
"name": "Define Sheets",
"type": "n8n-nodes-base.set",
"position": [
518.4444710709047,
520
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "{\n \"data\": [\n \"Single Integration Native\",\n \"Single Integration Cred-only\",\n \"Single Integration Non-native\",\n \"Categories\"\n ]\n}\n"
},
"typeVersion": 3.4
},
{
"id": "417b1c53-ec19-4f59-9580-b6080d3bc103",
"name": "Sheets To List...",
"type": "n8n-nodes-base.splitOut",
"position": [
698.4444710709047,
520
],
"parameters": {
"options": {},
"fieldToSplitOut": "data"
},
"typeVersion": 1
},
{
"id": "d8495ac2-7f45-4dd5-8eb5-d95c9e572dd3",
"name": "Get Services",
"type": "n8n-nodes-base.googleSheets",
"position": [
1098.4444710709047,
660
],
"parameters": {
"options": {
"returnAllMatches": "returnAllMatches"
},
"filtersUI": {
"values": [
{
"lookupColumn": "=status"
}
]
},
"sheetName": {
"__rl": true,
"mode": "name",
"value": "={{ $json.data }}"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"typeVersion": 4.3,
"alwaysOutputData": true
},
{
"id": "e5b7ebe7-0e0f-4f61-8a14-afc51eb37270",
"name": "Single Integration Cred-only",
"type": "n8n-nodes-base.set",
"position": [
778.4444710709047,
1400
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={\n \"data\": [\n {\n \"question\": \"How can I set up {{ $json.data.displayName }} integration in n8n?\",\n \"answer\": \"To use {{ $json.data.displayName }} integration in n8n, start by adding the HTTP Request node to your workflow canvas and authenticate it using a predefined credential type. This allows you to perform custom operations, without additional authentication setup. Once connected, you can make custom API calls to {{ $json.data.displayName }} to query the data you need using the URLs you provide, for example:\",\n \"ai_example\": \"Assume useris advanced in n8n integration and sending HTTP requests, focus instead on examples operations and/or use-cases such as creating records, updating records, or retrieving data.\",\n \"ai_completion\": {{ true }}\n },\n {\n \"question\": \"Do I need any special permissions or API keys to integrate {{ $json.data.displayName }} with n8n?\",\n \"answer\": \"Yes, you need an API key with the necessary permissions to integrate {{ $json.data.displayName }} with n8n. You will typically need to use the {{ $json.data.displayName }} API docs to construct your request via the HTTP Request node. Ensure the API key has the appropriate access rights for the data and actions you want to automate within your workflows.\",\n \"ai_completion\": {{ false }}\n },\n {\n \"question\": \"Can I combine {{ $json.data.displayName }} with other apps in n8n workflows?\",\n \"answer\": \"Definitely! n8n enables you to create workflows that combine {{ $json.data.displayName }} with other apps and services. For instance,\",\n \"ai_completion\": {{ true }}\n },\n {\n \"question\": \"What are some common use cases for {{ $json.data.displayName }} integrations with n8n?\",\n \"answer\": \"Common use cases for {{ $json.data.displayName }} automation include\",\n \"append\": \"With n8n, you can customize these workflows to fit your specific needs and extend them by adding other 400+ integrations or incorporating advanced AI logic.\",\n \"ai_completion\": {{ true }}\n },\n {\n \"question\": \"How does n8n\u2019s pricing model benefit me when integrating {{ $json.data.displayName }}?\",\n \"answer\": \"n8n\u2019s pricing model is designed to be both affordable and scalable, which is particularly beneficial when integrating with {{ $json.data.displayName }}. Unlike other platforms that charge per operation or task, n8n charges only for full workflow executions. This means you can create complex workflows with {{ $json.data.displayName }}, involving thousands of tasks or steps, without worrying about escalating costs. For example, if your {{ $json.data.displayName }} workflows perform around 100k tasks, you could be paying $500+/month on other platforms, but with n8n's pro plan, you start at around $50. This approach allows you to scale your {{ $json.data.displayName }} integrations efficiently while maintaining predictable costs.\",\n \"ai_completion\": {{ false }}\n }\n ]\n}"
},
"typeVersion": 3.4
},
{
"id": "e2cc607b-8502-4beb-ace5-8670af845134",
"name": "Single Integration Native",
"type": "n8n-nodes-base.set",
"position": [
778.4444710709047,
1240
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={\n \"data\": [\n {\n \"question\": \"How can I set up {{ $json.data.displayName }} integration in n8n?\",\n \"answer\": \"To use {{ $json.data.displayName }} integration in n8n, start by adding the {{ $json.data.displayName }} node to your workflow. You'll need to authenticate your {{ $json.data.displayName }} account using supported authentication methods. Once connected, you can choose from the list of supported actions or make custom API calls via the HTTP Request node, for example:\",\n \"ai_completion\": {{ true }}\n },\n {\n \"question\": \"Do I need any special permissions or API keys to integrate {{ $json.data.displayName }} with n8n?\",\n \"answer\": \"Yes, you will typically need an API key, token, or similar credentials to add {{ $json.data.displayName }} integration to n8n. These can usually be found in your account settings for the service. Ensure that your credentials have the necessary permissions to access and manage the data or actions you want to automate within your workflows.\",\n \"ai_completion\": {{ false }}\n },\n {\n \"question\": \"Can I combine {{ $json.data.displayName }} with other apps in n8n workflows?\",\n \"answer\": \"Definitely! n8n enables you to create workflows that combine {{ $json.data.displayName }} with other apps and services. For instance,\",\n \"ai_completion\": {{ true }}\n },\n {\n \"question\": \"What are some common use cases for {{ $json.data.displayName }} integrations with n8n?\",\n \"answer\": \"Common use cases for {{ $json.data.displayName }} automation include\",\n \"append\": \"With n8n, you can customize these workflows to fit your specific needs and extend them by adding other 400+ integrations or incorporating advanced AI logic.\",\n \"ai_completion\": {{ true }}\n },\n {\n \"question\": \"How does n8n\u2019s pricing model benefit me when integrating {{ $json.data.displayName }}?\",\n \"answer\": \"n8n\u2019s pricing model is designed to be both affordable and scalable, which is particularly beneficial when integrating with {{ $json.data.displayName }}. Unlike other platforms that charge per operation or task, n8n charges only for full workflow executions. This means you can create complex workflows with {{ $json.data.displayName }}, involving thousands of tasks or steps, without worrying about escalating costs. For example, if your {{ $json.data.displayName }} workflows perform around 100k tasks, you could be paying $500+/month on other platforms, but with n8n's pro plan, you start at around $50. This approach allows you to scale your {{ $json.data.displayName }} integrations efficiently while maintaining predictable costs.\",\n \"ai_completion\": {{ false }}\n }\n ]\n}"
},
"typeVersion": 3.4
},
{
"id": "ce1905c2-f41a-4dea-bd03-a9ae1e893326",
"name": "Categories",
"type": "n8n-nodes-base.set",
"position": [
778.4444710709047,
1760
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{\n{\n \"data\": [\n {\n \"question\": `What types of ${$json.data['Category name']} tools can I integrate with n8n?`,\n \"answer\": `n8n offers integrations with a wide range of ${$json.data['Category name']} tools, including`,\n \"append\": `These integrations allow you to streamline your ${$json.data['Category name']} workflows, automate repetitive tasks, and improve collaboration across your team.`,\n \"ai_completion\": true\n },\n {\n \"question\": `Are there any specific requirements or limitations for using ${$json.data['Category name']} integrations?`,\n \"answer\": `Yes, each ${$json.data['Category name']} integration may have specific requirements. For example,`,\n \"append\": `n8n offers a significant number of pre-built ${$json.data['Category name']} integrations (called nodes). If n8n doesn't support the integration you need, use the HTTP Request node or custom code to connect to the service's API. Be sure to review the integration documentation for any app-specific prerequisites. Additionally, consider any API rate limits or usage constraints that might affect your workflows.`,\n \"ai_completion\": true\n },\n {\n \"question\": `What are some popular use cases for ${$json.data['Category name']} integrations in n8n?`,\n \"answer\": `${$json.data['Category name']} integrations with n8n offer a variety of practical use cases. For example:`,\n \"ai_completion\": true,\n \"ai_completion_format\": \"list\"\n },\n {\n \"question\": `How does n8n\u2019s pricing model benefit ${$json.data['Category name']} workflows?`,\n \"answer\": `n8n's pricing model, which charges only for full workflow executions rather than individual tasks or steps, is particularly advantageous for ${$json.data['Category name']} workflows. This means you can build complex, multi-step workflows involving various ${$json.data['Category name']} tools without worrying about cost increases due to the number of operations. For example, if your ${$json.data['Category name']} workflows perform around 100k tasks, you could be paying $500+/month on other platforms, but with n8n's pro plan, you start at around $50. This approach allows you to scale your ${$json.data['Category name']} integrations efficiently while maintaining predictable costs.`,\n \"ai_completion\": false\n },\n {\n \"question\": `How can I leverage n8n's AI capabilities in my ${$json.data['Category name']} workflows?`,\n \"answer\": `n8n offers powerful AI capabilities that can enhance your ${$json.data['Category name']} workflows. For example, you can integrate AI tools like OpenAI with n8n to`,\n \"append\": `To add AI capabilities, navigate to the AI category in n8n's integrations directory and set up the integration with your chosen AI service. This combination of AI and ${$json.data['Category name']} integrations can significantly boost your development efficiency and innovation.`,\n \"ai_completion\": true\n }\n ]\n}\n}}"
},
"typeVersion": 3.4
},
{
"id": "344c93e6-3ed9-4dd0-8a38-c2f853ef3cc1",
"name": "For Each Sheet...",
"type": "n8n-nodes-base.splitInBatches",
"position": [
918.4444710709047,
520
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "e5776c79-51e4-4469-8cf7-dff009ee0ffd",
"name": "Execute Workflow Trigger",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
298.4444710709047,
1400
],
"parameters": {},
"typeVersion": 1
},
{
"id": "76aca3a6-c3ff-41fa-9fdf-30839df85669",
"name": "Execute Workflow",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
1898.4444710709047,
660
],
"parameters": {
"mode": "each",
"options": {},
"workflowId": "={{ $workflow.id }}"
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "663b1ce2-ccb5-43d1-8871-c5fa7412151c",
"name": "Prepare Job",
"type": "n8n-nodes-base.set",
"position": [
1278.4444710709047,
660
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "2755153b-d38c-4aba-be8f-f72c3bf91cf2",
"name": "sheet",
"type": "string",
"value": "={{ $('For Each Sheet...').item.json.data }}"
},
{
"id": "eed4a03a-451b-4b74-b591-ce970d84f990",
"name": "data",
"type": "object",
"value": "={{ $json }}"
},
{
"id": "ee73316c-0316-4389-aa13-4bb145637262",
"name": "outdir",
"type": "string",
"value": "={{\n{\n \"Single Integration Native\": \"Insert the corresponding Google Drive folder ID here\",\n \"Single Integration Cred-only\": \"Insert the corresponding Google Drive folder ID here\",\n \"Single Integration Non-native\": \"Insert the corresponding Google Drive folder ID here\",\n \"Categories\": \"Insert the corresponding Google Drive folder ID here\",\n}[$('For Each Sheet...').item.json.data]\n}}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "087249d0-d001-49c3-8695-e0e3f02b66e2",
"name": "For Each Service...",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1498.4444710709047,
520
],
"parameters": {
"options": {
"reset": false
}
},
"typeVersion": 3
},
{
"id": "edd9e2c7-9477-4145-bb1f-1424ccb2080f",
"name": "Update Row Status",
"type": "n8n-nodes-base.googleSheets",
"position": [
2558.444471070905,
1380
],
"parameters": {
"columns": {
"value": {
"status": "done",
"row_number": "={{ $('Execute Workflow Trigger').first().json.data.row_number }}"
},
"schema": [
{
"id": "displayName",
"type": "string",
"display": true,
"required": false,
"displayName": "displayName",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "status",
"type": "string",
"display": true,
"required": false,
"displayName": "status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "row_number",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "row_number",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"row_number"
]
},
"options": {},
"operation": "update",
"sheetName": {
"__rl": true,
"mode": "name",
"value": "={{ $('Execute Workflow Trigger').first().json.sheet }}"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": ""
}
},
"typeVersion": 4.4
},
{
"id": "454ccacd-104c-4cad-b52e-72447a49fb04",
"name": "Single Integration Non-native",
"type": "n8n-nodes-base.set",
"position": [
778.4444710709047,
1580
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={{\n{\n \"data\": [\n {\n \"question\": `How can I set up ${$json.data.displayName} integration in n8n?`,\n \"answer\": `To use ${$json.data.displayName} integration in n8n, start by adding the HTTP Request node to your workflow canvas and authenticate it using a generic authentication method. Once connected, you can make custom API calls to ${$json.data.displayName} to query the data you need using the URLs you provide, for example:`,\n \"ai_example\": \"Assume useris advanced in n8n integration and sending HTTP requests, focus instead on examples operations and/or use-cases such as creating records, updating records, or retrieving data.\",\n \"ai_completion\": true\n },\n{\n \"question\": `Do I need any special permissions or API keys to integrate ${$json.data.displayName} with n8n?`,\n \"answer\": `Yes, with generic authentication, you'll typically need to provide endpoint URLs, headers, parameters, and any other authentication details specific to **${$json.data.displayName}**: - Find the **${$json.data.displayName}** API documentation and see if the API supports HTTP requests; - Most APIs require some form of authentication and you can configure this in the HTTP Request mode (Basic Auth, Custom Auth, Digest Auth, Header Auth, OAuth1 API, OAuth2 API, Query Auth).`,\n \"ai_completion\": false\n },\n{\n \"question\": `Can I combine ${$json.data.displayName} with other apps in n8n workflows?`,\n \"answer\": `Definitely! n8n enables you to create workflows that combine ${$json.data.displayName} with other apps and services. For instance,`,\n \"ai_completion\": true\n },\n {\n \"question\": `What are some common use cases for ${$json.data.displayName} integrations with n8n?`,\n \"answer\": `Common use cases for ${$json.data.displayName} automation include`,\n \"append\": `With n8n, you can customize these workflows to fit your specific needs and extend them by adding other 400+ integrations or incorporating advanced AI logic.`,\n \"ai_completion\": true\n },\n {\n \"question\": `How does n8n\u2019s pricing model benefit me when integrating ${$json.data.displayName}?`,\n \"answer\": `n8n's pricing model is designed to be both affordable and scalable, which is particularly beneficial when integrating with ${ $json.data.displayName}. Unlike other platforms that charge per operation or task, n8n charges only for full workflow executions. This means you can create complex workflows with ${ $json.data.displayName}, involving thousands of tasks or steps, without worrying about escalating costs. For example, if your ${ $json.data.displayName} workflows perform around 100k tasks, you could be paying $500+/month on other platforms, but with n8n's pro plan, you start at around $50. This approach allows you to scale your ${ $json.data.displayName} integrations efficiently while maintaining predictable costs.`,\n \"ai_completion\": false\n }\n ]\n}\n}}"
},
"typeVersion": 3.4
},
{
"id": "660fda59-4222-489a-a19a-b3ae0ed7c66f",
"name": "If has Data",
"type": "n8n-nodes-base.if",
"position": [
1678.4444710709047,
640
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "aea0bac0-4d4a-4359-8df0-1309c3126376",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json.data }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "911aece8-1137-48d4-85f6-ee15ebfdc299",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1238.4444710709047,
620
],
"parameters": {
"width": 193.4545454545455,
"height": 317.09090909090907,
"content": "\uc5ec\uae30\uc5d0\uc11c \ubaa9\uc801\uc9c0 \ud3f4\ub354\ub97c \uc124\uc815\ud558\uc138\uc694"
},
"typeVersion": 1
},
{
"id": "44d206a7-049c-4721-8934-2308a4b67821",
"name": "Needs AI Completion?1",
"type": "n8n-nodes-base.switch",
"position": [
1458.4444710709047,
1780
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "TEXT_REPLACE",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "boolean",
"operation": "false",
"singleValue": true
},
"leftValue": "={{ $json.ai_completion }}",
"rightValue": ""
}
]
},
"renameOutput": true
},
{
"outputKey": "AI_COMPLETE",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f3fcd8ea-6cfa-4658-86c3-3ace9b81d3f2",
"operator": {
"type": "boolean",
"operation": "true",
"singleValue": true
},
"leftValue": "={{ $json.ai_completion }}",
"rightValue": ""
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3
},
{
"id": "14999c7a-2497-46db-b3b5-ede6a9c89dcb",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-20,
320
],
"parameters": {
"color": 7,
"width": 322.9750655002858,
"height": 374.7055783044638,
"content": "## \ud2b8\ub9ac\uac70 \uc774\ubca4\ud2b8\n\uc774\uac83\uc740 \ud544\uc694\uc5d0 \ub530\ub77c \uc6d0\ud558\ub294 \ud2b8\ub9ac\uac70 \uc774\ubca4\ud2b8\ub85c \ubcc0\uacbd\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4: \uc571 \uc774\ubca4\ud2b8, \uc2a4\ucf00\uc904, \uc6f9\ud6c5 \ud638\ucd9c, \ub2e4\ub978 \uc6cc\ud06c\ud50c\ub85c \ub610\ub294 AI \ucc44\ud305. \ub54c\ub54c\ub85c, HTTP Request \ub178\ub4dc\uac00 \uc774\ubbf8 \uc2dc\uc791 \uc9c0\uc810\uc73c\ub85c \uc791\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"typeVersion": 1
},
{
"id": "99a4ca3b-3ad0-48a7-84d7-eb83b61e938b",
"name": "Switch",
"type": "n8n-nodes-base.switch",
"position": [
538.4444710709047,
1400
],
"parameters": {
"rules": {
"values": [
{
"outputKey": "Single - Native",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.sheet }}",
"rightValue": "Single Integration Native"
}
]
},
"renameOutput": true
},
{
"outputKey": "Single - Cred Only",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "6dcb9e09-5eb6-4527-9c22-7eb8867643f4",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.sheet }}",
"rightValue": "Single Integration Cred-only"
}
]
},
"renameOutput": true
},
{
"outputKey": "Single - Non Native",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "04ee4ccd-9efc-46a9-9521-fe50fb0c3087",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.sheet }}",
"rightValue": "Single Integration Non-native"
}
]
},
"renameOutput": true
},
{
"outputKey": "Categories",
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "21579253-15c5-4cb4-869b-5760322ae5b5",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.sheet }}",
"rightValue": "Categories"
}
]
},
"renameOutput": true
}
]
},
"options": {}
},
"typeVersion": 3
},
{
"id": "7fe047c7-716c-4ac3-8b7c-c07949c579a4",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
459.1561069271204,
320
],
"parameters": {
"color": 7,
"width": 1627.0681704544622,
"height": 636.4009080766225,
"content": "## Google Sheets\uc5d0\uc11c \ub370\uc774\ud130 \uc900\ube44 \n\uc774 \uc6cc\ud06c\ud50c\ub85c\uc758 \uc774 \ubd80\ubd84\uc740 \ub2e4\uc591\ud55c \uc11c\ube44\uc2a4\ub098 \uce74\ud14c\uace0\ub9ac\uc5d0 \ub300\ud55c \uc815\ubcf4\ub97c \ud3ec\ud568\ud558\ub294 Google Sheets \ubb38\uc11c\uc5d0\uc11c \ub370\uc774\ud130\ub97c \uc77d\uae30 \uc704\ud574 \uc900\ube44\ud569\ub2c8\ub2e4. \uc5ec\uae30 Google Sheet\uc758 \uc608\uc2dc\uc785\ub2c8\ub2e4: https://docs.google.com/spreadsheets/d/1DCf-phfLWvuTwu02bumx-qykVQeFANnacTTAkRj5tZk/edit?usp=sharing"
},
"typeVersion": 1
},
{
"id": "cb3dc532-40db-437d-97ec-f522e6087b7c",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
498.4444710709047,
1080
],
"parameters": {
"color": 7,
"width": 513.3200522929088,
"height": 840.0651105548446,
"content": "## Q&A \ud15c\ud50c\ub9bf \ub9cc\ub4e4\uae30 \n\uac01 \uc11c\ube44\uc2a4 \ub610\ub294 \uce74\ud14c\uace0\ub9ac\uc5d0 \ub300\ud574, \uc774 \uc6cc\ud06c\ud50c\ub85c\uc758 \uc774 \ubd80\ubd84\uc740 \uc124\uc815, \uad8c\ud55c, \ud1b5\ud569, \uc0ac\uc6a9 \uc0ac\ub840, \ubc0f \uac00\uaca9 \ud61c\ud0dd\uc744 \ub2e4\ub8e8\ub294 \ud45c\uc900 \uc9c8\ubb38\uacfc \ub2f5\ubcc0 \uc138\ud2b8\ub97c \uc0dd\uc131\ud569\ub2c8\ub2e4. \uc5ec\uae30\uc5d0\uc11c AI\uc5d0 \uc81c\uacf5\ud560 \uc785\ub825\uc744 \uc218\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"typeVersion": 1
},
{
"id": "b4095a1b-91aa-4abc-8ed5-d6ca7271ee6c",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1238.4444710709047,
1640
],
"parameters": {
"color": 7,
"width": 989.1782467385665,
"height": 523.7514972875132,
"content": "## AI\ub97c \uc0ac\uc6a9\ud558\uc5ec Q&A \ud15c\ud50c\ub9bf\uc744 \uc644\uc131\ud558\uc138\uc694\n* AI \ubaa8\ub378(OpenAI\uc758 GPT)\uc774 \uc77c\ubd80 \ub2f5\ubcc0\uc744 \ud5a5\uc0c1\uc2dc\ud0a4\uac70\ub098 \uc644\uc131\ud558\uc5ec \ucf58\ud150\uce20\ub97c \ub354 \ud3ec\uad04\uc801\uc774\uace0 \uc790\uc5f0\uc2a4\ub7fd\uac8c \ub9cc\ub4ed\ub2c8\ub2e4.\n* \uc6cc\ud06c\ud50c\ub85c\uc6b0\uac00 Q&A \uc30d\uc744 \ud615\uc2dd\ud654\ud558\uc5ec AI \uc0dd\uc131 \ucf58\ud150\uce20\ub97c \uc801\uc6a9 \uac00\ub2a5\ud55c \uacf3\uc5d0\uc11c \ubbf8\ub9ac \uc815\uc758\ub41c \ub2f5\ubcc0\uacfc \uacb0\ud569\ud569\ub2c8\ub2e4."
},
"typeVersion": 1
},
{
"id": "d944dfd9-4bfc-4fb0-8655-3269f6caa8ef",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1858.4444710709047,
1200
],
"parameters": {
"color": 7,
"width": 907.1258470912726,
"height": 396.4865508957922,
"content": "## JSON \uc2a4\ud0a4\ub9c8 \uc0dd\uc131 \ubc0f Google Drive \uc5c5\ub85c\ub4dc\n* \uc0dd\uc131\ub41c \ud30c\uc77c\uc740 Google Drive\uc758 \ud2b9\uc815 \ud3f4\ub354\uc5d0 \uc800\uc7a5\ub418\uba70, \ud1b5\ud569 \uc720\ud615(native, credential-only, non-native) \ub610\ub294 \uce74\ud14c\uace0\ub9ac\uc5d0 \ub530\ub77c \uad6c\uc131\ub429\ub2c8\ub2e4.\n* \uac01 \uc11c\ube44\uc2a4 \ub610\ub294 \uce74\ud14c\uace0\ub9ac\ub97c \ucc98\ub9ac\ud55c \ud6c4, \uc6d0\ubcf8 Google Sheets \ubb38\uc11c\uc758 \uc0c1\ud0dc\ub97c \uc5c5\ub370\uc774\ud2b8\ud558\uc5ec \uc644\ub8cc\ub41c \uac83\uc73c\ub85c \ud45c\uc2dc\ud569\ub2c8\ub2e4."
},
"typeVersion": 1
},
{
"id": "e21d2a42-021f-4f8e-889d-68a851e9e688",
"name": "Strapi",
"type": "n8n-nodes-base.strapi",
"position": [
2978.444471070905,
1380
],
"parameters": {
"operation": "create"
},
"typeVersion": 1
},
{
"id": "92ba57a7-a37a-4d67-9db9-7fa2fe72eec5",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2918.444471070905,
1100
],
"parameters": {
"color": 7,
"width": 437.8755022115163,
"height": 1073.2774375197612,
"content": "## JSON \uc2a4\ud0a4\ub9c8\ub97c CMS\uc5d0 \ubcf4\ub0b4\uae30\n\uc774 \ub2e8\uacc4\ub294 \uc0ac\uc6a9\uc790\uac00 \uc644\ub8cc\ud574\uc57c \ud569\ub2c8\ub2e4: n8n\uc758 \ubbf8\ub9ac \uad6c\ucd95\ub41c \ub178\ub4dc\ub97c \uc0ac\uc6a9\ud558\uc5ec CMS\uc5d0 \uc5f0\uacb0\ud558\uac70\ub098, CMS\uac00 n8n\uc5d0\uc11c \uc9c1\uc811 \uc9c0\uc6d0\ub418\uc9c0 \uc54a\ub294 \uacbd\uc6b0 HTTP Request \ub178\ub4dc\ub97c \uc0ac\uc6a9\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4."
},
"typeVersion": 1
},
{
"id": "a42de52f-292b-4b60-ba6d-ff1a672a9758",
"name": "Wordpress",
"type": "n8n-nodes-base.wordpress",
"position": [
2978.444471070905,
1580
],
"parameters": {
"additionalFields": {}
},
"credentials": {
"wordpressApi": {
"name": "<your credential>"
}
},
"typeVersion": 1
},
{
"id": "abcad9f3-9f05-40e7-8925-32c59b1a6355",
"name": "Webflow",
"type": "n8n-nodes-base.webflow",
"position": [
2978.444471070905,
1780
],
"parameters": {
"operation": "create"
},
"typeVersion": 2
},
{
"id": "60942673-646f-43df-8c0c-c78975ea38c4",
"name": "HTTP Request",
"type": "n8n-nodes-base.httpRequest",
"position": [
2978.444471070905,
1980
],
"parameters": {
"options": {}
},
"typeVersion": 4.2
},
{
"id": "d0a97b0c-1271-48e7-8587-5aae565b9d95",
"name": "AI Completion1",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1678.4444710709047,
1880
],
"parameters": {
"text": "=### The question\n{{ $json.question }}\n### Prefered answer format\n{{ $json.ai_completion_format ? 'markdown bullet list' : 'markdown' }}\n### User's answer\n{{ $json.answer }}\n{{\n$json.ai_example\n ? `### Guidance\\nWhen giving answer, follow this blueprint: ${$json.ai_example}`\n : ''\n}}",
"messages": {
"messageValues": [
{
"message": "=You are assisting with writing a FAQ for the service, {{ $('Execute Workflow Trigger').first().json.data.displayName || $('Execute Workflow Trigger').first().json.data['Category name'] }}. Complete the user's answer in regards to the given question. Ensure the answer is consistent by assuming the tone and style of the user's answer. Give your answer as succinctly as you can with no more than 3 sentences. Do not mention the user or use markdown, return plain text only as this output will be directly appended."
}
]
},
"promptType": "define"
},
"executeOnce": false,
"typeVersion": 1.4
}
],
"connections": {
"Switch": {
"main": [
[
{
"node": "Single Integration Native",
"type": "main",
"index": 0
}
],
[
{
"node": "Single Integration Cred-only",
"type": "main",
"index": 0
}
],
[
{
"node": "Single Integration Non-native",
"type": "main",
"index": 0
}
],
[
{
"node": "Categories",
"type": "main",
"index": 0
}
]
]
},
"Categories": {
"main": [
[
{
"node": "Question to List1",
"type": "main",
"index": 0
}
]
]
},
"If has Data": {
"main": [
[
{
"node": "Execute Workflow",
"type": "main",
"index": 0
}
],
[
{
"node": "For Each Service...",
"type": "main",
"index": 0
}
]
]
},
"Prepare Job": {
"main": [
[
{
"node": "For Each Sheet...",
"type": "main",
"index": 0
}
]
]
},
"Get Services": {
"main": [
[
{
"node": "Prepare Job",
"type": "main",
"index": 0
}
]
]
},
"Define Sheets": {
"main": [
[
{
"node": "Sheets To List...",
"type": "main",
"index": 0
}
]
]
},
"AI Completion1": {
"main": [
[
{
"node": "Format QA Pair1",
"type": "main",
"index": 0
}
]
]
},
"Format QA Pair1": {
"main": [
[
{
"node": "For Each Question...1",
"type": "main",
"index": 0
}
]
]
},
"Create From Text": {
"main": [
[
{
"node": "Update Row Status",
"type": "main",
"index": 0
}
]
]
},
"Execute Workflow": {
"main": [
[
{
"node": "For Each Service...",
"type": "main",
"index": 0
}
]
]
},
"For Each Sheet...": {
"main": [
[
{
"node": "For Each Service...",
"type": "main",
"index": 0
}
],
[
{
"node": "Get Services",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "AI Completion1",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Question to List1": {
"main": [
[
{
"node": "For Each Question...1",
"type": "main",
"index": 0
}
]
]
},
"Sheets To List...": {
"main": [
[
{
"node": "For Each Sheet...",
"type": "main",
"index": 0
}
]
]
},
"Update Row Status": {
"main": [
[
{
"node": "Strapi",
"type": "main",
"index": 0
}
]
]
},
"For Each Service...": {
"main": [
null,
[
{
"node": "If has Data",
"type": "main",
"index": 0
}
]
]
},
"For Each Question...1": {
"main": [
[
{
"node": "Questions to Object...1",
"type": "main",
"index": 0
}
],
[
{
"node": "Needs AI Completion?1",
"type": "main",
"index": 0
}
]
]
},
"Needs AI Completion?1": {
"main": [
[
{
"node": "Format QA Pair1",
"type": "main",
"index": 0
}
],
[
{
"node": "AI Completion1",
"type": "main",
"index": 0
}
]
]
},
"Questions to Object...1": {
"main": [
[
{
"node": "Format DisplayName + Questions1",
"type": "main",
"index": 0
}
]
]
},
"Execute Workflow Trigger": {
"main": [
[
{
"node": "Switch",
"type": "main",
"index": 0
}
]
]
},
"Single Integration Native": {
"main": [
[
{
"node": "Question to List1",
"type": "main",
"index": 0
}
]
]
},
"Single Integration Cred-only": {
"main": [
[
{
"node": "Question to List1",
"type": "main",
"index": 0
}
]
]
},
"Single Integration Non-native": {
"main": [
[
{
"node": "Question to List1",
"type": "main",
"index": 0
}
]
]
},
"Format DisplayName + Questions1": {
"main": [
[
{
"node": "Create From Text",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Test workflow\u2019": {
"main": [
[
{
"node": "Define Sheets",
"type": "main",
"index": 0
}
]
]
}
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
wordpressApi
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
2434. Uses lmChatOpenAi, googleDrive, googleSheets, executeWorkflowTrigger. Event-driven trigger; 36 nodes.
Source: https://github.com/n8nKOR/n8n-shared-workflow/blob/62a671327e906c22a40d290b339ff6d2373f8d75/workflows/n8nworkflows/ai/2434.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Enrich Faq Sections On Your Website Pages At Scale With Ai. Uses manualTrigger, lmChatOpenAi, splitInBatches, splitOut. Event-driven trigger; 36 nodes.
Strapi Splitout. Uses manualTrigger, lmChatOpenAi, splitInBatches, splitOut. Event-driven trigger; 36 nodes.
This n8n workflow template lets you easily generate comprehensive FAQ (Frequently Asked Questions) content for multiple services (or any items or pages you need to add the FAQs to). Simply provide the
Auto-Tag Blog Posts in WordPress with AI. Uses lmChatOpenAi, outputParserAutofixing, outputParserStructured, rssFeedReadTrigger. Event-driven trigger; 32 nodes.
This workflow automates tagging for WordPress posts using AI: Fetch blog post content and metadata. Generate contextually relevant tags using AI. Verify existing tags in WordPress and create new ones