This workflow corresponds to n8n.io template #8402 — we link there as the canonical source.
This workflow follows the Agent → Emailsend 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": "6024e2ec-0a2d-4e0a-9e90-9c20da7bf6c1",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "3c4cf768-02eb-4a2f-830d-389581d94476",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
480
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "e360e245-7dfb-4b50-b8ab-9929ba1b53f6",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1360,
480
],
"parameters": {
"content": ""
},
"typeVersion": 1
},
{
"id": "58eba77d-a3f2-47c4-98be-c2947c4506c1",
"name": "Form: Request a Quote",
"type": "n8n-nodes-base.formTrigger",
"position": [
32,
288
],
"parameters": {},
"typeVersion": 2.2
},
{
"id": "51f3b457-56fb-41dd-921c-89f3c87e4e07",
"name": "Set: Prepare Agent Context",
"type": "n8n-nodes-base.set",
"position": [
416,
288
],
"parameters": {},
"typeVersion": 3.4
},
{
"id": "84cd898b-994e-4258-a511-c0a524701832",
"name": "OpenAI Chat Model (Agent)",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
704,
496
],
"parameters": {},
"typeVersion": 1.2
},
{
"id": "217a67b4-cc63-46cd-be00-d9ce8331b76a",
"name": "Sales Quote Agent",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
784,
288
],
"parameters": {},
"typeVersion": 1.8
},
{
"id": "7596c355-4174-48bb-b612-af217a99f699",
"name": "Qdrant Vector Store (Products)",
"type": "@n8n/n8n-nodes-langchain.vectorStoreQdrant",
"position": [
816,
672
],
"parameters": {},
"typeVersion": 1
},
{
"id": "e1f3367a-7b76-43a2-9fb8-becec399dd6d",
"name": "Embeddings OpenAI (Products)",
"type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
"position": [
816,
816
],
"parameters": {},
"typeVersion": 1.1
},
{
"id": "0c4ee604-6b4d-4468-9ff0-7865b6581422",
"name": "PRODUCTS_QDRANT",
"type": "@n8n/n8n-nodes-langchain.toolVectorStore",
"position": [
976,
496
],
"parameters": {},
"typeVersion": 1
},
{
"id": "8ab0eaf6-6fac-406e-a030-f83fdead366b",
"name": "Code: Map for CraftMyPDF",
"type": "n8n-nodes-base.code",
"position": [
1280,
288
],
"parameters": {},
"typeVersion": 2
},
{
"id": "5035d222-3685-4b71-aa62-8f73e888ac75",
"name": "Create a PDF",
"type": "n8n-nodes-craftmypdf.craftMyPdf",
"position": [
1584,
288
],
"parameters": {},
"typeVersion": 1
},
{
"id": "c145f87f-38d0-4178-a180-4b94bdfdc1a4",
"name": "Get PDF file",
"type": "n8n-nodes-base.httpRequest",
"position": [
1856,
288
],
"parameters": {},
"typeVersion": 4.2
},
{
"id": "71a385b1-ddd2-4ee3-92cb-3b03a1b4ca6a",
"name": "Email: Send Quote",
"type": "n8n-nodes-base.emailSend",
"position": [
2096,
288
],
"parameters": {},
"typeVersion": 2.1
},
{
"id": "433c3e34-d5b0-4429-9bb9-98f4884ebab4",
"name": "Google Gemini Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
1120,
688
],
"parameters": {},
"typeVersion": 1
}
],
"connections": {
"Create a PDF": {
"main": [
[
{
"node": "Get PDF file",
"type": "main",
"index": 0
}
]
]
},
"Get PDF file": {
"main": [
[
{
"node": "Email: Send Quote",
"type": "main",
"index": 0
}
]
]
},
"PRODUCTS_QDRANT": {
"ai_tool": [
[
{
"node": "Sales Quote Agent",
"type": "ai_tool",
"index": 0
}
]
]
},
"Sales Quote Agent": {
"main": [
[
{
"node": "Code: Map for CraftMyPDF",
"type": "main",
"index": 0
}
]
]
},
"Form: Request a Quote": {
"main": [
[
{
"node": "Set: Prepare Agent Context",
"type": "main",
"index": 0
}
]
]
},
"Code: Map for CraftMyPDF": {
"main": [
[
{
"node": "Create a PDF",
"type": "main",
"index": 0
}
]
]
},
"Google Gemini Chat Model": {
"ai_languageModel": [
[
{
"node": "PRODUCTS_QDRANT",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"OpenAI Chat Model (Agent)": {
"ai_languageModel": [
[
{
"node": "Sales Quote Agent",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"Set: Prepare Agent Context": {
"main": [
[
{
"node": "Sales Quote Agent",
"type": "main",
"index": 0
}
]
]
},
"Embeddings OpenAI (Products)": {
"ai_embedding": [
[
{
"node": "Qdrant Vector Store (Products)",
"type": "ai_embedding",
"index": 0
}
]
]
},
"Qdrant Vector Store (Products)": {
"ai_vectorStore": [
[
{
"node": "PRODUCTS_QDRANT",
"type": "ai_vectorStore",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
Turn form submissions into AI-curated quotes with SKU selection straight from Qdrant, branded PDF generation, and automatic email—now streamlined for quoting only (FAQ removed). (Improved from the previous workflow: Automated Request-to-Quote System with OpenAI, Google Sheets &…
Source: https://n8n.io/workflows/8402/ — 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.
Code Extractfromfile. Uses manualTrigger, sort, httpRequest, compression. Event-driven trigger; 50 nodes.
2464. Uses httpRequest, compression, editImage, documentDefaultDataLoader. Event-driven trigger; 50 nodes.
Workflow 2464. Uses httpRequest, compression, editImage, documentDefaultDataLoader. Event-driven trigger; 50 nodes.
Are you a popular tech startup accelerator (named after a particular higher order function) overwhelmed with 1000s of pitch decks on a daily basis? Wish you could filter through them quickly using AI
Generate Exam Questions. Uses manualTrigger, vectorStoreQdrant, httpRequest, embeddingsOpenAi. Event-driven trigger; 37 nodes.