Workflow to n8n Workflow to Ai Email Auto Responder With Ollama
Workflow to n8n Workflow to Ai Email Auto Responder With Ollama is a verified WORKFLOW blueprint on Promptally in n8n Automation Blueprints optimized for leading AI models. Multi-step automated node blueprint for n8n Workflow to Ai Email Auto Responder With Ollama. Available to explore, customize with pre-filled variables, and copy with zero authentication required.
Technical Specifications
| Specification | Value |
|---|---|
| Artifact type | WORKFLOW (n8n Automation Blueprints) |
| Compatible engines | Universal / Model Agnostic |
| Input variables | None (pre-filled) |
| Approximate tokens | 1,457 |
| Source file | AI Email Auto-Responder with Ollama.json |
| Access tier | Free public (MIT) |
Pre-Filled Template
{
"name": "AI Email Auto-Responder (Ollama)",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "minutes",
"minutesInterval": 5
}
]
}
},
"id": "schedule",
"name": "Check Every 5 Minutes",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
240,
300
]
},
{
"parameters": {
"operation": "getAll",
"returnAll": false,
"limit": 10,
"filters": {
"readStatus": "unread"
}
},
"id": "get-emails",
"name": "Get Unread Emails (IMAP)",
"type": "n8n-nodes-base.emailReadImap",
"typeVersion": 2,
"position": [
460,
300
],
"credentials": {
"imap": {
"id": "REPLACE_WITH_YOUR_IMAP_CREDENTIAL_ID",
"name": "Your IMAP Account"
}
}
},
{
"parameters": {
"url": "http://localhost:11434/api/generate",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ JSON.stringify({ model: 'llama3:8b', prompt: 'Classify this email into one of these categories: URGENT, QUESTION, FEEDBACK, SPAM, OTHER.\\n\\nFrom: ' + $json.from + '\\nSubject: ' + $json.subject + '\\nBody: ' + ($json.text || '').substring(0, 1000) + '\\n\\nRespond with ONLY the category name, nothing else.', stream: false, options: { temperature: 0.1, num_predict: 20 } }) }}",
"options": {
"timeout": 60000
}
},
"id": "classify",
"name": "1. Classify Email (Ollama)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
680,
300
]
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": false
},
"combinator": "or",
"conditions": [
{
"leftValue": "={{ JSON.parse($json.data).response.trim() }}",
"rightValue": "SPAM",
"operator": {
"type": "string",
"operation": "equals"
}
}
]
}
},
"id": "filter-spam",
"name": "Filter Spam",
"type": "n8n-nodes-base.filter",
"typeVersion": 2,
"position": [
900,
300
]
},
{
"parameters": {
"url": "http://localhost:11434/api/generate",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ JSON.stringify({ model: 'llama3:8b', prompt: 'Write a professional, helpful email reply to this message. Be concise and friendly.\\n\\nFrom: ' + $('Get Unread Emails (IMAP)').item.json.from + '\\nSubject: ' + $('Get Unread Emails (IMAP)').item.json.subject + '\\nBody: ' + ($('Get Unread Emails (IMAP)').item.json.text || '').substring(0, 2000) + '\\n\\nWrite ONLY the reply body (no subject line, no greeting format instructions). Sign off as the team.', stream: false, options: { temperature: 0.5, num_predict: 1000 } }) }}",
"options": {
"timeout": 120000
}
},
"id": "draft-reply",
"name": "2. Draft Reply (Ollama)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1120,
300
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "draft",
"name": "draft_reply",
"value": "={{ JSON.parse($json.data).response }}",
"type": "string"
},
{
"id": "original_from",
"name": "original_from",
"value": "={{ $('Get Unread Emails (IMAP)').item.json.from }}",
"type": "string"
},
{
"id": "original_subject",
"name": "original_subject",
"value": "={{ 'Re: ' + $('Get Unread Emails (IMAP)').item.json.subject }}",
"type": "string"
},
{
"id": "category",
"name": "category",
"value": "={{ JSON.parse($('1. Classify Email (Ollama)').item.json.data).response.trim() }}",
"type": "string"
}
]
}
},
"id": "prepare-output",
"name": "Prepare Draft for Review",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1340,
300
]
}
],
"connections": {
"Check Every 5 Minutes": {
"main": [
[
{
"node": "Get Unread Emails (IMAP)",
"type": "main",
"index": 0
}
]
]
},
"Get Unread Emails (IMAP)": {
"main": [
[
{
"node": "1. Classify Email (Ollama)",
"type": "main",
"index": 0
}
]
]
},
"1. Classify Email (Ollama)": {
"main": [
[
{
"node": "Filter Spam",
"type": "main",
"index": 0
}
]
]
},
"Filter Spam": {
"main": [
[
{
"node": "2. Draft Reply (Ollama)",
"type": "main",
"index": 0
}
]
]
},
"2. Draft Reply (Ollama)": {
"main": [
[
{
"node": "Prepare Draft for Review",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"tags": [
{
"name": "AI"
},
{
"name": "Ollama"
},
{
"name": "Email"
},
{
"name": "Automation"
}
]
}Workflow Node & Step Summary
| Step | Type | Configuration |
|---|---|---|
| Check Every 5 Minutes | n8n-nodes-base.scheduleTrigger | parameters, typeVersion, position |
| Get Unread Emails (IMAP) | n8n-nodes-base.emailReadImap | parameters, typeVersion, position, credentials |
| 1. Classify Email (Ollama) | n8n-nodes-base.httpRequest | parameters, typeVersion, position |
| Filter Spam | n8n-nodes-base.filter | parameters, typeVersion, position |
| 2. Draft Reply (Ollama) | n8n-nodes-base.httpRequest | parameters, typeVersion, position |
| Prepare Draft for Review | n8n-nodes-base.set | parameters, typeVersion, position |
Raw workflow JSON
{
"name": "AI Email Auto-Responder (Ollama)",
"nodes": [
{
"parameters": {
"rule": {
"interval": [
{
"field": "minutes",
"minutesInterval": 5
}
]
}
},
"id": "schedule",
"name": "Check Every 5 Minutes",
"type": "n8n-nodes-base.scheduleTrigger",
"typeVersion": 1.2,
"position": [
240,
300
]
},
{
"parameters": {
"operation": "getAll",
"returnAll": false,
"limit": 10,
"filters": {
"readStatus": "unread"
}
},
"id": "get-emails",
"name": "Get Unread Emails (IMAP)",
"type": "n8n-nodes-base.emailReadImap",
"typeVersion": 2,
"position": [
460,
300
],
"credentials": {
"imap": {
"id": "REPLACE_WITH_YOUR_IMAP_CREDENTIAL_ID",
"name": "Your IMAP Account"
}
}
},
{
"parameters": {
"url": "http://localhost:11434/api/generate",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ JSON.stringify({ model: 'llama3:8b', prompt: 'Classify this email into one of these categories: URGENT, QUESTION, FEEDBACK, SPAM, OTHER.\\n\\nFrom: ' + $json.from + '\\nSubject: ' + $json.subject + '\\nBody: ' + ($json.text || '').substring(0, 1000) + '\\n\\nRespond with ONLY the category name, nothing else.', stream: false, options: { temperature: 0.1, num_predict: 20 } }) }}",
"options": {
"timeout": 60000
}
},
"id": "classify",
"name": "1. Classify Email (Ollama)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
680,
300
]
},
{
"parameters": {
"conditions": {
"options": {
"caseSensitive": false
},
"combinator": "or",
"conditions": [
{
"leftValue": "={{ JSON.parse($json.data).response.trim() }}",
"rightValue": "SPAM",
"operator": {
"type": "string",
"operation": "equals"
}
}
]
}
},
"id": "filter-spam",
"name": "Filter Spam",
"type": "n8n-nodes-base.filter",
"typeVersion": 2,
"position": [
900,
300
]
},
{
"parameters": {
"url": "http://localhost:11434/api/generate",
"sendBody": true,
"specifyBody": "json",
"jsonBody": "={{ JSON.stringify({ model: 'llama3:8b', prompt: 'Write a professional, helpful email reply to this message. Be concise and friendly.\\n\\nFrom: ' + $('Get Unread Emails (IMAP)').item.json.from + '\\nSubject: ' + $('Get Unread Emails (IMAP)').item.json.subject + '\\nBody: ' + ($('Get Unread Emails (IMAP)').item.json.text || '').substring(0, 2000) + '\\n\\nWrite ONLY the reply body (no subject line, no greeting format instructions). Sign off as the team.', stream: false, options: { temperature: 0.5, num_predict: 1000 } }) }}",
"options": {
"timeout": 120000
}
},
"id": "draft-reply",
"name": "2. Draft Reply (Ollama)",
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.2,
"position": [
1120,
300
]
},
{
"parameters": {
"assignments": {
"assignments": [
{
"id": "draft",
"name": "draft_reply",
"value": "={{ JSON.parse($json.data).response }}",
"type": "string"
},
{
"id": "original_from",
"name": "original_from",
"value": "={{ $('Get Unread Emails (IMAP)').item.json.from }}",
"type": "string"
},
{
"id": "original_subject",
"name": "original_subject",
"value": "={{ 'Re: ' + $('Get Unread Emails (IMAP)').item.json.subject }}",
"type": "string"
},
{
"id": "category",
"name": "category",
"value": "={{ JSON.parse($('1. Classify Email (Ollama)').item.json.data).response.trim() }}",
"type": "string"
}
]
}
},
"id": "prepare-output",
"name": "Prepare Draft for Review",
"type": "n8n-nodes-base.set",
"typeVersion": 3.4,
"position": [
1340,
300
]
}
],
"connections": {
"Check Every 5 Minutes": {
"main": [
[
{
"node": "Get Unread Emails (IMAP)",
"type": "main",
"index": 0
}
]
]
},
"Get Unread Emails (IMAP)": {
"main": [
[
{
"node": "1. Classify Email (Ollama)",
"type": "main",
"index": 0
}
]
]
},
"1. Classify Email (Ollama)": {
"main": [
[
{
"node": "Filter Spam",
"type": "main",
"index": 0
}
]
]
},
"Filter Spam": {
"main": [
[
{
"node": "2. Draft Reply (Ollama)",
"type": "main",
"index": 0
}
]
]
},
"2. Draft Reply (Ollama)": {
"main": [
[
{
"node": "Prepare Draft for Review",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1"
},
"tags": [
{
"name": "AI"
},
{
"name": "Ollama"
},
{
"name": "Email"
},
{
"name": "Automation"
}
]
}