Workflow to n8n Workflow to Inboxzero Lite Ai Email Classifier
Workflow to n8n Workflow to Inboxzero Lite Ai Email Classifier 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 Inboxzero Lite Ai Email Classifier. 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,291 |
| Source file | InboxZero Lite - AI Email Classifier.json |
| Access tier | Free public (MIT) |
Pre-Filled Template
{
"name": "InboxZero Lite \u2014 Simple Email Classifier (Log Only)",
"nodes": [
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute",
"minute": 5
}
]
},
"simple": false,
"filters": {
"readStatus": "unread"
}
},
"id": "trigger-gmail",
"name": "Gmail: New Email",
"type": "n8n-nodes-base.gmailTrigger",
"typeVersion": 1.2,
"position": [
200,
400
]
},
{
"parameters": {
"jsCode": "try {\n const e = $input.first().json;\n return [{ json: { messageId: e.id || '', from: e.from?.value?.[0]?.address || '', fromName: e.from?.value?.[0]?.name || '', subject: e.subject || '', snippet: (e.snippet || '').substring(0, 500), date: e.date || new Date().toISOString() } }];\n} catch (e) {\n throw new Error('Failed to parse email: ' + e.message);\n}"
},
"id": "parse",
"name": "Parse Email",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
420,
400
]
},
{
"parameters": {
"model": "gpt-4o-mini",
"messages": {
"values": [
{
"role": "system",
"content": "Classify this email as: urgent, important, informational, or spam. Also write a 1-sentence summary. JSON: { \"category\": \"...\", \"summary\": \"...\" }"
},
{
"role": "user",
"content": "=From: {{$json.fromName}} <{{$json.from}}>\nSubject: {{$json.subject}}\n\n{{$json.snippet}}"
}
]
},
"options": {
"temperature": 0.2,
"maxTokens": 200,
"responseFormat": "json_object"
}
},
"id": "ai-classify",
"name": "AI: Classify",
"type": "n8n-nodes-base.openAi",
"typeVersion": 1.8,
"position": [
640,
400
],
"retryOnFail": true,
"maxTries": 3,
"waitBetweenTries": 2000
},
{
"parameters": {
"jsCode": "const email = $('Parse Email').first().json;\nconst aiRaw = $input.first().json;\nlet ai;\ntry { ai = JSON.parse(aiRaw.message?.content || '{}'); } catch(e) { ai = { category: 'informational', summary: '' }; }\nreturn [{ json: { ...email, category: ai.category || 'informational', summary: ai.summary || '', classifiedAt: new Date().toISOString() } }];"
},
"id": "merge",
"name": "Merge Result",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
860,
400
]
},
{
"parameters": {
"operation": "append",
"documentId": {
"__rl": true,
"value": "={{ $env.INBOXZERO_SHEET_ID }}",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "Lite Log",
"mode": "name"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Date": "={{ $json.date }}",
"From": "={{ $json.from }}",
"Subject": "={{ $json.subject }}",
"Category": "={{ $json.category }}",
"Summary": "={{ $json.summary }}"
}
},
"options": {}
},
"id": "log-sheets",
"name": "Log to Sheets",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
1080,
400
],
"retryOnFail": true,
"maxTries": 2
},
{
"parameters": {
"content": "## InboxZero Lite \u2014 Classify Only\n\nSimplest version: classify + log.\nNo auto-actions, no Slack, no drafts.\n\nPerfect for trying InboxZero before\nenabling auto-actions.",
"width": 300,
"height": 180,
"color": 6
},
"id": "note",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
120,
180
]
}
],
"connections": {
"Gmail: New Email": {
"main": [
[
{
"node": "Parse Email",
"type": "main",
"index": 0
}
]
]
},
"Parse Email": {
"main": [
[
{
"node": "AI: Classify",
"type": "main",
"index": 0
}
]
]
},
"AI: Classify": {
"main": [
[
{
"node": "Merge Result",
"type": "main",
"index": 0
}
]
]
},
"Merge Result": {
"main": [
[
{
"node": "Log to Sheets",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1",
"saveManualExecutions": true
},
"tags": [
{
"name": "InboxZero",
"id": "inboxzero"
},
{
"name": "AutoFlow",
"id": "autoflow"
},
{
"name": "Lite",
"id": "lite"
}
],
"meta": {
"instanceId": "inboxzero-lite-v1"
}
}Workflow Node & Step Summary
| Step | Type | Configuration |
|---|---|---|
| Gmail: New Email | n8n-nodes-base.gmailTrigger | parameters, typeVersion, position |
| Parse Email | n8n-nodes-base.code | parameters, typeVersion, position |
| AI: Classify | n8n-nodes-base.openAi | parameters, typeVersion, position, retryOnFail, maxTries |
| Merge Result | n8n-nodes-base.code | parameters, typeVersion, position |
| Log to Sheets | n8n-nodes-base.googleSheets | parameters, typeVersion, position, retryOnFail, maxTries |
| Sticky Note | n8n-nodes-base.stickyNote | parameters, typeVersion, position |
Raw workflow JSON
{
"name": "InboxZero Lite \u2014 Simple Email Classifier (Log Only)",
"nodes": [
{
"parameters": {
"pollTimes": {
"item": [
{
"mode": "everyMinute",
"minute": 5
}
]
},
"simple": false,
"filters": {
"readStatus": "unread"
}
},
"id": "trigger-gmail",
"name": "Gmail: New Email",
"type": "n8n-nodes-base.gmailTrigger",
"typeVersion": 1.2,
"position": [
200,
400
]
},
{
"parameters": {
"jsCode": "try {\n const e = $input.first().json;\n return [{ json: { messageId: e.id || '', from: e.from?.value?.[0]?.address || '', fromName: e.from?.value?.[0]?.name || '', subject: e.subject || '', snippet: (e.snippet || '').substring(0, 500), date: e.date || new Date().toISOString() } }];\n} catch (e) {\n throw new Error('Failed to parse email: ' + e.message);\n}"
},
"id": "parse",
"name": "Parse Email",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
420,
400
]
},
{
"parameters": {
"model": "gpt-4o-mini",
"messages": {
"values": [
{
"role": "system",
"content": "Classify this email as: urgent, important, informational, or spam. Also write a 1-sentence summary. JSON: { \"category\": \"...\", \"summary\": \"...\" }"
},
{
"role": "user",
"content": "=From: {{$json.fromName}} <{{$json.from}}>\nSubject: {{$json.subject}}\n\n{{$json.snippet}}"
}
]
},
"options": {
"temperature": 0.2,
"maxTokens": 200,
"responseFormat": "json_object"
}
},
"id": "ai-classify",
"name": "AI: Classify",
"type": "n8n-nodes-base.openAi",
"typeVersion": 1.8,
"position": [
640,
400
],
"retryOnFail": true,
"maxTries": 3,
"waitBetweenTries": 2000
},
{
"parameters": {
"jsCode": "const email = $('Parse Email').first().json;\nconst aiRaw = $input.first().json;\nlet ai;\ntry { ai = JSON.parse(aiRaw.message?.content || '{}'); } catch(e) { ai = { category: 'informational', summary: '' }; }\nreturn [{ json: { ...email, category: ai.category || 'informational', summary: ai.summary || '', classifiedAt: new Date().toISOString() } }];"
},
"id": "merge",
"name": "Merge Result",
"type": "n8n-nodes-base.code",
"typeVersion": 2,
"position": [
860,
400
]
},
{
"parameters": {
"operation": "append",
"documentId": {
"__rl": true,
"value": "={{ $env.INBOXZERO_SHEET_ID }}",
"mode": "id"
},
"sheetName": {
"__rl": true,
"value": "Lite Log",
"mode": "name"
},
"columns": {
"mappingMode": "defineBelow",
"value": {
"Date": "={{ $json.date }}",
"From": "={{ $json.from }}",
"Subject": "={{ $json.subject }}",
"Category": "={{ $json.category }}",
"Summary": "={{ $json.summary }}"
}
},
"options": {}
},
"id": "log-sheets",
"name": "Log to Sheets",
"type": "n8n-nodes-base.googleSheets",
"typeVersion": 4.5,
"position": [
1080,
400
],
"retryOnFail": true,
"maxTries": 2
},
{
"parameters": {
"content": "## InboxZero Lite \u2014 Classify Only\n\nSimplest version: classify + log.\nNo auto-actions, no Slack, no drafts.\n\nPerfect for trying InboxZero before\nenabling auto-actions.",
"width": 300,
"height": 180,
"color": 6
},
"id": "note",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
120,
180
]
}
],
"connections": {
"Gmail: New Email": {
"main": [
[
{
"node": "Parse Email",
"type": "main",
"index": 0
}
]
]
},
"Parse Email": {
"main": [
[
{
"node": "AI: Classify",
"type": "main",
"index": 0
}
]
]
},
"AI: Classify": {
"main": [
[
{
"node": "Merge Result",
"type": "main",
"index": 0
}
]
]
},
"Merge Result": {
"main": [
[
{
"node": "Log to Sheets",
"type": "main",
"index": 0
}
]
]
}
},
"settings": {
"executionOrder": "v1",
"saveManualExecutions": true
},
"tags": [
{
"name": "InboxZero",
"id": "inboxzero"
},
{
"name": "AutoFlow",
"id": "autoflow"
},
{
"name": "Lite",
"id": "lite"
}
],
"meta": {
"instanceId": "inboxzero-lite-v1"
}
}