マルチチャネル顧客サポート問い合わせの管理と追跡システム

中級

これはTicket Management分野の自動化ワークフローで、15個のノードを含みます。主にSet, Html, Gmail, Merge, Slackなどのノードを使用。 SlackとGoogleスプレッドシートでメールとウェブフォームからのお問い合わせを管理する

前提条件
  • Googleアカウント + Gmail API認証情報
  • Slack Bot Token または Webhook URL
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • Google Sheets API認証情報

カテゴリー

ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "ZScCHEPi38wDZHiB",
  "meta": {
    "instanceId": "15d6057a37b8367f33882dd60593ee5f6cc0c59310ff1dc66b626d726083b48d",
    "templateCredsSetupCompleted": true
  },
  "name": "Multi-Channel Customer Support Inquiry Management and Tracking System",
  "tags": [],
  "nodes": [
    {
      "id": "c454d429-cc3f-4b56-8730-c72c81938555",
      "name": "メールトリガー",
      "type": "n8n-nodes-base.emailReadImap",
      "position": [
        400,
        280
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 2.1
    },
    {
      "id": "c6be407e-9f2e-4011-9141-f80d5cbae5aa",
      "name": "Webhook トリガー - Web Form",
      "type": "n8n-nodes-base.webhook",
      "position": [
        400,
        464
      ],
      "webhookId": "b3f9002c-b1cb-4e99-a658-7d10f767f7a3",
      "parameters": {
        "path": "customer-inquiry",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "lastNode"
      },
      "typeVersion": 2.1
    },
    {
      "id": "b67fb3e2-0a16-4044-a741-354e24dfdb46",
      "name": "Extract メール Content",
      "type": "n8n-nodes-base.html",
      "position": [
        624,
        280
      ],
      "parameters": {
        "options": {
          "trimValues": true,
          "cleanUpText": true
        },
        "operation": "extractHtmlContent",
        "dataPropertyName": "={{ $json.html }}",
        "extractionValues": {
          "values": [
            {
              "key": "text",
              "cssSelector": "body"
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "95f5f69d-1c14-438b-a996-2448a60387fe",
      "name": "Parse メール Data",
      "type": "n8n-nodes-base.set",
      "position": [
        848,
        280
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "customerName",
              "type": "string",
              "value": "={{ $json.from.name }}"
            },
            {
              "id": "id-2",
              "name": "customerEmail",
              "type": "string",
              "value": "={{ $json.from.address }}"
            },
            {
              "id": "id-3",
              "name": "subject",
              "type": "string",
              "value": "={{ $json.subject }}"
            },
            {
              "id": "id-4",
              "name": "message",
              "type": "string",
              "value": "={{ $json.text }}"
            },
            {
              "id": "id-5",
              "name": "source",
              "type": "string",
              "value": "email"
            },
            {
              "id": "id-6",
              "name": "receivedAt",
              "type": "string",
              "value": "={{ $json.date }}"
            },
            {
              "id": "id-7",
              "name": "inquiryType",
              "type": "string",
              "value": "={{ $json.subject.toLowerCase().includes('urgent') || $json.subject.toLowerCase().includes('緊急') ? 'urgent' : ($json.subject.toLowerCase().includes('billing') || $json.subject.toLowerCase().includes('請求') ? 'billing' : 'general') }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "9f2a42ae-c6fc-4ad9-b2d8-dd488b77e380",
      "name": "Parse Webhook トリガー Data",
      "type": "n8n-nodes-base.set",
      "position": [
        848,
        472
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "id-1",
              "name": "customerName",
              "type": "string",
              "value": "={{ $json.body.name }}"
            },
            {
              "id": "id-2",
              "name": "customerEmail",
              "type": "string",
              "value": "={{ $json.body.email }}"
            },
            {
              "id": "id-3",
              "name": "subject",
              "type": "string",
              "value": "={{ $json.body.subject }}"
            },
            {
              "id": "id-4",
              "name": "message",
              "type": "string",
              "value": "={{ $json.body.message }}"
            },
            {
              "id": "id-5",
              "name": "source",
              "type": "string",
              "value": "webform"
            },
            {
              "id": "id-6",
              "name": "receivedAt",
              "type": "string",
              "value": "={{ $now }}"
            },
            {
              "id": "id-7",
              "name": "inquiryType",
              "type": "string",
              "value": "={{ $json.body.type || 'general' }}"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "fd42df65-9c60-4472-a712-9be61b81ea56",
      "name": "マージ Inquiries",
      "type": "n8n-nodes-base.merge",
      "position": [
        1072,
        376
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition"
      },
      "typeVersion": 3.2
    },
    {
      "id": "f7c07e85-6661-4519-b93a-d030c63bc237",
      "name": "Route by Inquiry Type",
      "type": "n8n-nodes-base.switch",
      "position": [
        1296,
        248
      ],
      "parameters": {
        "rules": {
          "values": [
            {
              "outputKey": "General Inquiries",
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.inquiryType }}",
                    "rightValue": "general"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Urgent Inquiries",
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.inquiryType }}",
                    "rightValue": "urgent"
                  }
                ]
              },
              "renameOutput": true
            },
            {
              "outputKey": "Billing Inquiries",
              "conditions": {
                "options": {
                  "leftValue": "",
                  "caseSensitive": true,
                  "typeValidation": "strict"
                },
                "combinator": "and",
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $json.inquiryType }}",
                    "rightValue": "billing"
                  }
                ]
              },
              "renameOutput": true
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 3.3
    },
    {
      "id": "7e41903e-b0be-4ef1-ae94-505a0a9e9c36",
      "name": "Save to Google スプレッドシート",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1520,
        464
      ],
      "parameters": {
        "columns": {
          "value": {
            "source": "source",
            "message": "message",
            "subject": "subject",
            "receivedAt": "receivedAt",
            "inquiryType": "inquiryType",
            "customerName": "customerName",
            "customerEmail": "customerEmail"
          },
          "schema": [
            {
              "id": "customerName",
              "required": false,
              "displayName": "customerName",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "customerEmail",
              "required": false,
              "displayName": "customerEmail",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "subject",
              "required": false,
              "displayName": "subject",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "message",
              "required": false,
              "displayName": "message",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "source",
              "required": false,
              "displayName": "source",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "receivedAt",
              "required": false,
              "displayName": "receivedAt",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "inquiryType",
              "required": false,
              "displayName": "inquiryType",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "autoMapInputData",
          "matchingColumns": [
            "customerEmail"
          ]
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "name",
          "value": "<__PLACEHOLDER_VALUE__Sheet Name (e.g., Inquiries)__>"
        },
        "documentId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__Google Sheets Document ID__>"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "fwevXXzMkUJJc2Ue",
          "name": "Google Sheets account 13"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "950a8809-813f-4fe4-a261-122c122851ad",
      "name": "Notify Urgent - Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1520,
        80
      ],
      "webhookId": "8883cd6f-545e-4aae-a072-7b9768cfb5cc",
      "parameters": {
        "text": "=🚨 *緊急問い合わせ* 🚨\n\n*顧客名:* {{ $json.customerName }}\n*メール:* {{ $json.customerEmail }}\n*件名:* {{ $json.subject }}\n*内容:* {{ $json.message }}\n*受信時刻:* {{ $json.receivedAt }}\n*ソース:* {{ $json.source }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__Slack Channel ID for Urgent Alerts__>"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "M63jLDIkcZG3nnmS",
          "name": "Slack account 2"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "10357ad4-18b3-492b-a722-7a5ddc53d7bc",
      "name": "Notify General - Slack",
      "type": "n8n-nodes-base.slack",
      "position": [
        1520,
        272
      ],
      "webhookId": "92dabdaa-e8d1-4388-9e2e-d47f4e1188be",
      "parameters": {
        "text": "=📩 *新規問い合わせ*\n\n*顧客名:* {{ $json.customerName }}\n*メール:* {{ $json.customerEmail }}\n*件名:* {{ $json.subject }}\n*内容:* {{ $json.message }}\n*受信時刻:* {{ $json.receivedAt }}\n*ソース:* {{ $json.source }}",
        "select": "channel",
        "channelId": {
          "__rl": true,
          "mode": "id",
          "value": "<__PLACEHOLDER_VALUE__Slack Channel ID for General Inquiries__>"
        },
        "otherOptions": {},
        "authentication": "oAuth2"
      },
      "credentials": {
        "slackOAuth2Api": {
          "id": "M63jLDIkcZG3nnmS",
          "name": "Slack account 2"
        }
      },
      "typeVersion": 2.3
    },
    {
      "id": "950d0a86-1ea9-4a6a-a95f-3ed28a2947b6",
      "name": "Send Auto-Reply メール",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1296,
        472
      ],
      "webhookId": "2ce90d1d-e498-4003-b93c-32a225d1a1de",
      "parameters": {
        "sendTo": "={{ $json.customerEmail }}",
        "message": "=こんにちは {{ $json.customerName }} 様、\n\nお問い合わせいただきありがとうございます。\n\nご連絡を受け付けました。担当者が確認次第、できるだけ早くご返信させていただきます。\n\n何かご不明な点がございましたら、お気軽にお問い合わせください。\n\nよろしくお願いいたします。\nカスタマーサポートチーム",
        "options": {},
        "subject": "=Re: {{ $json.subject }}"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "jVcyBJ7jBcuc69EM",
          "name": "Gmail account 3"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "6a40ae19-43f5-4659-96c0-eedcd799da14",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -448,
        48
      ],
      "parameters": {
        "width": 688,
        "height": 960,
        "content": "## Multi-Channel Customer Support Inquiry Management and Tracking System\n\n\n**Who's it for?**\nCustomer support teams, marketing & sales teams, SMBs, individuals needing efficient inquiry management.\n\n**How it works / What it does**\nThis workflow automates the collection, processing, routing, and tracking of customer inquiries from multiple sources.\n\n1.  **Multi-Channel Input**: Listens for inquiries from incoming emails (IMAP) and web form submissions (Webhook).\n2.  **Data Extraction & Parsing**: Extracts details like customer name, email, subject, message, source, received timestamp, and intelligently determines `inquiryType` (urgent, billing, general) from both email content and web form data.\n3.  **Merge Inquiries**: Combines parsed data from both channels into a single stream for unified processing.\n4.  **Route by Inquiry Type**: Directs inquiries based on their type (`urgent`, `general`, `billing`):\n    *   **Urgent Inquiries**: Notified to a specific Slack channel.\n    *   **General Inquiries**: Notified to another designated Slack channel.\n    *   **Billing Inquiries**: Also routed for notification (e.g., to general channel or a custom one).\n5.  **Save to Google Sheets**: Logs all inquiry details into a central Google Sheet for record-keeping.\n6.  **Send Auto-Reply Email**: Automatically sends a confirmation email to the customer.\n\n**Setup Requirements**\n\n*   **n8n Instance**\n*   **Google Sheets Account**: Create a spreadsheet with `customerName, customerEmail, subject, message, source, receivedAt, inquiryType` headers. Configure Spreadsheet ID and Sheet Name in the 'Save to Google Sheets' node.\n*   **IMAP Email Account**: Set up the 'Email Trigger' node to connect to your IMAP server.\n*   **Webhook-enabled Web Form**: Configure your web form to send JSON data (with `name, email, subject, message, type` fields) to the 'Webhook - Web Form' URL.\n*   **Slack Workspace**: Set up Slack credentials and specify Channel IDs for urgent and general notifications.\n*   **Gmail Account**: Set up Gmail credentials for sending auto-reply emails.\n\n**How to customize the workflow**\n\n*   **Expand Inquiry Types**: Add more specific rules in the 'Route by Inquiry Type' node.\n*   **Integrate Other Notifications**: Connect to MS Teams, Discord, SMS, etc.\n*   **CRM Integration**: Add nodes to push data to Salesforce, HubSpot, or other CRMs.\n*   **Advanced Prioritization**: Implement AI for sentiment analysis or complex escalation logic.\n\n---"
      },
      "typeVersion": 1
    },
    {
      "id": "c856e1b3-46be-4d2e-aec5-97489e752a18",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        336,
        128
      ],
      "parameters": {
        "color": 3,
        "height": 480,
        "content": "## Multi-Channel Input \n**Listens for inquiries from incoming emails (IMAP) and web form submissions (Webhook)."
      },
      "typeVersion": 1
    },
    {
      "id": "bd8ae3aa-7797-4b04-bda6-dd5e4ed6c859",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        0
      ],
      "parameters": {
        "color": 4,
        "width": 704,
        "height": 672,
        "content": "## Send Auto-Reply\n"
      },
      "typeVersion": 1
    },
    {
      "id": "db09a2a4-fbd9-4c1e-be9e-63787ceb324b",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        608,
        80
      ],
      "parameters": {
        "color": 6,
        "width": 368,
        "height": 560,
        "content": "## Data Extraction & Parsing \n**Extracts details like customer name, email, subject, message, source, received timestamp, and intelligently determines inquiryType (urgent, billing, general) from both email content and web form data."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "d94a9640-9ad6-424f-a790-18dc46bd1ec7",
  "connections": {
    "Email Trigger": {
      "main": [
        [
          {
            "node": "Extract Email Content",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Merge Inquiries": {
      "main": [
        [
          {
            "node": "f7c07e85-6661-4519-b93a-d030c63bc237",
            "type": "main",
            "index": 0
          },
          {
            "node": "Send Auto-Reply Email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Email Data": {
      "main": [
        [
          {
            "node": "Merge Inquiries",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse Webhook Data": {
      "main": [
        [
          {
            "node": "Merge Inquiries",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Webhook - Web Form": {
      "main": [
        [
          {
            "node": "Parse Webhook Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Email Content": {
      "main": [
        [
          {
            "node": "Parse Email Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "f7c07e85-6661-4519-b93a-d030c63bc237": {
      "main": [
        [
          {
            "node": "Save to Google Sheets",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "950a8809-813f-4fe4-a261-122c122851ad",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "10357ad4-18b3-492b-a722-7a5ddc53d7bc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

中級 - チケット管理

有料ですか?

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

ワークフロー情報
難易度
中級
ノード数15
カテゴリー1
ノードタイプ10
難易度説明

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

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34