← All N8N workflows
AI & researchAgentChat TriggerCodeDocument Default Data LoaderEmbeddings Mistral Cloud

🚨Ensure Qdrant collection exists!

Configured with Agent, Chat Trigger, Document Default Data Loader, Embeddings Mistral Cloud, and additional nodes. Review the connections and setup before adapting this template.

Workflow preview
TriggerWhen clicking "Testworkflow"Manual TriggerWeb / APIGet This Week's MenuHTTP RequestCodeExtract AvailableCoursesCodeTransformExtract Server DataHtmlTransformGet Course MetadataEdit FieldsWeb / APIGet RecipeHTTP RequestAI & modelsEmbeddings MistralCloudEmbeddings Mistral CloudFiles / mediaDefault Data LoaderDocument Default Data Lo…TransformMerge Course & RecipeMergeTransformPrepare DocumentsEdit FieldsTransformRecursive CharacterText SplitterText Splitter Recursive …TriggerChat TriggerChat TriggerTransformExtract Recipe DetailsHtmlSubworkflowQdrant Recommend APITool WorkflowTriggerExecute WorkflowTriggerExecute Workflow TriggerAI & modelsMistral Cloud ChatModelLM Chat Mistral CloudTransformGet Tool ResponseEdit FieldsWaitWait for Rate LimitsWaitWeb / APIGet Mistral EmbeddingsHTTP RequestWeb / APIUse Qdrant RecommendAPIHTTP RequestCodeGet Recipes From DBCodeCodeSave Recipes to DBCodeAI & modelsAI AgentAgentData storeQdrant Vector StoreVector Store Qdrant

Node categories in this workflow

  • Trigger
  • Web / API
  • Code
  • Transform
  • AI & models
  • Files / media
  • Subworkflow
  • Wait
  • Data store

Icons describe general node roles, inferred from node types. Inspect the parameters for the configured action.

Drag to pan; use + and − to zoom. Reconstructed from the exported node positions; nothing runs here. Dashed lines represent non-main connections. Full node names and notes appear below.

How it works

The exported workflow contains the following configured nodes. Their connections are shown above; inspect the JSON for the complete logic, expressions, and external actions.

Workflow node names, types, and operations
NodeCategoryTypeOperation
When clicking "Test workflow"TriggerManual TriggerSee node parameters
Get This Week's MenuWeb / APIHTTP RequestSee node parameters
Extract Available CoursesCodeCodeSee node parameters
Extract Server DataTransformHtmlextractHtmlContent
Get Course MetadataTransformEdit FieldsSee node parameters
Get RecipeWeb / APIHTTP RequestSee node parameters
Embeddings Mistral CloudAI & modelsEmbeddings Mistral CloudSee node parameters
Default Data LoaderFiles / mediaDocument Default Data LoaderSee node parameters
Merge Course & RecipeTransformMergeSee node parameters
Prepare DocumentsTransformEdit FieldsSee node parameters
Recursive Character Text SplitterTransformText Splitter Recursive Character Text SplitterSee node parameters
Chat TriggerTriggerChat TriggerSee node parameters
Extract Recipe DetailsTransformHtmlextractHtmlContent
Qdrant Recommend APISubworkflowTool WorkflowSee node parameters
Execute Workflow TriggerTriggerExecute Workflow TriggerSee node parameters
Mistral Cloud Chat ModelAI & modelsLM Chat Mistral CloudSee node parameters
Get Tool ResponseTransformEdit FieldsSee node parameters
Wait for Rate LimitsWaitWaitSee node parameters
Get Mistral EmbeddingsWeb / APIHTTP RequestPOST
Use Qdrant Recommend APIWeb / APIHTTP RequestPOST
Get Recipes From DBCodeCodeSee node parameters
Save Recipes to DBCodeCodeSee node parameters
AI AgentAI & modelsAgentSee node parameters
Qdrant Vector StoreData storeVector Store QdrantSee node parameters

Setup

  1. Download the JSON and import it into an isolated n8n instance. Leave the workflow inactive.
  2. Connect your own credentials through n8n’s credential store. Replace REPLACE_WITH_* values with your resource identifiers.
  3. Inspect API destinations, Code nodes, database queries, file paths, and outbound actions.
  4. Run with synthetic data and harmless destinations. Enable triggers only after checking the actual outputs.

Requirements

An n8n instance with the listed node types and compatible versions. Service-connected workflows may require accounts, credentials, or paid APIs.

Credential types declared in the source

  • mistralCloudApi
  • qdrantApi

Workflow notes

Step 1. Fetch Available Courses For the Current Week

Step 1. Fetch Available Courses For the Current Week

To populate our vectorstore, we'll scrape the weekly menu off the HelloFresh Website. The pages are quite large so may take a while so please be patient.

Step 2. Create Recipe Documents For VectorStore

Step 2. Create Recipe Documents For VectorStore

To populate our vectorstore, we'll scrape the weekly menu off the HelloFresh Website. The pages are quite large so may take a while so please be patient.

Step 3. Vectorise Recipes For Recommendation Engine

Step 3. Vectorise Recipes For Recommendation Engine

Read more about Qdrant node

We'll store our documents in our Qdrant vectorstore by converting to vectors using Mistral Embed. Our goal is to a build a recommendation engine for meals of the week which Qdrant is a perfect solution.

Step 4. Save Original Document to Database

Step 4. Save Original Document to Database

Read more about Code Node

Finally, let's have the original document stored in a more traditional datastore. USually our vectorsearch will return partial docs and those are enough for many use-cases, however in this instance we'll pull the full docs for the Agent get the info required to make the recommendation.

5. Chat with Our HelloFresh Recommendation AI Agent

5. Chat with Our HelloFresh Recommendation AI Agent

Read more about AI Agents

This agent is designed to recommend HelloFresh recipes based on your current taste preferences. Need something hot and spicy, warm and comforting or fast and chilled? This agent will capture what you would like and not like and queries our Recipe Recommendation engine powered by Qdrant Vectorstore.

5. Using Qdrant's Recommend API & Grouping Functionality

5. Using Qdrant's Recommend API & Grouping Functionality

Read more about Qdrant's Recommend API

Unlike basic similarity search, Qdrant's Recommend API takes a positive query to match against (eg. Roast Dinner) and a negative query to avoid (eg. Roast Chicken). This feature significantly improves results for a recommendation engine. Additionally, by utilising Qdrant's Grouping feature, we're able to group similar matches from the same recipe - meaning we can ensure unique recipes everytime.

Try it out!

Try it out!

This workflow does the following:

  • Fetches and stores this week's HelloFresh's menu
  • Builds the foundation of a recommendation engine by storing the recipes in a Qdrant Vectorstore and SQLite database.
  • Builds an AI Agent that allows for a chat interface to query for a the week's recipe recommendations.
  • AI agent uses the Qdrant Recommend API, providing what the user likes/dislikes as the query.
  • Qdrant returns the results which enable the AI Agent to make the recommendation to the user.

Need Help?

Join the Discord or ask in the Forum!

Happy Hacking!

🚨Ensure Qdrant collection exists!

🚨Ensure Qdrant collection exists!

You'll need to run the following command in Qdrant:

PUT collections/hello_fresh
{
  "vectors": {
    "distance": "Cosine",
    "size": 1024
  }
}
🚨Configure Your Qdrant Connection

🚨Configure Your Qdrant Connection

  • Be sure to enter your endpoint address
🚨Ensure Qdrant collection exists!

🚨Ensure Qdrant collection exists!

Purpose and structure

This folder contains the 🚨Ensure Qdrant collection exists! workflow. Its executable nodes use agent, chatTrigger, code, documentDefaultDataLoader, embeddingsMistralCloud, executeWorkflowTrigger, html, httpRequest, lmChatMistralCloud, manualTrigger, merge, set, textSplitterRecursiveCharacterTextSplitter, toolWorkflow, vectorStoreQdrant, wait. The table and connection map below are derived from the JSON, not an inferred guarantee of behavior.

Setup

Import inactive. Configure your own credentials and replace REPLACE_WITH_* values. Review external destinations and Code nodes before running.

Entry points

When clicking "Test workflow", Chat Trigger, Execute Workflow Trigger

Verification

Sanitized source candidate; not runtime-tested. This overview is generated from node metadata. Read the folder README for the connection map, credential types, and license.

Attribution

https://github.com/Zie619/n8n-workflows/blob/94007c1445d9258a7da116646b79473e7c7c3282/workflows/Wait/0533_Wait_Code_Export_Webhook.json MIT; preserve source notices.

More in AI & research