( ′∀`)σ≡σ☆))Д′)レ(゚∀゚;)ヘ=З=З=Зε≡(ノ´_ゝ`)ノ
{
"name": "ProposalX",
"nodes": [
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "df28b12e-7c20-4ff5-b5b8-dc773aa14d4b",
"name": "request_id",
"type": "string",
"value": "={{ $execution.id }}"
},
{
"id": "9362c1e7-717d-444a-8ea2-6b5f958c9f3f",
"name": "prompt",
"type": "string",
"value": "={{ $json['What proposal would you like to create?'] }}"
},
{
"id": "09094be4-7844-4a9e-af82-cc8e39322398",
"name": "depth",
"type": "number",
"value": "={{ $json.depth }}"
},
{
"id": "3fc30a30-7806-4013-835d-97e27ddd7ae1",
"name": "breadth",
"type": "number",
"value": "={{ $json.breadth }}"
}
]
},
"options": {}
},
"id": "e58a461e-0ad1-450c-8922-4b6087f026b7",
"name": "Set Variables",
"type": "n8n-nodes-base.set",
"position": [
1440,
960
],
"typeVersion": 3.4
},
{
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "o3-mini"
},
"options": {}
},
"id": "99ed8a7f-87d2-4abb-80bc-71aaca92e28d",
"name": "OpenAI Chat Model2",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1744,
1120
],
"typeVersion": 1.2,
"credentials": {
"openAiApi": {
"id": "RGOApeM8N42iIiHF",
"name": "OpenAi account"
}
}
},
{
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"questions\": {\n \"type\": \"array\",\n \"description\": \"Follow up questions to clarify the proposal direction, max of 3.\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n }\n}"
},
"id": "aad37049-3365-4661-b10a-e24565daf8ea",
"name": "Structured Output Parser1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1968,
1120
],
"typeVersion": 1.2
},
{
"parameters": {
"formTitle": "Proposal X",
"formDescription": "=ProposalX is a multi-step, recursive approach designed to efficiently create high-quality proposals. It uses advanced data gathering and writing techniques, cutting down the time required to produce a well-researched, structured proposal from hours to minutes.\n\nExample of Instructions to create a good proposal 'Create a comprehensive proposal for the [PROJECT_NAME], described as [PROJECT_DESCRIPTION], targeting [TARGET_AUDIENCE], specifically [CUSTOMER_NAME] of [CUSTOMER_COMPANY]. Ensure a [TONE] tone and [STYLE] style, highlighting [KEY_HIGHLIGHTS] and [BENEFITS]. Outline [OBJECTIVES], [TIMELINE], and [BUDGET]. Include [VISUAL_AIDS] and provide [TEAM_INFORMATION]. Address to [CUSTOMER_TITLE] at [CUSTOMER_ADDRESS]. The document should be approximately [PAGE_COUNT] pages and ready by [SUBMISSION_DEADLINE].'",
"formFields": {
"values": [
{
"fieldType": "html",
"html": ""
}
]
},
"options": {
"appendAttribution": false,
"buttonLabel": "Next",
"path": "deep_proposal",
"ignoreBots": true
}
},
"id": "c9fdc6f3-96d0-4382-a563-e15b1207b895",
"name": "On form submission",
"type": "n8n-nodes-base.formTrigger",
"position": [
1040,
960
],
"webhookId": "f3d73301-6937-4e18-a639-df790a813f89",
"typeVersion": 2.2,
"notesInFlow": false,
"notes": "Create a comprehensive proposal for the [PROJECT_NAME], described as [PROJECT_DESCRIPTION], targeting [TARGET_AUDIENCE], specifically [CUSTOMER_NAME] of [CUSTOMER_COMPANY]. Ensure a [TONE] tone and [STYLE] style, highlighting [KEY_HIGHLIGHTS] and [BENEFITS]. Outline [OBJECTIVES], [TIMELINE], and [BUDGET]. Include [VISUAL_AIDS] and provide [TEAM_INFORMATION]. Address to [CUSTOMER_TITLE] at [CUSTOMER_ADDRESS]. The document should be approximately [PAGE_COUNT] pages and ready by [SUBMISSION_DEADLINE]."
},
{
"parameters": {
"fieldToSplitOut": "output.questions",
"options": {}
},
"id": "ddd81a66-d18c-4e5d-87cd-da91e08ad4ed",
"name": "Feedback to Items",
"type": "n8n-nodes-base.splitOut",
"position": [
2080,
960
],
"typeVersion": 1
},
{
"parameters": {
"formFields": {
"values": [
{
"fieldLabel": "={{ $json[\"output.questions\"] }}",
"fieldType": "textarea",
"placeholder": "=",
"requiredField": true
}
]
},
"options": {
"formTitle": "ProposalX",
"formDescription": "=<img\n src=\"https://www.thebrand.ai/i/uploads/slider/slider_66dc37268d29a7-88153936-47415963.jpg\"\n width=\"100%\"\n style=\"border:1px solid #ccc\"\n/>\n<p style=\"text-align:left\">\nAnswer the following clarification questions to assist Brand AI in better understanding the proposal requirements.\n</p>\n<hr style=\"display:block;margin-top:16px;margin-bottom:0\" />\n<p style=\"text-align:left;font-family:sans-serif;font-weight:700;\">\nTotal {{ $('Feedback to Items').all().length }} questions.\n</p>\n",
"buttonLabel": "Answer"
}
},
"id": "e2d190f2-84ab-457d-bb85-ac392521d594",
"name": "Ask Clarity Questions",
"type": "n8n-nodes-base.form",
"position": [
2448,
1040
],
"webhookId": "d3781778-a54e-4345-8f8d-49c7ca5dabfe",
"typeVersion": 1
},
{
"parameters": {
"options": {}
},
"id": "c0cc0424-10c1-4db9-ba17-946e36ff0bb0",
"name": "For Each Question...",
"type": "n8n-nodes-base.splitInBatches",
"position": [
2272,
960
],
"typeVersion": 3
},
{
"parameters": {
"content": "## 2. Ask Clarifying Questions\n[Read more about form nodes](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.form/)\n\nTo handle the clarification questions generated by the LLM, I used the same technique found in my \"AI Interviewer\" template ([link](https://n8n.io/workflows/2566-conversational-interviews-with-ai-agents-and-n8n-forms/)).\nThis involves a looping of dynamically generated forms to collect answers from the user.",
"height": 560,
"width": 1000,
"color": 7
},
"id": "f8112902-abca-4f74-a247-36c182133306",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
1664,
752
],
"typeVersion": 1
},
{
"parameters": {
"promptType": "define",
"text": "=Given the following proposal request from the user, ask up to 4 follow-up questions to clarify the proposal direction. Return a maximum of 4 questions, but feel free to return less if the original query is clear.Only ask necessary questions:\n<query>{{ $json.prompt }}</query>",
"hasOutputParser": true,
"messages": {
"messageValues": [
{
"type": "HumanMessagePromptTemplate",
"message": "=**You are an expert proposal writer. Today is {{ $now.toLocaleString() }}. Follow these instructions when responding:** \n- You may be asked to craft proposals for industries or trends beyond your knowledge cutoff; assume the user’s request is accurate when referring to new developments. \n- The user is a highly experienced business development professional—no need to simplify. Be as detailed as possible, ensuring accuracy and strategic depth. \n- Be highly organized. \n- Suggest proposal strategies and angles the user may not have considered. \n- Be proactive and anticipate the user’s needs. \n- Treat the user as an expert in all aspects of proposal writing and business strategy. \n- Mistakes erode trust, so be accurate, thorough, and professional. \n- Provide detailed, structured responses—the user values depth and nuance. \n- Prioritize strong arguments and compelling value propositions over conventional wisdom or industry norms. \n- Consider innovative approaches, emerging trends, and unconventional strategies, not just best practices. \n- You may incorporate speculative or predictive elements—just flag them appropriately.\n-clearly communicate value, align with client needs, and persuade decision-makers. \n-include key sections that high-converting proposals typically include"
}
]
}
},
"id": "f9b9c359-0c5e-49aa-a4d5-0677b253e803",
"name": "Clarifying Questions",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1760,
960
],
"typeVersion": 1.5
},
{
"parameters": {
"operation": "completion",
"completionTitle": "=Thank you for using Brand AI.",
"completionMessage": "=You may now close this window.",
"options": {}
},
"id": "7a7eb20e-4be3-40a1-89c6-92e78ce78a62",
"name": "End Form",
"type": "n8n-nodes-base.form",
"position": [
3760,
1008
],
"webhookId": "689000ca-952b-48d0-acb9-626c822d2758",
"typeVersion": 1
},
{
"parameters": {
"workflowId": {
"__rl": true,
"value": "HTY8DBRA2b8iUFlN",
"mode": "list",
"cachedResultName": "ProposalXSUB"
},
"workflowInputs": {
"mappingMode": "defineBelow",
"value": {
"requestId": "={{ $('Set Variables').first().json.request_id }}",
"jobType": "deepresearch_initiate",
"data": "={{\n{\n \"query\": $('Get Initial Query').first().json.query,\n \"learnings\": [],\n \"depth\": $('Set Variables').first().json.depth,\n \"breadth\": $('Set Variables').first().json.breadth,\n}\n}}"
},
"matchingColumns": [],
"schema": [
{
"id": "requestId",
"displayName": "requestId",
"required": false,
"defaultMatch": false,
"display": true,
"canBeUsedToMatch": true,
"removed": false
},
{
"id": "jobType",
"displayName": "jobType",
"required": false,
"defaultMatch": false,
"display": true,
"canBeUsedToMatch": true,
"type": "string",
"removed": false
},
{
"id": "data",
"displayName": "data",
"required": false,
"defaultMatch": false,
"display": true,
"canBeUsedToMatch": true,
"type": "object",
"removed": false
}
],
"attemptToConvertTypes": false,
"convertFieldsToString": true
},
"mode": "each",
"options": {
"waitForSubWorkflow": false
}
},
"id": "b4db5ac4-a286-432c-8f0f-63a599519879",
"name": "Initiate DeepResearch",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
3408,
1008
],
"typeVersion": 1.2
},
{
"parameters": {
"model": {
"__rl": true,
"mode": "id",
"value": "o3-mini"
},
"options": {}
},
"id": "4eacffd3-0085-4847-ae83-f246efd4e075",
"name": "OpenAI Chat Model4",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
2784,
1152
],
"typeVersion": 1.2,
"credentials": {
"openAiApi": {
"id": "RGOApeM8N42iIiHF",
"name": "OpenAi account"
}
}
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "14b77741-c3c3-4bd2-be6e-37bd09fcea2b",
"name": "query",
"type": "string",
"value": "=Initial query: {{ $('Set Variables').first().json.prompt }}\nFollow-up Questions and Answers:\n{{\n$input.all()\n .map(item => {\n const q = Object.keys(item.json)[0];\n const a = item.json[q];\n return `question: ${q}\\nanswer: ${a}`;\n })\n .join('\\n')\n}}"
}
]
},
"options": {}
},
"id": "b6a2fdb1-bf55-4dfa-ac8c-de989066a310",
"name": "Get Initial Query",
"type": "n8n-nodes-base.set",
"position": [
2448,
880
],
"executeOnce": true,
"typeVersion": 3.4
},
{
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"title\": {\n \"type\": \"string\",\n \"description\": \"A short title summarizing the proposal topic\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"A short description to summarize the proposal topic\"\n }\n }\n}\n"
},
"id": "5889855a-7f55-4ea6-9a8a-b699e78daabc",
"name": "Structured Output Parser4",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
2960,
1152
],
"typeVersion": 1.2
},
{
"parameters": {
"resource": "databasePage",
"databaseId": {
"__rl": true,
"value": "1b9448de-bdb2-800d-981d-d87120c4ea6a",
"mode": "list",
"cachedResultName": "ProposalX By Brand AI",
"cachedResultUrl": "https://www.notion.so/1b9448debdb2800d981dd87120c4ea6a"
},
"title": "={{ $json.output.title }}",
"propertiesUi": {
"propertyValues": [
{
"key": "Description|rich_text",
"textContent": "={{ $json.output.description }}"
},
{
"key": "Status|status",
"statusValue": "Not started"
},
{
"key": "Request ID|rich_text",
"textContent": "={{ $('Set Variables').first().json.request_id }}"
},
{
"key": "Name|title",
"title": "={{ $json.output.title }}"
}
]
},
"options": {}
},
"id": "35240658-e98e-43d9-84f1-9e38d0339c86",
"name": "Create Row",
"type": "n8n-nodes-base.notion",
"position": [
3104,
1008
],
"typeVersion": 2.2,
"credentials": {
"notionApi": {
"id": "tFjIhGZDHO1eUM93",
"name": "Notion account"
}
}
},
{
"parameters": {
"promptType": "define",
"text": "=As an expert proposal writer, Create a suitable title for the proposal document based on the user's query.\n<query>{{ $json.query }}</query>",
"hasOutputParser": true
},
"id": "0dbec78b-0d88-4936-b1c1-264e7245b229",
"name": "Report Page Generator",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
2784,
1008
],
"typeVersion": 1.5
},
{
"parameters": {
"content": "## 3. Create Empty Report Page in Notion\n[Read more about the Notion node](https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.notion/)\n\nSome thought was given where to upload the final report and Notion was selected due to familiarity. This can be easily changed to whatever wiki tools you prefer.\n\nIf you're following along however, here's the Notion database you need to replicate - [Jim's n8n DeepResearcher Database](https://jimleuk.notion.site/19486dd60c0c80da9cb7eb1468ea9afd?v=19486dd60c0c805c8e0c000ce8c87acf).",
"height": 560,
"width": 600,
"color": 7
},
"id": "c9a3297c-16eb-4fc4-ae7f-362851d002d3",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
2688,
752
],
"typeVersion": 1
},
{
"parameters": {
"content": "## 4. Trigger DeepResearch Asynchronously\n[Learn more about the Execute Trigger node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executeworkflow/)\n\nn8n handles asynchronous jobs by spinning them off as separate executions. This basically means the user doesn't have to wait or keep their browser window open for our researcher to do its job.\n\nOnce we initiate the Deepresearcher job, we can close out the onboarding journey for a nice user experience.",
"height": 560,
"width": 640,
"color": 7
},
"id": "e2f75f50-5abd-4aac-867a-50e3be79685e",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
3328,
752
],
"typeVersion": 1
},
{
"parameters": {
"content": "## 1. Let's Research!\n[Learn more about the form trigger node](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.formtrigger)\n\nn8n forms are a really nice way to get our frontend up and running quickly and compared to chat, offers a superior user interface for user input. I've gone perhaps a little extra with the custom html fields but I do enjoy adding a little customisation now and then.",
"height": 560,
"width": 680,
"color": 7
},
"id": "49ae0560-bb52-43a3-95de-b28d5c436809",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
752
],
"typeVersion": 1
},
{
"parameters": {
"formFields": {
"values": [
{
"fieldType": "html",
"html": "=<a href=\"{{ $json.url }}\" style=\"text-decoration:none\" target=\"_blank\">\n<div style=\"display:flex;text-align:left;font-family:sans-serif;\">\n <div style=\"width:150px;height:150px;padding:12px;\">\n <img src=\"https://www.thebrand.ai/i/uploads/slider/slider_66dc37268d29a7-88153936-47415963.jpg\" width=\"100%\" />\n </div>\n <div style=\"width:100%;padding:12px;\">\n <div style=\"font-size:14px;font-weight:700\">{{ $json.name }}</div>\n <div style=\"font-size:12px;color:#666\">\n {{ $json.property_description }}\n </div>\n </div>\n</div>\n</a>"
}
]
},
"options": {
"formTitle": "Brand AI",
"formDescription": "=<img\n src=\"https://www.thebrand.ai/i/uploads/slider/slider_66dc37268d29a7-88153936-47415963.jpg\"\n width=\"100%\"\n style=\"border:1px solid #ccc\"\n/>\n<p style=\"text-align:left\">\n<strong style=\"display:block;font-family:sans-serif;font-weight:700;font-size:16px;margin-top:12px;margin-bottom:0;\">Your Report Is On Its Way!</strong>\n<br/>\nDeepResearcher will now work independently to conduct the research and the compiled report will be uploaded to the following Notion page below when finished.\n<br/><br/>\nPlease click the \"Done\" button to complete the form.\n</p>\n<hr style=\"display:block;margin-top:16px;margin-bottom:0\" />",
"buttonLabel": "Done"
}
},
"id": "67d841d3-081e-406e-a229-11e4412e1acd",
"name": "Confirmation",
"type": "n8n-nodes-base.form",
"position": [
3584,
1008
],
"webhookId": "794d688f-0d81-40db-a431-78528037d360",
"typeVersion": 1
},
{
"parameters": {
"formFields": {
"values": [
{
"fieldLabel": "What proposal would you like to create?",
"fieldType": "textarea",
"requiredField": true
},
{
"fieldType": "html",
"html": "<style>\n/* Core Resets */\nbody {\n font-family: 'Inter', 'Poppins', sans-serif;\n background: #f4f7fb;\n padding: 2rem;\n margin: 0;\n color: #333;\n}\n/* Core Form Card Styling */\nform.card {\n max-width: 800px;\n margin: 2rem auto;\n background: #ffffff;\n border-radius: 12px;\n box-shadow: 0 10px 25px rgba(0, 0, 0, 0.07);\n padding: 2rem;\n font-family: 'Inter', 'Segoe UI', sans-serif;\n color: #333;\n}\n\n/* Header Styling */\n.form-header h1 {\n font-size: 1.75rem;\n font-weight: 600;\n margin-bottom: 0.5rem;\n}\n\n.form-header img {\n margin-top: 1rem;\n border-radius: 8px;\n border: 1px solid #ccc;\n}\n\n/* Input & Textarea Base Styles */\n.form-input,\ntextarea.form-input {\n width: 100%;\n padding: 0.75rem 1rem;\n border: 1px solid #ccc;\n border-radius: 8px;\n font-size: 1rem;\n transition: border 0.3s;\n margin-top: 0.25rem;\n}\n\n.form-input:focus,\ntextarea.form-input:focus {\n border-color: #4a90e2;\n outline: none;\n}\n\n/* Labels */\n.form-label {\n font-weight: 500;\n display: block;\n margin-bottom: 0.35rem;\n font-size: 0.95rem;\n}\n\n/* Required Indicator */\n.form-required::after {\n content: ' *';\n color: #e74c3c;\n}\n\n/* Form Group Spacing */\n.form-group {\n margin-bottom: 1.5rem;\n}\n\n/* Error Styling */\n.error-hidden {\n display: none;\n}\n\n.error-show {\n display: block;\n font-size: 0.85rem;\n color: #e74c3c;\n margin-top: 0.25rem;\n}\n\n/* Checkbox Multiselect */\n.multiselect {\n padding: 0.75rem 1rem;\n border: 1px solid #ccc;\n border-radius: 8px;\n background: #fafafa;\n}\n\n.multiselect-option {\n display: flex;\n align-items: flex-start;\n gap: 0.5rem;\n}\n\n.multiselect-option label {\n font-size: 0.85rem;\n line-height: 1.3;\n color: #333;\n}\n\n/* Range Inputs */\ninput[type=\"range\"] {\n width: 100%;\n margin-top: 0.5rem;\n}\n\n/* Slider Labels */\n.range-labels {\n display: flex;\n justify-content: space-between;\n font-size: 0.75rem;\n color: #555;\n margin-top: 0.5rem;\n padding: 0 2px;\n}\n\n.range-description {\n font-size: 0.85rem;\n color: #666;\n margin-bottom: 0.5rem;\n}\n\n/* Submit Button */\n#submit-btn {\n width: 100%;\n background: #4a90e2;\n color: #fff;\n border: none;\n padding: 0.85rem 1.25rem;\n font-size: 1rem;\n font-weight: 600;\n border-radius: 8px;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n transition: background 0.3s;\n}\n\n#submit-btn:hover {\n background: #357ab8;\n}\n\n#submit-btn svg {\n fill: #fff;\n}\n\n/* Responsive Adjustments */\n@media (max-width: 480px) {\n form.card {\n padding: 1.25rem;\n }\n\n .form-header h1 {\n font-size: 1.5rem;\n }\n\n #submit-btn {\n font-size: 0.95rem;\n }\n}\n\n \n</style>"
},
{
"fieldType": "html",
"html": "<div class=\"form-group\" style=\"margin-bottom:16px;\">\n <label class=\"form-label\" for=\"breadth\">\n Enter research breadth (Default 2)\n </label>\n <p style=\"font-size:12px;color:#666;text-align:left\">\n This value determines how many sources to explore.\n </p>\n <input\n class=\"form-input\"\n type=\"range\"\n id=\"breadth\"\n name=\"breadth\"\n value=\"2\"\n step=\"1\"\n max=\"5\"\n min=\"1\"\n list=\"breadth-markers\"\n onChange=\"document.querySelector(`input[name='field-5']`).value = this.value\"\n >\n <datalist\n id=\"breadth-markers\"\n style=\"display: flex;\n flex-direction: row;\n justify-content: space-between;\n writing-mode: horizontal-tb;\n margin-top: -10px;\n text-align: center;\n font-size: 10px;\n margin-left: 16px;\n margin-right: 16px;\"\n >\n <option value=\"1\" label=\"1\"></option>\n <option value=\"2\" label=\"2\"></option>\n <option value=\"3\" label=\"3\"></option>\n <option value=\"4\" label=\"4\"></option>\n <option value=\"5\" label=\"5\"></option>\n </datalist>\n</div>\n\n"
},
{
"fieldLabel": "={{ \"\" }}",
"fieldType": "dropdown",
"fieldOptions": {
"values": [
{
"option": "=I understand higher depth and breath values I've selected may incur longer wait times and higher costs. I acknowledging this and wish to proceed with the research request."
}
]
},
"multiselect": true,
"requiredField": true
},
{
"fieldName": "depth",
"fieldType": "hiddenField",
"fieldValue": "1"
},
{
"fieldName": "breadth",
"fieldType": "hiddenField",
"fieldValue": "2"
}
]
},
"options": {
"formTitle": "Brand AI",
"formDescription": "=<img\n src=\"https://www.thebrand.ai/i/uploads/slider/slider_66dc37268d29a7-88153936-47415963.jpg\"\n width=\"100%\"\n style=\"border:1px solid #ccc\"\n/>"
}
},
"id": "980b183a-221f-4d8d-8e85-b49c5ddda900",
"name": "Research Request",
"type": "n8n-nodes-base.form",
"position": [
1248,
960
],
"webhookId": "b8f7ce71-413a-4cdf-b623-40ef92f1dd58",
"typeVersion": 1
},
{
"parameters": {
"content": "### Not using forms?\nFeel free ot swap this out for chat or even webhooks to fit your existing workflows.",
"height": 100,
"width": 300,
"color": 5
},
"id": "1504704e-56d1-4030-8e53-b2ac7dc0c300",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
992,
1184
],
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"Create Row": {
"main": [
[
{
"node": "Initiate DeepResearch",
"type": "main",
"index": 0
}
]
]
},
"Confirmation": {
"main": [
[
{
"node": "End Form",
"type": "main",
"index": 0
}
]
]
},
"Set Variables": {
"main": [
[
{
"node": "Clarifying Questions",
"type": "main",
"index": 0
}
]
]
},
"Research Request": {
"main": [
[
{
"node": "Set Variables",
"type": "main",
"index": 0
}
]
]
},
"Feedback to Items": {
"main": [
[
{
"node": "For Each Question...",
"type": "main",
"index": 0
}
]
]
},
"Get Initial Query": {
"main": [
[
{
"node": "Report Page Generator",
"type": "main",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Research Request",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model2": {
"ai_languageModel": [
[
{
"node": "Clarifying Questions",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model4": {
"ai_languageModel": [
[
{
"node": "Report Page Generator",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Clarifying Questions": {
"main": [
[
{
"node": "Feedback to Items",
"type": "main",
"index": 0
}
]
]
},
"For Each Question...": {
"main": [
[
{
"node": "Get Initial Query",
"type": "main",
"index": 0
}
],
[
{
"node": "Ask Clarity Questions",
"type": "main",
"index": 0
}
]
]
},
"Ask Clarity Questions": {
"main": [
[
{
"node": "For Each Question...",
"type": "main",
"index": 0
}
]
]
},
"Initiate DeepResearch": {
"main": [
[
{
"node": "Confirmation",
"type": "main",
"index": 0
}
]
]
},
"Report Page Generator": {
"main": [
[
{
"node": "Create Row",
"type": "main",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "Clarifying Questions",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser4": {
"ai_outputParser": [
[
{
"node": "Report Page Generator",
"type": "ai_outputParser",
"index": 0
}
]
]
}
},
"active": true,
"settings": {},
"versionId": "f429b089-c3f5-4f18-bef8-681a194fe541",
"meta": {
"templateId": "2878",
"instanceId": "1b609a0a16b88a0c82d88be8ef5c2982d7d6d4a8078f13f2246fa375c4bc345a"
},
"id": "kfbjjqpoojiAm1QL",
"tags": []
}