顧客オンボーディングのヘルプリクエスト(Typeform → Gmail → Sheets)
上級
これはContent Creation, Multimodal AI分野の自動化ワークフローで、28個のノードを含みます。主にIf, Code, Gmail, Slack, ClickUpなどのノードを使用。 顧客エントリヘルプリクエスト(Typeform → Gmail → Sheets)
前提条件
- •Googleアカウント + Gmail API認証情報
- •Slack Bot Token または Webhook URL
- •Google Sheets API認証情報
- •OpenAI API Key
使用ノード (28)
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "dXMSOO4Jr8OLjozm",
"meta": {
"instanceId": "8443f10082278c46aa5cf3acf8ff0f70061a2c58bce76efac814b16290845177",
"templateCredsSetupCompleted": true
},
"name": "Customer Onboarding Help Requests (Typeform to Gmail & Sheets)",
"tags": [],
"nodes": [
{
"id": "9fa1fad1-085e-4a81-b561-1b9bcf13156b",
"name": "Typeform トリガー",
"type": "n8n-nodes-base.typeformTrigger",
"position": [
-576,
576
],
"webhookId": "typeform-webhook",
"parameters": {
"formId": "cXaYXrBp"
},
"credentials": {
"typeformApi": {
"id": "BZNYDuO6Ymg0Gql2",
"name": "Typeform account"
}
},
"typeVersion": 1
},
{
"id": "1a77e0ab-86e6-4ef8-8e72-fad93fc4827c",
"name": "Google Sheets にログ記録",
"type": "n8n-nodes-base.googleSheets",
"position": [
-352,
576
],
"parameters": {
"columns": {
"value": {
"Urgency": "={{ $json[\"How urgent is this request?\"] }}",
"Full Name": "={{ $json[\"What's your full name?\"] }}",
"Company/Team": "={{ $json[\"Which company or team are you from?\"] }}",
"Email Address": "={{ $json[\"What's your email address?\"] }}",
"Issue Details": "={{ $json[\"Please describe the issue or help you need in detail.\"] }}",
"Product/Service": "={{ $json[\"Which product/service are you getting onboarded to?\"] }}",
"Onboarding Support Needed": "={{ $json[\"What type of onboarding support do you need?\"] }}"
},
"schema": [
{
"id": "Full Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Full Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Email Address",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Email Address",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Company/Team",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Company/Team",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Product/Service",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Product/Service",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Onboarding Support Needed",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Onboarding Support Needed",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Issue Details",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Issue Details",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Urgency",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Urgency",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ZOwioaHTLWKltq6UbxzZh02UEBKfypdv_GOhcPu4fHg/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1ZOwioaHTLWKltq6UbxzZh02UEBKfypdv_GOhcPu4fHg",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1ZOwioaHTLWKltq6UbxzZh02UEBKfypdv_GOhcPu4fHg/edit?usp=drivesdk",
"cachedResultName": "onboarding requests"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "kpPEOLCGn963qpoh",
"name": "automations@techdome.ai"
}
},
"typeVersion": 4
},
{
"id": "cd2d4992-4229-4081-8ab3-e757e4e3d896",
"name": "メール存在確認",
"type": "n8n-nodes-base.if",
"position": [
-128,
576
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "email-check",
"operator": {
"type": "string",
"operation": "isNotEmpty"
},
"leftValue": "={{ $json.email }}",
"rightValue": ""
},
{
"id": "2c03e600-6592-4611-ba67-d68e7e610290",
"operator": {
"type": "string",
"operation": "exists",
"singleValue": true
},
"leftValue": "={{ $json.Email }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "acb6dc41-37e1-4b4d-b850-a3b34ec43359",
"name": "ウェルカムメール送信",
"type": "n8n-nodes-base.gmail",
"position": [
432,
480
],
"webhookId": "f5b7a5e6-aa6a-46db-8115-a62f0784bb41",
"parameters": {
"sendTo": "={{ $json.email }}",
"message": "={{ $json.html }}",
"options": {},
"subject": "Welcome to [Your Company]! Here are your onboarding resources"
},
"credentials": {
"gmailOAuth2": {
"id": "gEIaWCTvGfYjMSb3",
"name": "Gmail credentials"
}
},
"typeVersion": 2
},
{
"id": "0631a301-2647-4ff4-af72-4cea1b6d4a58",
"name": "プロフェッショナルメールHTML生成",
"type": "n8n-nodes-base.code",
"position": [
96,
480
],
"parameters": {
"jsCode": "// Generate professional email HTML format\nlet htmlOutput = '';\n\nfor (const item of $input.all()) {\n // Professional email template\n htmlOutput += `\n<!DOCTYPE html>\n<html>\n<head>\n <meta charset=\"UTF-8\">\n <style>\n body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; margin: 0; padding: 20px; }\n .email-container { max-width: 600px; margin: 0 auto; background: #ffffff; border: 1px solid #e0e0e0; border-radius: 8px; overflow: hidden; }\n .header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 30px 20px; text-align: center; }\n .header h1 { margin: 0; font-size: 24px; font-weight: 300; }\n .content { padding: 30px; }\n .greeting { font-size: 16px; margin-bottom: 20px; }\n .info-section { background: #f8f9fa; border-radius: 6px; padding: 20px; margin: 20px 0; }\n .info-title { font-size: 18px; font-weight: 600; color: #495057; margin-bottom: 15px; border-bottom: 2px solid #dee2e6; padding-bottom: 8px; }\n .info-row { display: flex; margin: 12px 0; padding: 8px 0; border-bottom: 1px solid #e9ecef; }\n .info-row:last-child { border-bottom: none; }\n .info-label { font-weight: 600; color: #6c757d; min-width: 180px; }\n .info-value { color: #495057; flex: 1; }\n .footer { background: #f8f9fa; padding: 20px; text-align: center; font-size: 14px; color: #6c757d; border-top: 1px solid #e0e0e0; }\n .signature { margin-top: 30px; padding-top: 20px; border-top: 1px solid #dee2e6; }\n </style>\n</head>\n<body>\n <div class=\"email-container\">\n <div class=\"header\">\n <h1>New Customer Inquiry</h1>\n </div>\n \n <div class=\"content\">\n <div class=\"greeting\">\n Dear Team,\n </div>\n \n <p>We have received a new customer inquiry through our contact form. Please find the details below and ensure appropriate follow-up action is taken.</p>\n \n <div class=\"info-section\">\n <div class=\"info-title\">Customer Details</div>`;\n \n // Loop through each key-value pair in the JSON object\n for (const [key, value] of Object.entries(item.json)) {\n htmlOutput += `\n <div class=\"info-row\">\n <div class=\"info-label\">${key}:</div>\n <div class=\"info-value\">${value}</div>\n </div>`;\n }\n \n htmlOutput += `\n </div>\n \n <p><strong>Next Steps:</strong></p>\n <ul>\n <li>Acknowledge receipt within 2 business hours</li>\n <li>Assign to appropriate team member based on product/service inquiry</li>\n <li>Schedule follow-up call if urgency is high</li>\n <li>Update CRM system with customer information</li>\n </ul>\n \n <div class=\"signature\">\n <p>Best regards,<br>\n <strong>Customer Service Team</strong><br>\n Email: support@company.com<br>\n Phone: +1 (555) 123-4567</p>\n </div>\n </div>\n \n <div class=\"footer\">\n <p>This is an automated notification. Please do not reply to this email.</p>\n <p>© 2024 Your Company Name. All rights reserved.</p>\n </div>\n </div>\n</body>\n</html>`;\n}\n\n// Return the professional email HTML\nreturn [{ \n json: {\n html: htmlOutput,\n htmlContent: htmlOutput,\n itemCount: $input.all().length,\n emailSubject: \"New Customer Inquiry - Action Required\"\n }\n}];"
},
"typeVersion": 2
},
{
"id": "6a89013b-35e3-440b-aad2-14b6c9d693ad",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-848,
320
],
"parameters": {
"height": 256,
"content": "🎯 **STEP 1: Form Capture**\n\nTriggers when someone submits your Typeform with onboarding help request.\n\n**Setup:**\n- Add your Typeform ID\n- Connect Typeform credentials\n- Webhook automatically configured"
},
"typeVersion": 1
},
{
"id": "cbed5a83-dbff-4c41-ad1b-ec06102acb76",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-400,
336
],
"parameters": {
"height": 224,
"content": "📊 **STEP 2: Data Logging**\n\nAppends all form data to Google Sheets for tracking and analytics.\n\n**Setup:**\n- Replace with your Sheet ID\n- Map form fields to columns\n- Ensure headers match"
},
"typeVersion": 1
},
{
"id": "5c451fdb-d1c9-4315-bc77-4aa4bcbba11c",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-192,
608
],
"parameters": {
"height": 256,
"content": "✅ **STEP 3: Email Validation**\n\nChecks if valid email exists before sending welcome message.\n\n**Logic:**\n- TRUE: Proceed to email generation\n- FALSE: Log error and skip email"
},
"typeVersion": 1
},
{
"id": "a89bd006-d4a5-4980-bef9-a34e5a9b2ab9",
"name": "付箋4",
"type": "n8n-nodes-base.stickyNote",
"position": [
32,
176
],
"parameters": {
"height": 296,
"content": "🎨 **STEP 4: Email Template**\n\nGenerates professional HTML email with:\n- Company branding\n- Customer details\n- Next steps\n- Contact information\n\n**Customize:**\n- Colors and styling\n- Company information\n- Action items"
},
"typeVersion": 1
},
{
"id": "905fb062-da89-4c8c-9ffc-9ccc8b3a323d",
"name": "付箋5",
"type": "n8n-nodes-base.stickyNote",
"position": [
480,
208
],
"parameters": {
"height": 240,
"content": "📧 **STEP 5: Send Email**\n\nDelivers welcome email using Gmail.\n\n**Important:**\n- Update sender email address\n- Test with internal emails first\n- Monitor delivery rates"
},
"typeVersion": 1
},
{
"id": "22f3915e-ceff-4489-9c43-8b6e814e6155",
"name": "付箋6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-288,
976
],
"parameters": {
"height": 252,
"content": "⚠️ **Error Handler**\n\nLogs submissions without valid email addresses for manual follow-up.\n\n**Use case:**\n- Incomplete form submissions\n- Invalid email formats\n- Manual review needed"
},
"typeVersion": 1
},
{
"id": "fe9be2b3-c57f-4fec-a525-5f067f72b0ca",
"name": "シートに行を追加または更新",
"type": "n8n-nodes-base.googleSheets",
"position": [
832,
672
],
"parameters": {
"columns": {
"value": {},
"schema": [
{
"id": "Task ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Task ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Task Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Task Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Description",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status Color",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Status Color",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Priority",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Priority",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date Created",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Date Created",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date Updated",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Date Updated",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date Closed",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Date Closed",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Date Done",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Date Done",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Due Date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Due Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Start Date",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Start Date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Creator",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Creator",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Creator Email",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Creator Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Assignees",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Assignees",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Watchers",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Watchers",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "List Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "List Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "List ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "List ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Project Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Project ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Project ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Folder Name",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Folder Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Space ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Space ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Team ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Team ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Points",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Points",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Time Estimate (Hours)",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Time Estimate (Hours)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Time Spent (Hours)",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Time Spent (Hours)",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Order Index",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Order Index",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Archived",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Archived",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Tags",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Tags",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Custom Fields",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Custom Fields",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Has Dependencies",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Has Dependencies",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Has Linked Tasks",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Has Linked Tasks",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Has Checklists",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Has Checklists",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Task URL",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Task URL",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Public Sharing",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Public Sharing",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Permission Level",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Permission Level",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Data Processed At",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Data Processed At",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Processing Status",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Processing Status",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "autoMapInputData",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1_aMeJ3avtD48dLkQxmgTtjDgbvhWp8a5v5wzgzIDd3o/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1_aMeJ3avtD48dLkQxmgTtjDgbvhWp8a5v5wzgzIDd3o",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1_aMeJ3avtD48dLkQxmgTtjDgbvhWp8a5v5wzgzIDd3o/edit?usp=drivesdk",
"cachedResultName": "TypeForm Form Data"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "kpPEOLCGn963qpoh",
"name": "automations@techdome.ai"
}
},
"typeVersion": 4.6
},
{
"id": "d7875033-c362-4d0e-9fb2-9c62d866dabe",
"name": "Azure OpenAI チャットモデル1",
"type": "@n8n/n8n-nodes-langchain.lmChatAzureOpenAi",
"position": [
256,
1120
],
"parameters": {
"model": "gpt-4o",
"options": {}
},
"credentials": {
"azureOpenAiApi": {
"id": "C3WzT18XqF8OdVM6",
"name": "Azure Open AI account"
}
},
"typeVersion": 1
},
{
"id": "4868a1af-06d1-4fe0-aa3f-9f1dca28163b",
"name": "シンプルメモリ1",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
400,
1136
],
"parameters": {
"sessionKey": "\"json_review\"",
"sessionIdType": "customKey",
"contextWindowLength": 7
},
"typeVersion": 1.3
},
{
"id": "031c5052-83c7-43ee-87d8-e9be9b23fd11",
"name": "AIエージェント",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
288,
896
],
"parameters": {
"text": "={{ $json[\"First name\"] }}{{ $json[\"Last name\"] }}{{ $json[\"Phone number\"] }}{{ $json.Email }}{{ $json.Company }}{{ $json[\"Which tutorial did you complete?\"] }}{{ $json[\"How would you rate the clarity of the tutorial content?\"] }}{{ $json[\"How helpful was the tutorial in improving your development skills?\"] }}{{ $json[\"What topics would you like to see covered in future tutorials?\"] }}{{ $json[\"Did you encounter any issues or difficulties while following the tutorial?\"] }}{{ $json[\"If yes, please describe the issues or difficulties you faced.\"] }}{{ $json[\"Any additional comments or suggestions to improve our tutorials?\"] }}{{ $json[\"Would you recommend these tutorials to other developers?\"] }}",
"options": {
"systemMessage": "=You are an AI assistant that processes raw form submissions from surveys or onboarding forms. \nYour job is to read all the answers and generate a structured, professional summary. \n\nRules:\n- Always produce output as clean JSON (no free text).\n- Keep \"summary\" concise (2–3 sentences).\n- In \"insights\", list key observations or potential issues as bullet points (max 5).\n- In \"callToAction\", give one short, actionable recommendation for the internal team.\n- If answers are irrelevant, empty, or missing, clearly state \"Not provided\" instead of skipping.\n- Do not repeat raw text verbatim; rephrase into professional insights.\n"
},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2.1
},
{
"id": "0d20f7f1-6c5a-4608-a22b-4c24800e5af4",
"name": "構造化出力パーサー",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
512,
1152
],
"parameters": {
"jsonSchemaExample": "{\n \"output\": {\n \"summary\": \"…\",\n \"insights\": [ \"…\", \"…\" ],\n \"callToAction\": \"…\"\n }\n}\n"
},
"typeVersion": 1.3
},
{
"id": "46b1e8b2-4f27-4f90-bc3f-f04b9023d416",
"name": "メッセージ送信",
"type": "n8n-nodes-base.slack",
"position": [
640,
896
],
"webhookId": "16544571-1b96-4e02-80fb-eccd5d588aa8",
"parameters": {
"text": "=Summary: {{ $json.output.summary }} \n\nInsight: {{ $json.output.insights }} \n\nAction: {{ $json.output.callToAction }}",
"select": "channel",
"channelId": {
"__rl": true,
"mode": "list",
"value": "C09H21LK9BJ",
"cachedResultName": "reply-needed"
},
"otherOptions": {}
},
"credentials": {
"slackApi": {
"id": "rNqvWj9TfChPVRYY",
"name": "Slack account vivek"
}
},
"typeVersion": 2.3
},
{
"id": "8ff6854e-2aa2-4ee4-92f1-6d2062e8430a",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
640
],
"parameters": {
"height": 240,
"content": "📌 **Create ClickUp Task**\n\nAutomatically creates a task in ClickUp for every valid submission.\n\n**Setup:**\n- Task name = tutorial completed\n- Assignee = customer name (or adjust to team member)\n"
},
"typeVersion": 1
},
{
"id": "b2ceca60-90b7-4fd3-b813-e517c21b80e9",
"name": "付箋7",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
656
],
"parameters": {
"height": 240,
"content": "📊 **Save Task Data**\n\nAppends or updates ClickUp task details into a second Google Sheet.\n\n**Purpose:**\n- Maintain enriched task dataset\n- Easy reporting on support/onboarding requests\n"
},
"typeVersion": 1
},
{
"id": "3428b6c8-7cdd-4cb5-80b9-4d2cdcdcb8f7",
"name": "付箋8",
"type": "n8n-nodes-base.stickyNote",
"position": [
304,
928
],
"parameters": {
"height": 272,
"content": "🤖 **AI Summarizer**\n\nReads full form submission and produces a clean structured JSON with:\n- Summary (2–3 sentences)\n- Insights (bullet points)\n- Call To Action (one next step)\n\nEnsures raw text is turned into actionable insights.\n"
},
"typeVersion": 1
},
{
"id": "8b837ce3-bad7-4746-853e-bf4e8a3da588",
"name": "付箋9",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
624
],
"parameters": {
"height": 256,
"content": "🛠️ **Format ClickUp Data**\n\nCleans and structures task data from ClickUp before logging it into Google Sheets.\n\n**Includes:**\n- Dates (created, due, closed)\n- Assignees, watchers, tags\n- Priority, status, custom fields\n- Task URL and metadata\n"
},
"typeVersion": 1
},
{
"id": "52bd38b8-6b2a-453c-8c37-b0b2dc8c3119",
"name": "付箋10",
"type": "n8n-nodes-base.stickyNote",
"position": [
-32,
1248
],
"parameters": {
"height": 224,
"content": "🧠 **Language Model**\n\nPowers the AI Agent by providing GPT-4o capabilities from Azure OpenAI.\n\n**Setup:**\n- Connected with your Azure credentials\n- Model: gpt-4o\n"
},
"typeVersion": 1
},
{
"id": "33dedf53-430f-477c-8baa-fbe014630da2",
"name": "付箋11",
"type": "n8n-nodes-base.stickyNote",
"position": [
288,
1296
],
"parameters": {
"height": 224,
"content": "🗂️ **Conversation Memory**\n\nProvides short-term memory to the AI Agent for context handling.\n\n**Config:**\n- Keeps last 7 turns\n- Session key = json_review\n"
},
"typeVersion": 1
},
{
"id": "34eafdd1-7527-46ab-8ac3-4992887b92d8",
"name": "付箋12",
"type": "n8n-nodes-base.stickyNote",
"position": [
576,
1248
],
"parameters": {
"height": 224,
"content": "📦 **Structured Parser**\n\nValidates and enforces AI output into the required JSON format.\n\n**Schema:**\n- summary: string\n- insights: array of strings\n- callToAction: string\n"
},
"typeVersion": 1
},
{
"id": "f43e42ee-3424-4745-a405-edbf37bedcc6",
"name": "付箋13",
"type": "n8n-nodes-base.stickyNote",
"position": [
768,
976
],
"parameters": {
"height": 224,
"content": "💬 **Slack Notification**\n\nPosts AI-generated summary, insights, and action items to a Slack channel.\n\n**Setup:**\n- Channel: reply-needed\n- Format: summary + insights + call to action\n"
},
"typeVersion": 1
},
{
"id": "351fd454-e8eb-450c-b6fe-f0ab1fa68962",
"name": "シート用顧客データフォーマット",
"type": "n8n-nodes-base.code",
"position": [
560,
656
],
"parameters": {
"jsCode": "// ClickUp Data Formatter for Google Sheets\n// This code formats ClickUp task data into a structured format for spreadsheet logging\n\nconst inputData = $input.all();\nconst formattedData = [];\n\nfor (const item of inputData) {\n const taskData = item.json;\n \n // Format dates for better readability\n const formatDate = (timestamp) => {\n if (!timestamp) return '';\n return new Date(parseInt(timestamp)).toLocaleString('en-US', {\n year: 'numeric',\n month: '2-digit',\n day: '2-digit',\n hour: '2-digit',\n minute: '2-digit',\n timeZone: 'UTC'\n });\n };\n \n // Extract assignee names\n const getAssignees = (assignees) => {\n if (!assignees || assignees.length === 0) return 'Unassigned';\n return assignees.map(assignee => assignee.username).join(', ');\n };\n \n // Extract watcher names\n const getWatchers = (watchers) => {\n if (!watchers || watchers.length === 0) return '';\n return watchers.map(watcher => watcher.username).join(', ');\n };\n \n // Extract tags\n const getTags = (tags) => {\n if (!tags || tags.length === 0) return '';\n return tags.map(tag => tag.name).join(', ');\n };\n \n // Extract custom fields\n const getCustomFields = (customFields) => {\n if (!customFields || customFields.length === 0) return '';\n return customFields.map(field => `${field.name}: ${field.value}`).join(' | ');\n };\n \n // Format priority\n const getPriority = (priority) => {\n if (!priority) return 'None';\n return priority.priority || 'None';\n };\n \n // Calculate time estimates and spent in hours\n const formatTime = (timeInMs) => {\n if (!timeInMs || timeInMs === 0) return '0';\n return (timeInMs / (1000 * 60 * 60)).toFixed(2); // Convert to hours\n };\n \n // Format the data for Google Sheets\n const formattedItem = {\n // Basic Task Information\n 'Task ID': taskData.id || '',\n 'Task Name': taskData.name || '',\n 'Description': taskData.description || taskData.text_content || '',\n 'Status': taskData.status?.status || '',\n 'Status Color': taskData.status?.color || '',\n 'Priority': getPriority(taskData.priority),\n \n // Dates\n 'Date Created': formatDate(taskData.date_created),\n 'Date Updated': formatDate(taskData.date_updated),\n 'Date Closed': formatDate(taskData.date_closed),\n 'Date Done': formatDate(taskData.date_done),\n 'Due Date': formatDate(taskData.due_date),\n 'Start Date': formatDate(taskData.start_date),\n \n // People\n 'Creator': taskData.creator?.username || '',\n 'Creator Email': taskData.creator?.email || '',\n 'Assignees': getAssignees(taskData.assignees),\n 'Watchers': getWatchers(taskData.watchers),\n \n // Organization\n 'List Name': taskData.list?.name || '',\n 'List ID': taskData.list?.id || '',\n 'Project Name': taskData.project?.name || '',\n 'Project ID': taskData.project?.id || '',\n 'Folder Name': taskData.folder?.name || '',\n 'Space ID': taskData.space?.id || '',\n 'Team ID': taskData.team_id || '',\n \n // Task Details\n 'Points': taskData.points || 0,\n 'Time Estimate (Hours)': formatTime(taskData.time_estimate),\n 'Time Spent (Hours)': formatTime(taskData.time_spent),\n 'Order Index': taskData.orderindex || '',\n 'Archived': taskData.archived ? 'Yes' : 'No',\n \n // Additional Information\n 'Tags': getTags(taskData.tags),\n 'Custom Fields': getCustomFields(taskData.custom_fields),\n 'Has Dependencies': taskData.dependencies && taskData.dependencies.length > 0 ? 'Yes' : 'No',\n 'Has Linked Tasks': taskData.linked_tasks && taskData.linked_tasks.length > 0 ? 'Yes' : 'No',\n 'Has Checklists': taskData.checklists && taskData.checklists.length > 0 ? 'Yes' : 'No',\n \n // URLs and Sharing\n 'Task URL': taskData.url || '',\n 'Public Sharing': taskData.sharing?.public ? 'Yes' : 'No',\n 'Permission Level': taskData.permission_level || '',\n \n // Metadata\n 'Data Processed At': new Date().toISOString(),\n 'Processing Status': 'Success'\n };\n \n formattedData.push({\n json: formattedItem,\n pairedItem: item.pairedItem\n });\n}\n\n// Return the formatted data\nreturn formattedData;"
},
"typeVersion": 2
},
{
"id": "ad96b89c-c380-44d6-a0ad-6a4504e79b35",
"name": "ClickUpオンボーディングタスク作成",
"type": "n8n-nodes-base.clickUp",
"position": [
320,
656
],
"parameters": {
"list": "901411336526",
"name": "={{ $('Log to Google Sheets').item.json[\"Which tutorial did you complete?\"] }}",
"team": "9014871666",
"space": "90143681766",
"folderless": true,
"additionalFields": {
"assignees": "={{ $('Log to Google Sheets').item.json[\"First name\"] }}"
}
},
"credentials": {
"clickUpApi": {
"id": "gDQJASsbW56RbLoy",
"name": "ClickUp account vivek"
}
},
"typeVersion": 1
},
{
"id": "3f90bc74-ed0d-42f7-9761-644ee7cf7185",
"name": "メール欠落処理とエラーログ記録",
"type": "n8n-nodes-base.function",
"position": [
-96,
816
],
"parameters": {},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "3e2c977e-4bfb-48da-bc5b-6248e2d719e4",
"connections": {
"031c5052-83c7-43ee-87d8-e9be9b23fd11": {
"main": [
[
{
"node": "46b1e8b2-4f27-4f90-bc3f-f04b9023d416",
"type": "main",
"index": 0
}
]
]
},
"4868a1af-06d1-4fe0-aa3f-9f1dca28163b": {
"ai_memory": [
[
{
"node": "031c5052-83c7-43ee-87d8-e9be9b23fd11",
"type": "ai_memory",
"index": 0
}
]
]
},
"9fa1fad1-085e-4a81-b561-1b9bcf13156b": {
"main": [
[
{
"node": "1a77e0ab-86e6-4ef8-8e72-fad93fc4827c",
"type": "main",
"index": 0
}
]
]
},
"cd2d4992-4229-4081-8ab3-e757e4e3d896": {
"main": [
[
{
"node": "0631a301-2647-4ff4-af72-4cea1b6d4a58",
"type": "main",
"index": 0
},
{
"node": "ad96b89c-c380-44d6-a0ad-6a4504e79b35",
"type": "main",
"index": 0
},
{
"node": "031c5052-83c7-43ee-87d8-e9be9b23fd11",
"type": "main",
"index": 0
}
],
[
{
"node": "3f90bc74-ed0d-42f7-9761-644ee7cf7185",
"type": "main",
"index": 0
}
]
]
},
"1a77e0ab-86e6-4ef8-8e72-fad93fc4827c": {
"main": [
[
{
"node": "cd2d4992-4229-4081-8ab3-e757e4e3d896",
"type": "main",
"index": 0
}
]
]
},
"d7875033-c362-4d0e-9fb2-9c62d866dabe": {
"ai_languageModel": [
[
{
"node": "031c5052-83c7-43ee-87d8-e9be9b23fd11",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"0d20f7f1-6c5a-4608-a22b-4c24800e5af4": {
"ai_outputParser": [
[
{
"node": "031c5052-83c7-43ee-87d8-e9be9b23fd11",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"ad96b89c-c380-44d6-a0ad-6a4504e79b35": {
"main": [
[
{
"node": "351fd454-e8eb-450c-b6fe-f0ab1fa68962",
"type": "main",
"index": 0
}
]
]
},
"351fd454-e8eb-450c-b6fe-f0ab1fa68962": {
"main": [
[
{
"node": "fe9be2b3-c57f-4fec-a525-5f067f72b0ca",
"type": "main",
"index": 0
}
]
]
},
"0631a301-2647-4ff4-af72-4cea1b6d4a58": {
"main": [
[
{
"node": "acb6dc41-37e1-4b4d-b850-a3b34ec43359",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - コンテンツ作成, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Azure OpenAI とGoogle Workspace で DEI 資格フィルター Automation
Azure GPT-4o、Googleドライブ、テーブルを使ってDEI資格フィルタリングを自動化
If
Code
Gmail
+
If
Code
Gmail
19 ノードRahul Joshi
コンテンツ作成
Google Drive から n8n テンプレートの説明を生成
AzureでGPT-4を使ってGoogle Driveからテンプレート説明文を生成
Code
Gmail
Google Drive
+
Code
Gmail
Google Drive
27 ノードRahul Joshi
コンテンツ作成
リリースノートをよくある質問用に変換(Jira/ClickUp)
GPT-4oによるClickUpからの自動記事作成とNotion及びSlackへの配信
If
Code
Gmail
+
If
Code
Gmail
20 ノードRahul Joshi
エンジニアリング
プロスペクトの意図分類と自動タスク作成ツール
Azure GPT-4 を使って Google Sheets から ClickUp にリード意図分類を自動化
Set
Switch
Click Up
+
Set
Switch
Click Up
32 ノードRahul Joshi
コンテンツ作成
人员流出リスク警报ワークフロー(Azure OpenAI + n8n)
従業員サーキュラーションプリスク検出とHRリマインダー – Azure OpenAI GPT-4o-miniとGmailを使用
If
Code
Gmail
+
If
Code
Gmail
16 ノードRahul Joshi
コンテンツ作成
GPT-4 を使って ClickUp から Slack および Gmail への毎日の朝報を自動化
ClickUpからGPT-4oを使ってAI駆動型朝刊をSlackおよびGmailへ送信
If
Code
Gmail
+
If
Code
Gmail
27 ノードRahul Joshi
ワークフロー情報
難易度
上級
ノード数28
カテゴリー2
ノードタイプ13
作成者
Rahul Joshi
@rahul08Rahul Joshi is a seasoned technology leader specializing in the n8n automation tool and AI-driven workflow automation. With deep expertise in building open-source workflow automation and self-hosted automation platforms, he helps organizations eliminate manual processes through intelligent n8n ai agent automation solutions.
外部リンク
n8n.ioで表示 →
このワークフローを共有