スマートGmailタグ:OpenAIを使用してメールのコンテンツの意図で分類する
上級
これはSupport, AI分野の自動化ワークフローで、18個のノードを含みます。主にSet, Gmail, Merge, SplitOut, Aggregateなどのノードを使用、AI技術を活用したスマート自動化を実現。 GPT-4 コンテンツ分析とラベルを使用して Gmail メッセージを自動のに分類する
前提条件
- •Googleアカウント + Gmail API認証情報
- •OpenAI API Key
使用ノード (18)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "Yc9bgOEvpyO1En1Z",
"meta": {
"instanceId": "1af8a0dc0d2f537b7c08209af728c271b5a03806bdf309bedf99d668f2608ee6",
"templateCredsSetupCompleted": true
},
"name": "Intelligent Gmail Labeling: Categorize Emails by Content Intent Using OpenAI",
"tags": [],
"nodes": [
{
"id": "7697a77b-7dc8-40e7-b8e2-859c724ed6d5",
"name": "付箋6",
"type": "n8n-nodes-base.stickyNote",
"position": [
2380,
40
],
"parameters": {
"width": 452.48413953150185,
"height": 347.0476323933831,
"content": "### Aggregate labels and update to message\nCreate array of label IDs and add to the desired email message in Gmail."
},
"typeVersion": 1
},
{
"id": "013c142d-eb86-4d62-bab3-9dc77fba7b3b",
"name": "Gmail trigger",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
720,
200
],
"parameters": {
"simple": false,
"filters": {},
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "2pW13S2GyP5GCdoP",
"name": "Gmail account"
}
},
"typeVersion": 1.2
},
{
"id": "78cf0980-b4ec-4ed0-9b49-014e4d5d63d3",
"name": "メール本文取得",
"type": "n8n-nodes-base.gmail",
"position": [
980,
200
],
"webhookId": "b773894c-18c6-454d-9271-6de10be1b7c4",
"parameters": {
"simple": false,
"options": {},
"messageId": "={{ $json.id }}",
"operation": "get"
},
"credentials": {
"gmailOAuth2": {
"id": "2pW13S2GyP5GCdoP",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "1f07bb8a-0e12-47fd-bf4f-751befeea37c",
"name": "メールにラベル割り当て",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
1240,
200
],
"parameters": {
"text": "={{ $('Gmail trigger').item.json.text }}",
"messages": {
"messageValues": [
{
"message": "=As an AI Assistant, your task is to categorize the message according to the following labels\n\nQuotation - email on discussing new opportunities to work with existing / new client on a new project\nProject progress - email on discussing and confirming specifications, schedule and progress of projects\nInquiry - email about product / service support\nNotification - email that doesn't require response\n\nOne email can have more than one label. Return only label names in JSON format, nothing else. Do not make things up."
}
]
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.5
},
{
"id": "c0f1e702-25b5-4887-b112-7d0d1c239ea1",
"name": "JSON Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
1460,
420
],
"parameters": {
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"labels\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\",\n \"enum\": [\"Inquiry\", \"Quotation\", \"Project progress\", \"Notification\"]\n }\n }\n },\n \"required\": [\"labels\"]\n}"
},
"typeVersion": 1.2
},
{
"id": "979aad50-8e34-471e-9016-c412e470c81b",
"name": "ラベル値設定",
"type": "n8n-nodes-base.set",
"position": [
1620,
200
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "72d11a72-6693-447c-b7ca-4ba1a3579075",
"name": "labels",
"type": "array",
"value": "={{ $json.output.labels }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "48e80f97-1679-40a5-860d-124d32c82316",
"name": "全ラベル取得",
"type": "n8n-nodes-base.gmail",
"position": [
1840,
80
],
"webhookId": "dec6f574-f47c-4b5d-86b9-2b0f6c957145",
"parameters": {
"resource": "label",
"returnAll": true
},
"credentials": {
"gmailOAuth2": {
"id": "2pW13S2GyP5GCdoP",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "e29e712a-7940-4ca3-9a82-525ac7d5f7bf",
"name": "割当ラベル分離",
"type": "n8n-nodes-base.splitOut",
"position": [
1840,
280
],
"parameters": {
"options": {},
"fieldToSplitOut": "labels"
},
"typeVersion": 1
},
{
"id": "95886e13-3412-4c27-8510-873bbaced52b",
"name": "対応ラベル統合",
"type": "n8n-nodes-base.merge",
"position": [
2180,
140
],
"parameters": {
"mode": "combine",
"options": {},
"advanced": true,
"mergeByFields": {
"values": [
{
"field1": "name",
"field2": "labels"
}
]
}
},
"typeVersion": 3.1
},
{
"id": "329cf5ff-7933-4c5e-bb63-cbb77689a194",
"name": "ラベルID集約",
"type": "n8n-nodes-base.aggregate",
"position": [
2440,
140
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"renameField": true,
"outputFieldName": "label_ids",
"fieldToAggregate": "id"
}
]
}
},
"typeVersion": 1
},
{
"id": "952aad99-6ae7-4639-8132-f51b1065468e",
"name": "メールにラベル追加",
"type": "n8n-nodes-base.gmail",
"position": [
2640,
140
],
"webhookId": "4f345fc9-2afd-478b-be3b-d3d28f0fbc82",
"parameters": {
"labelIds": "={{ $json.label_ids }}",
"messageId": "={{ $('Gmail trigger').item.json[\"id\"] }}",
"operation": "addLabels"
},
"credentials": {
"gmailOAuth2": {
"id": "2pW13S2GyP5GCdoP",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "11244a40-d6df-475b-b900-bf8d386077d6",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
20,
-140
],
"parameters": {
"color": 4,
"width": 580,
"height": 1041,
"content": "## Intelligent Gmail Labeling: Categorize Emails by Content Intent Using OpenAI\n\n## Who is this for?\n\nThis workflow is ideal for Gmail users and teams who receive a high volume of emails and want to streamline inbox management. It suits professionals seeking to organize messages automatically, including sales teams, project managers, support staff, and anyone who benefits from automated email categorization.\n\n## What problem is this workflow solving? / Use case\n\nManually labeling emails is time-consuming and can lead to inconsistent organization. This automated n8n workflow uses Gmail and OpenAI to analyze incoming messages and apply the appropriate labels, such as \"Quotation\", \"Inquiry\", \"Project progress\", and \"Notification\", based on content—improving productivity and ensuring important messages are prioritized.\n\n## What this workflow does\n\nThe workflow retrieves new Gmail messages, analyzes their content with OpenAI, and automatically assigns pre-defined Gmail labels that match the email’s intent. This ensures emails are sorted efficiently using AI-powered content analysis and Gmail’s labeling system.\n\n## Setup\n\n- Ensure Gmail labels (e.g., \"Quotation\", \"Inquiry\") are created in your Gmail account.\n- Connect your Gmail and OpenAI accounts as credentials in n8n.\n- Import the workflow into your n8n instance and update node configurations to match your Gmail label names.\n\n## How to customize this workflow to your needs\n\n- Edit or add Gmail labels both in your Gmail account and within the workflow logic.\n- Adjust the prompt or parameters sent to OpenAI to better match your categorization style.\n- Expand or refine the list of label categories to fit your team’s or business’s requirements.\n"
},
"typeVersion": 1
},
{
"id": "1eca85f0-bfa4-431e-90e2-0ffe25844bdd",
"name": "付箋13",
"type": "n8n-nodes-base.stickyNote",
"position": [
660,
20
],
"parameters": {
"width": 238,
"height": 349,
"content": "### Gmail Trigger\nGet new incoming message from Gmail. \n\n⚠️ Set up the time (polling) interval based on your needs."
},
"typeVersion": 1
},
{
"id": "a5dd9b23-0fd8-42a8-a334-2a0640750c52",
"name": "付箋14",
"type": "n8n-nodes-base.stickyNote",
"position": [
1400,
400
],
"parameters": {
"width": 241.53974014153226,
"height": 319.3323098457962,
"content": "###\n\n\n\n\n\n\n\n\n\n\n### JSON schema\nEdit JSON schema and label names according to your needs.\n\n⚠️ **Label names in system prompt and JSON schema should be the same.**"
},
"typeVersion": 1
},
{
"id": "c6a7af89-e307-4363-8d96-83c0f7c0e7b8",
"name": "付箋15",
"type": "n8n-nodes-base.stickyNote",
"position": [
2120,
40
],
"parameters": {
"width": 226.14233872620645,
"height": 347.0476323933831,
"content": "### Merge labels\nCombine labels retrieved from Gmail account and assigned by AI together."
},
"typeVersion": 1
},
{
"id": "afb1a124-f880-4d6c-987e-dabf2c3fb882",
"name": "付箋16",
"type": "n8n-nodes-base.stickyNote",
"position": [
920,
20
],
"parameters": {
"width": 238.4602598584674,
"height": 348.5873725349161,
"content": "### Get message content\nBased on Gmail message ID retrieve body content of the email and pass it to AI chain."
},
"typeVersion": 1
},
{
"id": "44b4c579-538f-45fe-9cde-627ac7364013",
"name": "付箋17",
"type": "n8n-nodes-base.stickyNote",
"position": [
1180,
20
],
"parameters": {
"width": 378.57661273793565,
"height": 348.5873725349161,
"content": "### Assign labels\nLet the AI decide which labels suit the best content of the message.\n\n⚠️ **Remember to edit system prompt** - modify label names and instructions according to your needs."
},
"typeVersion": 1
},
{
"id": "e866b876-20a4-4a19-bd07-56c69eed82af",
"name": "OpenAI GPT-4 Based",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
1220,
420
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4-turbo-preview",
"cachedResultName": "gpt-4-turbo-preview"
},
"options": {
"temperature": 0,
"responseFormat": "json_object"
}
},
"credentials": {
"openAiApi": {
"id": "8cWUJS0NExv35YHi",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "01528b99-a1ee-48df-b42f-c3717974161c",
"connections": {
"c0f1e702-25b5-4887-b112-7d0d1c239ea1": {
"ai_outputParser": [
[
{
"node": "1f07bb8a-0e12-47fd-bf4f-751befeea37c",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"013c142d-eb86-4d62-bab3-9dc77fba7b3b": {
"main": [
[
{
"node": "78cf0980-b4ec-4ed0-9b49-014e4d5d63d3",
"type": "main",
"index": 0
}
]
]
},
"48e80f97-1679-40a5-860d-124d32c82316": {
"main": [
[
{
"node": "95886e13-3412-4c27-8510-873bbaced52b",
"type": "main",
"index": 0
}
]
]
},
"979aad50-8e34-471e-9016-c412e470c81b": {
"main": [
[
{
"node": "e29e712a-7940-4ca3-9a82-525ac7d5f7bf",
"type": "main",
"index": 0
},
{
"node": "48e80f97-1679-40a5-860d-124d32c82316",
"type": "main",
"index": 0
}
]
]
},
"e866b876-20a4-4a19-bd07-56c69eed82af": {
"ai_languageModel": [
[
{
"node": "1f07bb8a-0e12-47fd-bf4f-751befeea37c",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"329cf5ff-7933-4c5e-bb63-cbb77689a194": {
"main": [
[
{
"node": "952aad99-6ae7-4639-8132-f51b1065468e",
"type": "main",
"index": 0
}
]
]
},
"78cf0980-b4ec-4ed0-9b49-014e4d5d63d3": {
"main": [
[
{
"node": "1f07bb8a-0e12-47fd-bf4f-751befeea37c",
"type": "main",
"index": 0
}
]
]
},
"1f07bb8a-0e12-47fd-bf4f-751befeea37c": {
"main": [
[
{
"node": "979aad50-8e34-471e-9016-c412e470c81b",
"type": "main",
"index": 0
}
]
]
},
"e29e712a-7940-4ca3-9a82-525ac7d5f7bf": {
"main": [
[
{
"node": "95886e13-3412-4c27-8510-873bbaced52b",
"type": "main",
"index": 1
}
]
]
},
"95886e13-3412-4c27-8510-873bbaced52b": {
"main": [
[
{
"node": "329cf5ff-7933-4c5e-bb63-cbb77689a194",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - サポート, 人工知能
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
AIノードを使用して受信したGmailメールを自動のにマーク
AIノードを使って受信したGmailメールを自動でタグ付けする
Set
Gmail
Merge
+
Set
Gmail
Merge
19 ノードOskar
人工知能
AIメール分诊与GPT-4警报系统及Telegram通知
AIメール分诊与GPT-4警报系统及Telegram通知
If
Set
Gmail
+
If
Set
Gmail
104 ノードPeter Joslyn
サポート
GPT、LangChain、およびインテリジェントルーティングに基づくAI駆動カスタマーサービス自動化
AI駆動カスタマーサービス自動化、GPT、LangChain、およびインテリジェントルーティングに基づく
Set
Gmail
Merge
+
Set
Gmail
Merge
46 ノードPaul
サポート
AI駆動のメールPDF請求書データ抽出
AIを活用したメールPDF請求書データのAirtableへの抽出、GPT-4o統合
Set
Gmail
Merge
+
Set
Gmail
Merge
27 ノードMilan Vasarhelyi
財務
AIメール自動返信システム - メールボックスRAGインテリジェントエージェント
AIメール自動返信システム - メールボックスRAGインテリジェントエージェント
If
Set
Gmail
+
If
Set
Gmail
34 ノードLukaszB
サポート
Slack および Linear を使用した 顧客サポートチャネルとタケットシステム
SlackとLinearを使用したカスタマーサポートチャネルおよびチケットシステム
If
Set
Merge
+
If
Set
Merge
19 ノードJimleuk
サポート