Gmail で OpenAI Assistant を使って返信の下書きを作成
上級
これはAI分野の自動化ワークフローで、23個のノードを含みます。主にSet, Code, Gmail, Limit, Markdownなどのノードを使用、AI技術を活用したスマート自動化を実現。 Gmail内でのOpenAI Assistantを使用した返信草稿の作成
前提条件
- •Googleアカウント + Gmail API認証情報
- •ターゲットAPIの認証情報が必要な場合あり
- •OpenAI API Key
カテゴリー
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"meta": {
"instanceId": "408f9fb9940c3cb18ffdef0e0150fe342d6e655c3a9fac21f0f644e8bedabcd9",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "ad5b12df-3bdf-4672-99a7-0034664f29ef",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1180,
120
],
"parameters": {
"color": 4,
"width": 420.4803040774015,
"height": 189.69151356225348,
"content": "## Reply draft with OpenAI Assistant\nThis workflow automatically transfers content of incoming email messages with specific labels into OpenAI Assitant and returns reply draft. After draft is composed, trigger label is deleted from the thread.\n\n**Please remember to configure your OpenAI Assistant first.**"
},
"typeVersion": 1
},
{
"id": "80a93a48-0576-4dfb-817a-34cbc215307a",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-740,
120
],
"parameters": {
"width": 451.41125086385614,
"height": 313.3056033573073,
"content": "### Schedule trigger and get emails\nRun the workflow in equal intervals and check for threads with specific labels (trigger labels)."
},
"typeVersion": 1
},
{
"id": "0dba2603-8012-47d1-8c60-4068924b74cd",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1180,
340
],
"parameters": {
"color": 3,
"width": 421.0932411886662,
"height": 257.42916378714597,
"content": "## ⚠️ Note\n\n1. Complete video guide for this workflow is available [on my YouTube](https://youtu.be/a8Dhj3Zh9vQ). \n2. Remember to add your credentials and configure nodes (covered in the video guide).\n3. If you like this workflow, please subscribe to [my YouTube channel](https://www.youtube.com/@workfloows) and/or [my newsletter](https://workfloows.com/).\n\n**Thank you for your support!**"
},
"typeVersion": 1
},
{
"id": "4eb67d90-b834-48f6-8d8a-ed0a9d8321fd",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
520,
120
],
"parameters": {
"width": 381.6458068293894,
"height": 313.7892229150129,
"content": "### Generate reply\nTransfer email content to OpenAI Assitant and return AI-generated reply.\n"
},
"typeVersion": 1
},
{
"id": "fdb6e16b-5f42-4872-bf63-b18a14220cdf",
"name": "付箋5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1160,
120
],
"parameters": {
"width": 219.88389496558554,
"height": 314.75072291501283,
"content": "### Create HTML message\nConvert incoming Markdown from OpenAI Assistant into HTML content."
},
"typeVersion": 1
},
{
"id": "111e4276-7f63-4b11-92be-fd9de7e23f05",
"name": "付箋7",
"type": "n8n-nodes-base.stickyNote",
"position": [
1400,
120
],
"parameters": {
"width": 461.3148409669012,
"height": 314.75072291501283,
"content": "### Build and encode message\nCreate raw message in RFC standard and encode it into base64 string (please see [Gmail API reference](https://developers.google.com/gmail/api/reference/rest/v1/users.drafts/create) for more details)."
},
"typeVersion": 1
},
{
"id": "0d377266-7fa2-43c4-9259-e8611d52df41",
"name": "付箋8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1880,
120
],
"parameters": {
"width": 219.88389496558554,
"height": 314.75072291501283,
"content": "### Insert reply draft\nAdd reply draft from OpenAI Assistant to specific Gmail thread."
},
"typeVersion": 1
},
{
"id": "c743486b-82e0-42f4-bd41-fad6115ac520",
"name": "付箋9",
"type": "n8n-nodes-base.stickyNote",
"position": [
2120,
120
],
"parameters": {
"width": 219.88389496558554,
"height": 314.75072291501283,
"content": "### Remove label\nDelete trigger label from the Gmail thread."
},
"typeVersion": 1
},
{
"id": "dfe99c2e-a8e6-48de-a11d-54adaf98a7fe",
"name": "付箋10",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"width": 219.88389496558554,
"height": 314.75072291501283,
"content": "### Return message content\nRetrieve content of the last message in the thread."
},
"typeVersion": 1
},
{
"id": "6f228048-4067-494a-af44-080237c2555c",
"name": "付箋11",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
340
],
"parameters": {
"width": 470.88389496558545,
"height": 314.75072291501283,
"content": "### Get last message from thread\nReturn all messages for a single thread and pass for further processing only the last one."
},
"typeVersion": 1
},
{
"id": "bea0ea14-6198-4022-8ddc-a0c9f895d46e",
"name": "Remove AI label from email",
"type": "n8n-nodes-base.gmail",
"position": [
2180,
260
],
"webhookId": "f19c59fe-49bd-4661-aff3-a50e43e5964a",
"parameters": {
"resource": "thread",
"threadId": "={{ $('Map fields for further processing').item.json[\"threadId\"] }}",
"operation": "removeLabels"
},
"credentials": {
"gmailOAuth2": {
"id": "Sf5Gfl9NiFTNXFWb",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "dc9b5760-1669-4f29-b28d-73cd417775b4",
"name": "Add email draft to thread",
"type": "n8n-nodes-base.httpRequest",
"position": [
1940,
260
],
"parameters": {
"url": "https://www.googleapis.com/gmail/v1/users/me/drafts",
"method": "POST",
"options": {},
"jsonBody": "={\"message\":{\"raw\":\"{{ $json.encoded }}\", \"threadId\": \"{{ $('Map fields for further processing').item.json[\"threadId\"] }}\"}}",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2
},
{
"id": "dbbb607b-701f-49cd-b872-96522abde5b7",
"name": "Convert raw to base64",
"type": "n8n-nodes-base.code",
"position": [
1680,
260
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const encoded = Buffer.from($json.raw).toString('base64');\n\nreturn { encoded };"
},
"typeVersion": 2
},
{
"id": "9114d833-1c6a-47f1-bc8d-12fb8e17218e",
"name": "Build email raw",
"type": "n8n-nodes-base.set",
"position": [
1480,
260
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "6b6ece46-aeef-4ae5-9a0d-f472e7ced464",
"name": "raw",
"type": "string",
"value": "=To: {{ $json.to }}\nSubject: {{ $json.subject }}\nContent-Type: text/html; charset=\"utf-8\"\n\n{{ $json.response }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "67c1b6ca-d419-45a9-a1d5-2a6ac157454f",
"name": "Convert response to HTML",
"type": "n8n-nodes-base.markdown",
"position": [
1220,
260
],
"parameters": {
"mode": "markdownToHtml",
"options": {},
"markdown": "={{ $json.response }}"
},
"typeVersion": 1
},
{
"id": "97be72d7-20dd-4829-bf1c-f738fb6a8a21",
"name": "Map fields for further processing",
"type": "n8n-nodes-base.set",
"position": [
980,
260
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d5022255-06d2-4322-b51e-ae80b7f6eef6",
"name": "response",
"type": "string",
"value": "={{ $json.output }}"
},
{
"id": "f729def0-3905-4c7d-ad1d-86ef7b001e9c",
"name": "threadId",
"type": "string",
"value": "={{ $('Get single message content').item.json[\"threadId\"] }}"
},
{
"id": "3ef18ad8-7328-4b97-bd6d-9d395a3c4a48",
"name": "to",
"type": "string",
"value": "={{ $('Get single message content').item.json[\"from\"][\"text\"] }}"
},
{
"id": "b013770d-fce2-4030-b372-8d94f04b51e9",
"name": "subject",
"type": "string",
"value": "={{ $('Get single message content').item.json[\"subject\"] }}"
},
{
"id": "69cc71b6-614d-4528-a598-69fbde1b5fd9",
"name": "messageId",
"type": "string",
"value": "={{ $('Get threads with specific labels').item.json[\"id\"] }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "545a4296-5307-42ee-8935-2886338e2518",
"name": "Ask OpenAI Assistant",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
580,
260
],
"parameters": {
"text": "={{ $json.text }}",
"prompt": "define",
"options": {},
"resource": "assistant",
"assistantId": {
"__rl": true,
"mode": "list",
"value": "asst_s32wsRpwU1HbLt40wRhghB6Y",
"cachedResultName": "Eva"
}
},
"credentials": {
"openAiApi": {
"id": "8gccIjcuf3gvaoEr",
"name": "OpenAi account"
}
},
"typeVersion": 1.8
},
{
"id": "4f326fec-e4bb-42dc-9f26-4a3d8ce86f24",
"name": "Get single message content",
"type": "n8n-nodes-base.gmail",
"position": [
60,
120
],
"webhookId": "1ddb410c-fcdd-4230-967a-cf7844727877",
"parameters": {
"messageId": "={{ $json.id }}",
"operation": "get"
},
"credentials": {
"gmailOAuth2": {
"id": "Sf5Gfl9NiFTNXFWb",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "faeb879f-db00-47b7-8995-9fb9025079cf",
"name": "Return last message in thread",
"type": "n8n-nodes-base.limit",
"position": [
280,
460
],
"parameters": {
"keep": "lastItems"
},
"typeVersion": 1
},
{
"id": "8085cb54-3c85-4450-9e42-825a9d467d6b",
"name": "Get thread messages",
"type": "n8n-nodes-base.gmail",
"position": [
60,
460
],
"webhookId": "d53aee55-4233-42e3-b0b7-2b4521956013",
"parameters": {
"options": {},
"resource": "thread",
"threadId": "={{ $json.id }}",
"operation": "get"
},
"credentials": {
"gmailOAuth2": {
"id": "Sf5Gfl9NiFTNXFWb",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "8a3c1885-8a05-4357-85ea-03cb9e8b24fa",
"name": "Loop over threads",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-200,
260
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "74197fae-823e-47bc-a1c9-b2fbe90b1171",
"name": "Get threads with specific labels",
"type": "n8n-nodes-base.gmail",
"position": [
-460,
260
],
"webhookId": "6b7faf91-cc60-482c-b661-dbd702cba2cc",
"parameters": {
"filters": {
"labelIds": []
},
"resource": "thread"
},
"credentials": {
"gmailOAuth2": {
"id": "Sf5Gfl9NiFTNXFWb",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "a3360f69-b8e6-4ef8-933a-352243ab9125",
"name": "Schedule trigger (1 min)",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-680,
260
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes",
"minutesInterval": 1
}
]
}
},
"typeVersion": 1.2
}
],
"pinData": {},
"connections": {
"9114d833-1c6a-47f1-bc8d-12fb8e17218e": {
"main": [
[
{
"node": "dbbb607b-701f-49cd-b872-96522abde5b7",
"type": "main",
"index": 0
}
]
]
},
"8a3c1885-8a05-4357-85ea-03cb9e8b24fa": {
"main": [
[
{
"node": "4f326fec-e4bb-42dc-9f26-4a3d8ce86f24",
"type": "main",
"index": 0
}
],
[
{
"node": "8085cb54-3c85-4450-9e42-825a9d467d6b",
"type": "main",
"index": 0
}
]
]
},
"8085cb54-3c85-4450-9e42-825a9d467d6b": {
"main": [
[
{
"node": "faeb879f-db00-47b7-8995-9fb9025079cf",
"type": "main",
"index": 0
}
]
]
},
"545a4296-5307-42ee-8935-2886338e2518": {
"main": [
[
{
"node": "97be72d7-20dd-4829-bf1c-f738fb6a8a21",
"type": "main",
"index": 0
}
]
]
},
"dbbb607b-701f-49cd-b872-96522abde5b7": {
"main": [
[
{
"node": "dc9b5760-1669-4f29-b28d-73cd417775b4",
"type": "main",
"index": 0
}
]
]
},
"67c1b6ca-d419-45a9-a1d5-2a6ac157454f": {
"main": [
[
{
"node": "9114d833-1c6a-47f1-bc8d-12fb8e17218e",
"type": "main",
"index": 0
}
]
]
},
"a3360f69-b8e6-4ef8-933a-352243ab9125": {
"main": [
[
{
"node": "74197fae-823e-47bc-a1c9-b2fbe90b1171",
"type": "main",
"index": 0
}
]
]
},
"dc9b5760-1669-4f29-b28d-73cd417775b4": {
"main": [
[
{
"node": "bea0ea14-6198-4022-8ddc-a0c9f895d46e",
"type": "main",
"index": 0
}
]
]
},
"4f326fec-e4bb-42dc-9f26-4a3d8ce86f24": {
"main": [
[
{
"node": "545a4296-5307-42ee-8935-2886338e2518",
"type": "main",
"index": 0
}
]
]
},
"faeb879f-db00-47b7-8995-9fb9025079cf": {
"main": [
[
{
"node": "8a3c1885-8a05-4357-85ea-03cb9e8b24fa",
"type": "main",
"index": 0
}
]
]
},
"74197fae-823e-47bc-a1c9-b2fbe90b1171": {
"main": [
[
{
"node": "8a3c1885-8a05-4357-85ea-03cb9e8b24fa",
"type": "main",
"index": 0
}
]
]
},
"97be72d7-20dd-4829-bf1c-f738fb6a8a21": {
"main": [
[
{
"node": "67c1b6ca-d419-45a9-a1d5-2a6ac157454f",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - 人工知能
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
GPT-4o、WordPress、LinkedInを使ってRSSから自動でブログ記事を投稿
GPT-4o、WordPress、LinkedInを使ってRSSコンテンツを自動のにブログ記事へ公開
If
Set
Code
+
If
Set
Code
40 ノードImmanuel
人工知能
OpenAIアシスタントを基にしたGmail自動返信ドラフト生成
OpenAIアシスタントを使ったGmail自動返信ドレフト生成
Set
Code
Gmail
+
Set
Code
Gmail
23 ノードHichul
チケット管理
n8nノードの探索(可視化リファレンスライブラリ内)
n8nノードを可視化リファレンスライブラリで探索
If
Ftp
Set
+
If
Ftp
Set
113 ノードI versus AI
その他
自動ニュース要約AIエージェントv13
AIニュース制作チーム:24/7リポート自動化+Perplexity引用
Set
Code
Gmail
+
Set
Code
Gmail
37 ノードDerek Cheung
プロダクト
ブログ投稿自動化とSNSプロモーションエージェント
GPT-4、Perplexity、WordPressを使用したSEOブログ作成の自動化+ソーシャルメディア
Set
Code
Gmail
+
Set
Code
Gmail
79 ノードLukaszB
デザイン
AI、ElevenLabs、マルチプラットフォーム公開を使ってPOVビデオの作成と承認
AI、ElevenLabs、そしてマルチプラットフォーム公開を使ったPOVビデオの作成と承認(TikTok/IG/YT)
If
Set
Code
+
If
Set
Code
60 ノードImmanuel
デザイン