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" }

0
Downloads
26
Views
8.24
Quality Score
beginner
Complexity
Author:Wolfgang Renner(View Original →)
Created:10/15/2025
Updated:11/23/2025

🔒 Please log in to import templates to n8n and favorite templates

Workflow Visualization

Loading...

Preparing workflow renderer

Comments (0)

Login to post comments