Turn any PDF into a clean Google Doc with Mistral OCR
Ready for 3.0What this workflow does
This AI workflow has 15 nodes and runs when someone submits an n8n form (“Document Scanner”). Along the way it connects Google Docs and OpenRouter Chat Model. It also calls api.mistral.ai over HTTP.
How it runs
Trigger: When someone submits an n8n form (“Document Scanner”).
- Upload • PDF to Mistral (HTTP Request): calls api.mistral.ai (POST)
- Fetch • Signed URL (HTTP Request): calls an HTTP API
- OCR • PDF via Mistral (HTTP Request): calls api.mistral.ai (POST)
- Extract • Image Placeholders (Code): runs custom JavaScript code
- Merge: merges the data from its input branches
- OCR • Inline Images (HTTP Request): calls api.mistral.ai (POST)
- Merge: merges the data from its input branches
- Enrich • Replace Placeholders (Code): runs custom JavaScript code
- Set • Rename Columns (Edit Fields (Set)): sets 4 fields: pageIndex, imageId, imageDataUri…
- Clean • Markdown Text (Basic LLM Chain): sends a prompt to an LLM, with model: LLM Model • GPT-4.1-mini
…plus 3 more steps. See the full node list below.
Services it uses
HTTP calls to: api.mistral.ai
Before you upgrade to n8n 3.0
Nothing in this workflow is removed in n8n 3.0, so it should import and run after the upgrade.
Nodes used (9)
- n8n Form Trigger
n8n-nodes-base.formTrigger - HTTP Request
n8n-nodes-base.httpRequest - Code
n8n-nodes-base.code - Merge
n8n-nodes-base.merge - Edit Fields (Set)
n8n-nodes-base.set - Aggregate
n8n-nodes-base.aggregate - Basic LLM Chain
@n8n/n8n-nodes-langchain.chainLlm - Google Docs
n8n-nodes-base.googleDocs - OpenRouter Chat Model
@n8n/n8n-nodes-langchain.lmChatOpenRouter
From the author
Upload a PDF and instantly get a neatly formatted Google Doc with all the readable text—no manual copy-paste, no messy line breaks. What this workflow does Accepts PDF uploads via a public form Sends the file to Mistral Cloud for high-accuracy OCR Detects and…