Build a Tax Code Assistant with Qdrant, Mistral.ai and OpenAI

Step 1. Download the Tax Code PDF [Read more about handling Zip Files](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.compression/) Let's begin by pulling a zip file containing all the tax codes as separate PDF files. We can unzip on the fly with n8n's compression node.

Workflow Structure (31 nodes)
100%
Manual Trigger
When clicking ‘Test workflow’
Http Request
Get Tax Code Zip File
Compression
Extract Zip Files
Split Out
Files as Items
Extract From File
Extract PDF Contents
Set
Extract From Chapter
Set
Map To Sections
Split Out
Sections To List
Filter
Only Valid Sections
Split In Batches
For Each Section...
Set
Content Chunking @ 50k Chars
Split Out
Split Out Chunks
Langchain.embeddings Mistral Cloud
Embeddings Mistral Cloud
Langchain.vector Store Qdrant
Qdrant Vector Store
Langchain.document Default Data Loader
Default Data Loader
Langchain.text Splitter Recursive Character Text Splitter
Recursive Character Text Splitter
Wait
1sec
Langchain.chat Trigger
When chat message received
Langchain.memory Buffer Window
Window Buffer Memory1
Langchain.agent
AI Agent
Langchain.lm Chat Open Ai
OpenAI Chat Model
Langchain.memory Buffer Window
Window Buffer Memory
Langchain.tool Workflow
Ask Tool
Langchain.tool Workflow
Search Tool
Execute Workflow Trigger
Execute Workflow Trigger
Switch
Switch
Http Request
Get Mistral Embeddings
Http Request
Use Qdrant Scroll API
Http Request
Use Qdrant Search API1
Set
Get Search Response
Set
Get Ask Response
Node Types:
trigger
default
logic
http
transform
Requires credentials

Prerequisites

Required Credentials (3)

Mistral Cloud

Used by: Embeddings Mistral Cloud, Get Mistral Embeddings

Docs

OpenAI

Used by: OpenAI Chat Model

Docs

Qdrant

Used by: Use Qdrant Search API1, Use Qdrant Scroll API +1 more

Docs

Multiple services required

This workflow needs 3 different credentials. Make sure you have accounts for all services before importing.

Complexity

Advanced

Expert level. Custom code, complex logic, many integrations.

Setup time: ~50 min
Score: 75/100
Conditional Logic
Loops
6 Integrations

When to Use This Workflow

AI-Powered Content Creation

Automate content generation, summarization, or analysis using AI capabilities.

Save hours of manual work while maintaining quality and consistency.

Real-time Response

React instantly when events happen - new orders, form submissions, or API calls.

Zero delay between trigger and action for time-sensitive workflows.

Error Reduction

Eliminate human error from routine processes with consistent automation.

Improve accuracy and reliability across your workflows.

workflow.json
{
  "meta": {
    "instanceId": "26ba763460b97c249b82942b23b6384876dfeb9327513332e743c5f6219c2b8e"
  },
  "nodes": [
    {
      "id": "1bb3c94e-326e-41ca-82e4-102a598dba39",
      "name": "When clicking ‘Test workflow’",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -320,
        300
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "751b283b-ea88-4fcd-ace3-3c86631f8876",
      "name": "Embeddings Mistral Cloud",
      "type": "@n8n/n8n-nodes-langchain.embeddingsMistralCloud",
...

Workflow Details

Nodes
38
Trigger
Event
Source
awesome
Added
Dec 4, 2025

Need Help?

Check out the official n8n documentation for detailed guides.

Related Workflows

Building RAG Chatbot for Movie Recommendations with Qdrant and Open AI

Tool, calling Qdrant's recommendation API based on user's request, transformed by AI agent

Github
Embeddingsopenai
Documentdefaultdataloader
Textsplittertokensplitter
27 nodesEvent
Curated

Recipe Recommendations with Qdrant and Mistral

Step 1. Fetch Available Courses For the Current Week To populate our vectorstore, we'll scrape the weekly menu off the H...

Http-request
Embeddingsmistralcloud
Documentdefaultdataloader
Textsplitterrecursivecharactertextsplitter
33 nodesEvent
Curated

Chat with GitHub OpenAPI Specification using RAG (Pinecone and OpenAI)

Indexing content in the vector database This part of the workflow is responsible for extracting content, generating embe...

Http-request
Vectorstorepinecone
Documentdefaultdataloader
Textsplitterrecursivecharactertextsplitter
17 nodesEvent
Curated

AI-powered WooCommerce Support-Agent

Find WooCommerce User-ID User-ID is required to query past orders

Memorybufferwindow
Executeworkflow
Woocommerce
Http-request
40 nodesEvent
Curated

Advanced AI Demo (Presented at AI Developers #14 meetup)

![h](https://i.postimg.cc/9XLvL5dL/slide-sf-talk.pngfull-width)

Slack
Textsplitterrecursivecharactertextsplitter
Embeddingsopenai
Documentdefaultdataloader
39 nodesEvent
Curated

OpenAI Personal Shopper with RAG and WooCommerce

Replace the URL and Collection name with your own

Chat
Memorybufferwindow
Toolcalculator
Lmchatopenai
25 nodesEvent
Curated