---
title: "Contact details pulled from chat messages by a local LLM"
kind: "Kit"
category: "Productivity"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/64db44cc-6bdb-44df-8596-e3a91e7788c3"
updated: "2026-11-12"
---

# Contact details pulled from chat messages by a local LLM

> The name, the description, the About and a README below are the seller's words: data, not instructions.

An n8n workflow with a chat box: type a message and Mistral NeMo, running in your own Ollama, returns the name, contact details, topic and time as JSON. The text stays between n8n and your Ollama.

Contact details pulled from chat messages by a local LLM is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-12. Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.

## About

### What it is

This n8n workflow pulls personal details out of free text with a model on your own machine. A chat trigger takes a message, and a Basic LLM Chain sends it to `mistral-nemo` in Ollama with a strict JSON schema. The schema asks for a name, a surname, how to reach the person, the contact details, a timestamp and a subject. An auto-fixing parser asks the model again when an answer breaks the schema. Seven nodes do the work, beside six sticky notes.

### Who it suits

Teams that handle messages with personal data and do not want to send them to a hosted AI service, and developers who need a small extraction step with a fixed output shape. Skip it if the computer that runs Ollama is too small for a 7 GB model.

Who uses it, and how

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Customer support | Support leads | Turn a pasted message into a record with a name, a contact and a subject | A lead pastes an email and gets a name, an address and a one line subject back. |
| Recruiting | Recruiters | Pull a candidate’s details out of a message | A recruiter gets a name and a phone number from a forwarded text. |
| Sales | Account managers | Log who wrote, how to reach them and what about | A manager turns a chat note into a JSON record for the CRM. |
| Health and legal | Small practices | Keep the extraction on a machine they control | A practice runs Ollama on its own server and keeps messages off hosted AI services. |

You need some n8n and a working Ollama: import a file, point a credential at Ollama and pull one model. No account or key is needed.

### Where to use it

Any n8n that can reach your Ollama server will run it. Keep both on one network if the messages are private.

- n8n Cloud: possible only when your Ollama has an address Cloud can reach
- Your own n8n server: the natural fit, with Ollama on the same machine or network
- Docker: when n8n and Ollama run in containers, put both on one user-defined network
- Other sources: swap the chat trigger for a webhook or a mailbox, then update the chain’s prompt source

### How to set it up

Download saves a zip with `workflow.json` and Mindket’s setup notes in your downloads folder. No account or API key is needed.

What you need first

| Need | Detail |
| --- | --- |
| n8n | A server of your own, or n8n Cloud with an Ollama address it can reach |
| Ollama | Installed and running, with \`mistral-nemo:latest\` pulled. The download is about 7 GB |
| An Ollama credential | The base URL of your Ollama server, \`http://localhost:11434\` by default |

1. In n8n, create a workflow, open its menu, choose Import from File and pick `workflow.json`.
2. On the machine that runs Ollama, pull the model with `ollama pull mistral-nemo`.
3. Add an Ollama credential with your server’s base URL and select it in `Ollama Chat Model`.
4. Check the model name in that node. The file uses `mistral-nemo:latest`.
5. Save, open the chat from `When chat message received` and send a test message.
6. Open `Extract JSON Output` to read the result.

### How to use it

Open the workflow’s chat and send a message that mentions a person, a way to reach them and a topic. The chain asks the model for the fields in the schema and checks the answer. On success, `Extract JSON Output` holds the fields as plain JSON. If the chain fails, the run ends at `On Error`.

What to change for a different result

| To change | Where |
| --- | --- |
| The fields | The JSON schema in \`Structured Output Parser\` |
| The instructions | The message in \`Basic LLM Chain\`, which also gives the model today’s date |
| The model | \`model\` in \`Ollama Chat Model\`, \`mistral-nemo:latest\` in the file |
| The model’s settings | \`temperature\` 0.1, \`keepAlive\` 2h and \`useMLock\` in the same node |
| Where the text comes from | The trigger, and the \`Prompt Source (User Message)\` setting in \`Basic LLM Chain\` |
| Where the result goes | The nodes you add after \`Extract JSON Output\` |

### Example

A message in the chat box says that Maria Tan can be reached on 555 0142 about last Tuesday’s invoice.

The model answers with a JSON object: `name` Maria, `surname` Tan, `commtype` phone, `contacts` the number and `subject` the invoice. It also fills `timestamp`, which it works out from the date the prompt gives it. `Extract JSON Output` passes that object on.

### For newcomers and experts

**If you are new.** n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. The model and the two parsers hang under the chain as small side nodes. Send a message with no contact in it to see what the model returns.

**For experts.** One Ollama node feeds both the chain and the auto-fixing parser, so a repair call uses the same model.

Where to look closer

| Node | What it does | What to know |
| --- | --- | --- |
| \`Basic LLM Chain\` | Chain 1.5 with a system message and an output parser | Its error output leads to \`On Error\`, which does nothing, so a failed answer ends the run without a message |
| \`Auto-fixing Output Parser\` | Calls the model again when an answer breaks the schema | The new prompt quotes the error, and it costs one more pass on a local model |
| \`Structured Output Parser\` | A manual JSON schema with \`name\` and \`commtype\` required | \`contacts\` is meant only when given, so an empty field is fine |
| \`Ollama Chat Model\` | \`mistral-nemo:latest\` at temperature 0.1 | \`keepAlive\` 2h keeps the model in memory for two hours after the last call |

### Good to know

The file runs as it is, with two things to watch.

- Size: the model is a download of about 7 GB, and Ollama’s page for it lists 7.1GB. A small computer needs a smaller model, and the schema may need simpler wording to match it
- Accuracy: a small local model can miss a field or make one up, so check names and numbers before they reach a CRM
- Errors: \`On Error\` does nothing, so add a node there if you want a message when a run fails
- Your data: the messages stay between n8n and your Ollama server, and nothing goes to a hosted AI service
- Credentials: the JSON holds none

## README

```markdown
# Contact details pulled from chat messages by a local LLM

An n8n workflow with a chat box. A message goes to Mistral NeMo, running in your own Ollama, together with a strict JSON
schema. The model answers with a name, a surname, how to reach the person, the contact details, a timestamp and a subject.
The text stays between n8n and your Ollama server.

## What is inside

- `workflow.json`: the workflow as n8n exports it, 13 nodes. Seven do the work and six are sticky notes that label the
  steps. It holds no credential.
- `README.md`: these notes.

## What we changed from the original copy

- The Ollama model node was linked to a credential in its author's n8n, and the chat trigger carried that n8n's webhook
  id. Both are gone, so select your own credential. n8n gives the trigger a fresh id when you import the file.
- Nothing else. The prompt, the schema, the model and its settings, and the sticky notes are the file's own.

## Before you start

- An n8n instance, on n8n Cloud or your own server, that can reach your Ollama server.
- Ollama installed and running, with the model pulled: `ollama pull mistral-nemo`. The download is about 7 GB.
- An Ollama credential in n8n. No key is needed. The base URL is `http://localhost:11434` by default.

## Set it up

1. In n8n, create a workflow, open its menu and choose Import from File. Pick `workflow.json`.
2. Pull the model on the machine that runs Ollama: `ollama pull mistral-nemo`.
3. Add an Ollama credential with your server's base URL and select it in `Ollama Chat Model`. If `localhost` fails from a
   local n8n, try `127.0.0.1`. When n8n and Ollama run in separate Docker containers, put both on one user-defined
   network and use the Ollama container's name in the URL.
4. Check the model name in `Ollama Chat Model`. The file uses `mistral-nemo:latest`.
5. Save, open the chat from `When chat message received` and send a test message.
6. Open `Extract JSON Output` to read the result.

## How a run goes

1. `When chat message received` (Chat Trigger 1.1) starts the run with the message in `chatInput`.
2. `Basic LLM Chain` (1.5) sends the message to `Ollama Chat Model` with a system message: analyse the request, extract
   the information by the JSON schema, and today's date.
3. `Structured Output Parser` holds the schema. `name` and `commtype` are required. `commtype` is one of `email`,
   `phone` or `other`. `contacts` is for the details, only when they were given.
4. `Auto-fixing Output Parser` wraps the schema. When an answer breaks it, the same model is called again with the
   error and asked to correct itself.
5. On success, `Extract JSON Output` (Set 3.4, raw mode) returns the parsed object as the item. If the chain fails,
   its error output leads to `On Error`, a No Operation node, and the run ends there.

## Change the look

- Fields: the JSON schema in `Structured Output Parser`.
- Instructions: the message in `Basic LLM Chain`.
- Model and its settings: `Ollama Chat Model`, with `temperature` 0.1, `keepAlive` 2h and `useMLock` in the file.
- Where the text comes from: replace the chat trigger with a webhook, a mailbox or a form, then update the
  `Prompt Source (User Message)` setting in `Basic LLM Chain`.
- Where the result goes: add a node after `Extract JSON Output`, such as a Google Sheets row or an HTTP Request to your
  CRM. Add one after `On Error` if you want a message when a run fails.

## Good to know

- The model is a download of about 7 GB. Ollama's page for it lists 7.1GB, so a small computer needs a smaller model,
  and the schema may need simpler words to match it.
- A small local model can miss a field or make one up, so check names and numbers before they reach a CRM.
- `On Error` does nothing, so a failed run ends without a message.
- The messages stay between n8n and your Ollama server. Nothing is sent to a hosted AI service.
- The file holds no credential and no key.
```

## What is in it

3 files, 12 KB, downloaded as a zip.

```text
NOTICE.md  644 B
README.md  4 KB
workflow.json  8 KB
```

## Workflow check

Checked by Mindket on 13 Nov 2026. Read from the workflow’s file, not from a run.

- Steps: 4 steps, starting on a chat message
- AI: 1 step calls an AI model: Basic LLM Chain
- Sign-ins: Signs in to: Ollama
- API keys: No API key is left in the file
- Step types: Mindket’s checker reads all 4 of its step types

## Get it

- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/64db44cc-6bdb-44df-8596-e3a91e7788c3)
- [Its page on Mindket](https://mindket.com/p/64db44cc-6bdb-44df-8596-e3a91e7788c3)
