Extract Contact Information from Business Cards with Mistral OCR and GPT-4o-mini
🧠 Business Card Scanner – Automate Contact Extraction
This workflow automates the process of extracting contact details from business cards (PDF or image) and saving them directly into an n8n Data Table.
No more manual data entry — just upload a card and let AI do the rest.
⚙️ How It Works
Upload the business card via a web form (PDF or image).
The uploaded file is converted to Base64 for processing.
The Base64 data is sent to the Mistral OCR API, which extracts text from the image.
The OCR output is parsed into JSON.
An AI Agent (OpenAI GPT-4o-mini) interprets the extracted text and converts it into structured business card information (e.g., name, company, email, phone).
The Structured Output Parser validates and aligns the data with a predefined schema.
The workflow upserts (inserts or updates) the contact details into an n8n Data Table named business cards, using the email address as the unique identifier.
✅ Result: Seamless digitization of business cards into structured, searchable contact data.
🧩 Prerequisites
Before importing the workflow, make sure you have the following:
n8n Instance with access to the Data Table feature
OpenAI Platform account and API key (configured in n8n)
Mistral AI account and API key (configured in n8n)
🛠️ Setup Steps
Import the Workflow
Download and import the JSON file into your n8n instance.
Create a Data Table
Name it business_cards (or adjust the workflow accordingly).
Add the following fields:
firstname
name
company
jobdescription
phone
mobil
email
street
postcode
place
web
Configure API Credentials
Mistral OCR API → Add your API key under HTTP Bearer Auth.
OpenAI API → Add your API key under OpenAI Credentials.
Model: gpt-4o-mini (recommended for speed and low cost).
Activate the Web Form Trigger
Enable the trigger node to make the business card upload form accessible via a public URL.
Test the Workflow
Upload a sample business card.
Confirm that extracted contact data automatically appears in your Data Table.
💡 Example JSON Output
{ "firstname": "Anna", "name": "Müller", "company": "NextGen Tech GmbH", "jobdescription": "Head of Marketing", "email": "anna.mueller@nextgen.tech", "phone": "+49 821 1234567", "mobil": "+49 170 9876543", "street": "Schillerstraße 12", "postcode": "86150", "place": "Augsburg", "web": "https://nextgen.tech" }
Related Templates
Extract Title tag and Meta description from url for SEO analysis with Airtable
Extract Title tag and meta description from url for SEO analysis. How it works The workflows takes records from Airtabl...
Restore your workflows from GitHub
This workflow restores all n8n instance workflows from GitHub backups using the n8n API node. It complements the Backup ...
Extract Named Entities from Web Pages with Google Natural Language API
Who is this for? Content strategists analyzing web page semantic content SEO professionals conducting entity-based anal...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments