GPT-4o・Outlook・GoToHumanを使用した自動返信

中級

これはTicket Management, AI Chatbot分野の自動化ワークフローで、15個のノードを含みます。主にIf, Code, ManualTrigger, SplitInBatches, Agentなどのノードを使用。 GPT-4o、Outlook、GoToHuman承認を使った自動メール返信

前提条件
  • OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "efb474b59b0341d7791932605bd9ff04a6c7ed9941fdd53dc4a2e4b99a6f9439",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "db46a99c-a87d-4203-925f-f94fed274bbe",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        120,
        0
      ],
      "parameters": {
        "color": 5,
        "width": 1200,
        "height": 760,
        "content": "### 4. **Generate AI Response**\n- Text prompt to OpenAI:  \n  ```\n  subject: {{ $json.subject }}  \n  body: {{ $json.body.content }}\n  ```\n\n- System prompt:  \n  > You are a personal assistant helping respond to emails. I am an AI automation expert specializing in helping small and medium-size businesses automate processes. Create a short response to the email. Sign the email as Robert Breen.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2b29c366-caf6-41e5-bf09-a6f60ab9d315",
      "name": "ツール: 創造性の注入",
      "type": "@n8n/n8n-nodes-langchain.toolThink",
      "position": [
        600,
        520
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "df07d826-251e-4b9f-927f-637280847891",
      "name": "パーサー: IdeaからJSONを抽出",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        800,
        480
      ],
      "parameters": {
        "jsonSchemaExample": "[\n  {\n    \"body\": \"\"\n  }\n]\n"
      },
      "typeVersion": 1.2
    },
    {
      "id": "3f7eeefc-a208-4020-8b6a-7dc536126daa",
      "name": "openai",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        480,
        500
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o",
          "cachedResultName": "gpt-4o"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "ghJTvay8CvwXDsXz",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "c1d3fd0d-b84e-4346-aa2e-3c3b8cf358e3",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        0
      ],
      "parameters": {
        "width": 980,
        "height": 760,
        "content": "### 1. **Trigger**  \nUse the Manual Trigger to test or schedule execution with a cron node.\n\n### 2. **Filter Emails from Today**\nA Code node outputs today's date in the proper `yyyy-mm-dd` format.\n\n```javascript\nconst today = new Date();\ntoday.setHours(0, 0, 0, 0);\nreturn [{ json: { searchQuery: `received:${today.toISOString().split('T')[0]}` } }];\n```\n\n### 3. **Search and Filter Outlook Messages**\n- Uses the Outlook node with a search query like:  \n  `received:2025-08-06 -from:rbreen@ynteractive.com` (Update to your email address)"
      },
      "typeVersion": 1
    },
    {
      "id": "af0105d8-5b95-4d82-8735-acb6358f607b",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1340,
        0
      ],
      "parameters": {
        "color": 3,
        "width": 760,
        "height": 760,
        "content": "### 5. **Review with gotoHuman**\n- Submit AI output for human approval using the `gotoHuman` node.\n- The output schema should match the Review Template fields (e.g., \"email\", \"OriginalEmail\").\n\n### 6. **IF Node Decision**\n- If status is `approved`, send reply\n- If not, return to loop for revision or skip\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "be573205-24d6-49e7-924e-d9bfd1879505",
      "name": "テスト",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -800,
        420
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "807aecbb-fdc0-4a6b-9fbb-186aefdad240",
      "name": "本日の日付を出力",
      "type": "n8n-nodes-base.code",
      "position": [
        -520,
        560
      ],
      "parameters": {
        "jsCode": "const today = new Date();\ntoday.setHours(0, 0, 0, 0); // Normalize to start of day\n\nconst formattedDate = today.toISOString().split('T')[0]; // \"2025-08-06\"\n\nreturn [\n  {\n    json: {\n      searchQuery: `received:${formattedDate}`\n    }\n  }\n];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
      "name": "AIエージェント: linkedinのキャプション作成",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        560,
        300
      ],
      "parameters": {
        "text": "=subject: {{ $json.subject }} Body: {{ $json.body.content }}",
        "options": {
          "systemMessage": "=You are a personal assistant helping respond to emails. I am an ai automation expert specializing in helping small and medium size businesses automate processes. Create a short response to the email that you are analyzing. \n\nThe email that you write should be written to the sender who sent the email to us. \n\nSign the email as Robert Breen\n\noutput the data like this. \n\n[\n  {\n    \"body\": \"\"\n  }\n]\n"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.9
    },
    {
      "id": "41d1ebef-9808-4d0b-ae30-2e8cd0ae597a",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -880,
        -240
      ],
      "parameters": {
        "color": 6,
        "width": 2980,
        "height": 200,
        "content": "# 🤖AI-Powered Outlook Email Assistant with GoToHuman Approval Workflow\n## 📬 Need Help?\n\nMessage me on [LinkedIn](https://www.linkedin.com/in/robert-breen-29429625/) \nor email me at **robert@ynteractive.com**\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a27db7b8-96b1-425e-98d9-e1dc5f939478",
      "name": "Microsoft Outlook",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        -280,
        420
      ],
      "webhookId": "ae07c8b7-e0be-4a87-93a8-cfcb00303d0c",
      "parameters": {
        "limit": 2,
        "output": "raw",
        "options": {},
        "filtersUI": {
          "values": {
            "search": "={{ $json.searchQuery }} -from:rbreen@ynteractive.com\n",
            "filterBy": "search"
          }
        },
        "operation": "getAll"
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "id": "VmTDwKgAl78H8pek",
          "name": "Microsoft Outlook account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "3830b457-613f-4709-b70a-ae5d089d8a83",
      "name": "gotoHuman",
      "type": "@gotohuman/n8n-nodes-gotohuman.gotoHuman",
      "position": [
        1460,
        300
      ],
      "webhookId": "29fff214-9915-47fe-833f-c78d42709c76",
      "parameters": {
        "fields": {
          "value": {
            "email": "={{ $json.output[0].body }}",
            "OriginalEmail": "={{ $('Microsoft Outlook').item.json.body.content }}"
          },
          "schema": [
            {
              "id": "email",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "email (text)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "OriginalEmail",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "OriginalEmail (emailHtml)",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "email"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "additionalFields": {},
        "reviewTemplateID": {
          "__rl": true,
          "mode": "list",
          "value": "7nYfIV9vrefvuHcccGEB",
          "cachedResultName": "Email Responses (7nYfIV9vrefvuHcccGEB)"
        }
      },
      "credentials": {
        "gotoHumanApi": {
          "id": "DDAwJMAARwFCF0fA",
          "name": "gotoHuman account"
        }
      },
      "executeOnce": true,
      "typeVersion": 1
    },
    {
      "id": "6484d15f-94d2-4078-93de-beee1985e085",
      "name": "アイテムをループ処理",
      "type": "n8n-nodes-base.splitInBatches",
      "position": [
        -40,
        560
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 3
    },
    {
      "id": "07ef9661-0df9-41a9-b412-3f2af84bba43",
      "name": "Microsoft Outlook1",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        1920,
        520
      ],
      "webhookId": "0208ffbc-c796-47a4-8e71-aa175d970c54",
      "parameters": {
        "message": "={{ $json.responseValues.email.value }}",
        "options": {},
        "messageId": {
          "__rl": true,
          "mode": "id",
          "value": "={{ $('Microsoft Outlook').item.json.id }}"
        },
        "operation": "reply"
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "id": "VmTDwKgAl78H8pek",
          "name": "Microsoft Outlook account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "5b6f8868-ac73-44f0-9eaa-64250abab4d6",
      "name": "条件分岐",
      "type": "n8n-nodes-base.if",
      "position": [
        1700,
        300
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "8516d970-6327-47de-83ab-1945acd928b2",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.response }}",
              "rightValue": "approved"
            }
          ]
        }
      },
      "typeVersion": 2.2
    }
  ],
  "pinData": {},
  "connections": {
    "5b6f8868-ac73-44f0-9eaa-64250abab4d6": {
      "main": [
        [
          {
            "node": "07ef9661-0df9-41a9-b412-3f2af84bba43",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "6484d15f-94d2-4078-93de-beee1985e085",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "be573205-24d6-49e7-924e-d9bfd1879505": {
      "main": [
        [
          {
            "node": "807aecbb-fdc0-4a6b-9fbb-186aefdad240",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3f7eeefc-a208-4020-8b6a-7dc536126daa": {
      "ai_languageModel": [
        [
          {
            "node": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "3830b457-613f-4709-b70a-ae5d089d8a83": {
      "main": [
        [
          {
            "node": "5b6f8868-ac73-44f0-9eaa-64250abab4d6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6484d15f-94d2-4078-93de-beee1985e085": {
      "main": [
        [],
        [
          {
            "node": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a27db7b8-96b1-425e-98d9-e1dc5f939478": {
      "main": [
        [
          {
            "node": "6484d15f-94d2-4078-93de-beee1985e085",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "07ef9661-0df9-41a9-b412-3f2af84bba43": {
      "main": [
        [
          {
            "node": "6484d15f-94d2-4078-93de-beee1985e085",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "807aecbb-fdc0-4a6b-9fbb-186aefdad240": {
      "main": [
        [
          {
            "node": "a27db7b8-96b1-425e-98d9-e1dc5f939478",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2b29c366-caf6-41e5-bf09-a6f60ab9d315": {
      "ai_tool": [
        [
          {
            "node": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "df07d826-251e-4b9f-927f-637280847891": {
      "ai_outputParser": [
        [
          {
            "node": "b4d9154b-c7e8-437b-b6d8-ed22327bfccf",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "b4d9154b-c7e8-437b-b6d8-ed22327bfccf": {
      "main": [
        [
          {
            "node": "3830b457-613f-4709-b70a-ae5d089d8a83",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - チケット管理, AIチャットボット

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

Gmail からの自動返信と Linear チケット作成(GPT-5、gotoHuman、人間審査使用)
Gmailから自動返信し、Linearチケットを作成するためにGPT-5、gotoHuman、および人間の承認を使用
Set
Code
Gmail
+
Set
Code
Gmail
37 ノードgotoHuman
チケット管理
GPT-4o-mini エージェントを使用したリーダーポテンシャルの資格設定とカスタマー支持の自動化
GPT-4o-mini アジェントを使用したリードの自動クオリフィケーションとカスタマーサポート
If
Set
Code
+
If
Set
Code
16 ノードRobert Breen
リードナーチャリング
AI生成LinkedIn投稿(人間による承認付き)
GPT-4、GoToHuman、Blotatoを使用したAI生成LinkedIn投稿(人間による承認付き)
Code
Merge
Filter
+
Code
Merge
Filter
19 ノードRobert Breen
ソーシャルメディア
GPT-4oを使ってOutlookのメールを自動でカラーカテゴリに分類する
GPT-4oを使ってOutlookのメールをカラーリストに自動分類
Set
Manual Trigger
Split In Batches
+
Set
Manual Trigger
Split In Batches
13 ノードRobert Breen
AI要約
GPT-4OとSupabaseの対話メモリを使った自動返信メール
GPT-4OとSupabaseの会話メモリを使用した自動返信メール
If
Code
Postgres
+
If
Code
Postgres
32 ノードLukman
サポートチャットボット
初学者データ分析:GPT-4oを使ってGoogleシートで結合・フィルタリング・サマリー
初心者のデータ分析:GPT-4o を使用して Google スプレッドシートで結合、フィルタリング、集計
If
Set
Code
+
If
Set
Code
21 ノードRobert Breen
文書抽出
ワークフロー情報
難易度
中級
ノード数15
カテゴリー2
ノードタイプ11
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Robert Breen

Robert Breen

@rbreen

Professional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34