自動エラー報告:GitHub Issues → AI分析 → Jira チケット、Slack と Discord での通知付き
上級
これはContent Creation, Multimodal AI分野の自動化ワークフローで、22個のノードを含みます。主にIf, Code, Jira, Slack, Githubなどのノードを使用。 GPT-4o 分析やチーム リマインダーを含む、GitHub と Jira のエラー同期
前提条件
- •Slack Bot Token または Webhook URL
- •GitHub Personal Access Token
- •Discord Bot Token または Webhook
- •HTTP Webhookエンドポイント(n8nが自動生成)
- •OpenAI API Key
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"name": "Automate Bug Reports: GitHub Issues → AI Analysis → Jira Tickets with Slack & Discord Alerts",
"tags": [],
"nodes": [
{
"id": "sticky-overview",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
250,
300
],
"parameters": {
"width": 400,
"height": 380,
"content": "## 🔄 AUTOMATED BUG WORKFLOW\n\n### Flow: Webhook → Filter → Extract → AI → Parse → Jira → Notify → Respond\n\n### Benefits\n✅ Instant AI triage\n✅ Auto-assignment\n✅ Zero manual work\n✅ Saves 15-20 min/bug\n✅ $685/month ROI\n\n### Setup Requirements\n- GitHub repo access\n- OpenAI API key (GPT-4o)\n- Jira credentials\n- Slack workspace (optional)\n- Discord server (optional)"
},
"typeVersion": 1
},
{
"id": "sticky-webhook",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
250,
750
],
"parameters": {
"width": 280,
"height": 300,
"content": "## 📥 STEP 1: WEBHOOK\n\n**Setup:**\n1. Activate workflow\n2. Copy webhook URL from this node\n3. GitHub → Settings → Webhooks → Add webhook\n4. Paste URL\n5. Content-type: application/json\n6. Events: Select \"Issues\"\n7. Save\n\n**Test:** Create a new issue in GitHub"
},
"typeVersion": 1
},
{
"id": "a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d",
"name": "GitHub Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
400,
1100
],
"webhookId": "",
"parameters": {
"path": "github-issue-webhook",
"options": {},
"httpMethod": "POST",
"responseMode": "responseNode"
},
"typeVersion": 1
},
{
"id": "sticky-filter",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
600,
750
],
"parameters": {
"width": 280,
"height": 280,
"content": "## 🔍 STEP 2: FILTER\n\n**Purpose:** Only process NEW issues\n\n**Checks:** action = \"opened\"\n- TRUE: Continue\n- FALSE: Stop\n\n**Why:** Prevents duplicate Jira tickets from issue edits, labels, or comments"
},
"typeVersion": 1
},
{
"id": "b2c3d4e5-f6a7-4b5c-9d0e-1f2a3b4c5d6e",
"name": "フィルター:新規Issueのみ",
"type": "n8n-nodes-base.if",
"position": [
750,
1100
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$json.action}}",
"value2": "opened",
"operation": "equals"
}
]
}
},
"typeVersion": 1
},
{
"id": "sticky-extract",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
950,
750
],
"parameters": {
"width": 280,
"height": 300,
"content": "## 📋 STEP 3: EXTRACT DATA\n\n**Extracts:**\n- Issue number & title\n- Description & reporter\n- Labels & URL\n- Repository info\n- Mentioned files (regex)\n\n**File Detection:**\nFinds: .js, .py, .ts, .jsx, .tsx, .java, .go, .rb, .php, .cpp, .c, .css, .html"
},
"typeVersion": 1
},
{
"id": "c3d4e5f6-a7b8-4c5d-0e1f-2a3b4c5d6e7f",
"name": "Issueコンテキスト抽出",
"type": "n8n-nodes-base.code",
"position": [
1100,
1100
],
"parameters": {
"jsCode": "const issue = $input.item.json.issue;\nconst repo = $input.item.json.repository;\n\nconst fileRegex = /`([^`]*\\.(js|py|ts|jsx|tsx|java|go|rb|php|cpp|c|css|html))`/g;\nconst mentionedFiles = [];\nlet match;\n\nif (issue.body) {\n while ((match = fileRegex.exec(issue.body)) !== null) {\n mentionedFiles.push(match[1]);\n }\n}\n\nreturn {\n issueNumber: issue.number,\n title: issue.title,\n description: issue.body || \"No description provided\",\n reporter: issue.user.login,\n reporterAvatar: issue.user.avatar_url,\n labels: issue.labels.map(l => l.name).join(\", \") || \"none\",\n url: issue.html_url,\n createdAt: issue.created_at,\n mentionedFiles: mentionedFiles.join(\", \") || \"No files mentioned\",\n repositoryName: repo.full_name,\n repositoryOwner: repo.owner.login,\n repositoryRepo: repo.name\n};"
},
"typeVersion": 2
},
{
"id": "sticky-ai",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
1300,
750
],
"parameters": {
"width": 280,
"height": 340,
"content": "## 🤖 STEP 4: AI ANALYSIS\n\n**GPT-4o analyzes:**\n- Bug severity (Critical/High/Medium/Low)\n- Category (Backend/Frontend/DB/API/UI/etc)\n- Reproduction steps\n- Potential root cause\n- Priority (P0-P3)\n- Complexity & time estimate\n- Recommended developer\n\n**Setup:** Add OpenAI credentials\n\n**Cost:** ~$0.01-0.03 per issue"
},
"typeVersion": 1
},
{
"id": "d4e5f6a7-b8c9-4d5e-1f2a-3b4c5d6e7f8a",
"name": "GPT-4o バグ分析",
"type": "@n8n/n8n-nodes-langchain.openAi",
"position": [
1450,
1100
],
"parameters": {
"text": "=Analyze this GitHub issue and provide a structured response in valid JSON format:\n\n**Issue Title:** {{$json.title}}\n**Description:** {{$json.description}}\n**Labels:** {{$json.labels}}\n**Mentioned Files:** {{$json.mentionedFiles}}\n**Repository:** {{$json.repositoryName}}\n\nProvide your analysis in this exact JSON structure:\n{\n \"bugSeverity\": \"Critical|High|Medium|Low\",\n \"category\": \"Backend|Frontend|Database|API|UI|Performance|Security|Infrastructure\",\n \"reproductionSteps\": \"Clear numbered steps to reproduce\",\n \"potentialRootCause\": \"Brief technical analysis\",\n \"suggestedPriority\": \"P0|P1|P2|P3\",\n \"estimatedComplexity\": \"Simple|Medium|Complex\",\n \"recommendedDeveloper\": \"backend-dev|frontend-dev|fullstack-dev|devops\",\n \"estimatedHours\": \"number between 1-40\"\n}\n\nRespond with ONLY the JSON object, no additional text.",
"model": "gpt-4o",
"options": {
"maxTokens": 1000,
"temperature": 0.3
}
},
"typeVersion": 1.3
},
{
"id": "sticky-parse",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
1650,
750
],
"parameters": {
"width": 300,
"height": 340,
"content": "## 🔧 STEP 5: PARSE & MAP\n\n**Functions:**\n- Parse AI JSON response (with error handling)\n- Map developer types to emails\n- Convert priorities (P0→Highest)\n- Prepare Jira labels array\n\n**⚠️ CUSTOMIZE THIS:**\nUpdate email addresses in the code:\n```\n\"backend-dev\": \"backend@company.com\"\n\"frontend-dev\": \"frontend@company.com\"\n\"fullstack-dev\": \"fullstack@company.com\"\n\"devops\": \"devops@company.com\"\n```"
},
"typeVersion": 1
},
{
"id": "e5f6a7b8-c9d0-4e5f-2a3b-4c5d6e7f8a9b",
"name": "GPT レスポンス解析 & データマッピング",
"type": "n8n-nodes-base.code",
"position": [
1800,
1100
],
"parameters": {
"jsCode": "const issueData = $('Extract Issue Context').item.json;\nconst gptResponse = $input.item.json.text;\n\nlet analysis;\ntry {\n analysis = JSON.parse(gptResponse);\n} catch (error) {\n analysis = {\n bugSeverity: \"Medium\",\n category: \"General\",\n reproductionSteps: \"See original issue\",\n potentialRootCause: \"Requires investigation\",\n suggestedPriority: \"P2\",\n estimatedComplexity: \"Medium\",\n recommendedDeveloper: \"fullstack-dev\",\n estimatedHours: 8\n };\n}\n\nconst developerMapping = {\n \"backend-dev\": \"backend.dev@company.com\",\n \"frontend-dev\": \"frontend.dev@company.com\",\n \"fullstack-dev\": \"fullstack.dev@company.com\",\n \"devops\": \"devops@company.com\"\n};\n\nconst priorityMapping = {\n \"P0\": \"Highest\",\n \"P1\": \"High\",\n \"P2\": \"Medium\",\n \"P3\": \"Low\"\n};\n\nreturn {\n ...issueData,\n bugSeverity: analysis.bugSeverity,\n category: analysis.category,\n reproductionSteps: analysis.reproductionSteps,\n potentialRootCause: analysis.potentialRootCause,\n suggestedPriority: analysis.suggestedPriority,\n estimatedComplexity: analysis.estimatedComplexity,\n estimatedHours: analysis.estimatedHours,\n recommendedDeveloper: analysis.recommendedDeveloper,\n assignedDeveloper: developerMapping[analysis.recommendedDeveloper] || \"triage@company.com\",\n jiraLabels: [analysis.category, analysis.bugSeverity],\n jiraPriority: priorityMapping[analysis.suggestedPriority] || \"Medium\"\n};"
},
"typeVersion": 2
},
{
"id": "sticky-jira",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
2000,
750
],
"parameters": {
"width": 300,
"height": 340,
"content": "## 🎫 STEP 6: CREATE JIRA\n\n**Setup:**\n1. Add Jira Software Cloud credentials\n2. Update YOUR_JIRA_PROJECT_KEY\n3. Replace your-company.atlassian.net URLs\n\n**Ticket includes:**\n- GitHub issue link\n- Original description\n- Complete AI analysis\n- Auto-assigned developer\n- Priority & labels set\n\n**Get API Token:**\nJira → Profile → Security → API Tokens → Create"
},
"typeVersion": 1
},
{
"id": "f6a7b8c9-d0e1-4f5a-3b4c-5d6e7f8a9b0c",
"name": "Jira チケット作成",
"type": "n8n-nodes-base.jira",
"position": [
2150,
1100
],
"parameters": {
"project": "YOUR_JIRA_PROJECT_KEY",
"summary": "=[GitHub #{{$json.issueNumber}}] {{$json.title}}",
"resource": "issue",
"issueType": "Bug",
"operation": "create",
"description": "=*Reported by:* {{$json.reporter}}\n*GitHub Issue:* {{$json.url}}\n*Repository:* {{$json.repositoryName}}\n\n---\n\n*Original Description:*\n{{$json.description}}\n\n---\n\n*AI Analysis Summary:*\n\n*Severity:* {{$json.bugSeverity}}\n*Category:* {{$json.category}}\n*Estimated Complexity:* {{$json.estimatedComplexity}}\n*Estimated Hours:* {{$json.estimatedHours}}\n*Mentioned Files:* {{$json.mentionedFiles}}\n\n*Reproduction Steps:*\n{{$json.reproductionSteps}}\n\n*Potential Root Cause:*\n{{$json.potentialRootCause}}",
"additionalFields": {
"labels": "={{$json.jiraLabels}}",
"assignee": "={{$json.assignedDeveloper}}",
"priority": "={{$json.jiraPriority}}"
}
},
"typeVersion": 1
},
{
"id": "sticky-notify",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
2350,
750
],
"parameters": {
"width": 360,
"height": 340,
"content": "## 🔔 STEP 7: NOTIFICATIONS\n\n**3 Parallel Branches:**\n\n1️⃣ **GitHub Comment**\n- Posts on original issue\n- Links to Jira ticket\n- Shows AI analysis summary\n\n2️⃣ **Slack Alert**\n- Rich formatted message\n- All bug details\n- Action buttons\n\n3️⃣ **Discord Alert**\n- Markdown formatted\n- Links to both platforms\n\nAll execute simultaneously!"
},
"typeVersion": 1
},
{
"id": "a7b8c9d0-e1f2-4a5b-4c5d-6e7f8a9b0c1d",
"name": "GitHub Issue更新",
"type": "n8n-nodes-base.github",
"position": [
2550,
950
],
"parameters": {
"body": "=🤖 **Automated Bug Report Created**\n\n📋 **Jira Ticket:** [{{$json.key}}](https://your-company.atlassian.net/browse/{{$json.key}})\n\n**AI Analysis:**\n- **Severity:** {{$('Parse GPT Response & Map Data').item.json.bugSeverity}}\n- **Category:** {{$('Parse GPT Response & Map Data').item.json.category}}\n- **Priority:** {{$('Parse GPT Response & Map Data').item.json.suggestedPriority}}\n- **Assigned to:** {{$('Parse GPT Response & Map Data').item.json.assignedDeveloper}}\n- **Estimated Time:** {{$('Parse GPT Response & Map Data').item.json.estimatedHours}} hours\n\nThis issue has been automatically triaged and assigned. A developer will review soon.",
"owner": "={{$('Parse GPT Response & Map Data').item.json.repositoryOwner}}",
"resource": "issue",
"operation": "createComment",
"repository": "={{$('Parse GPT Response & Map Data').item.json.repositoryRepo}}",
"issueNumber": "={{$('Parse GPT Response & Map Data').item.json.issueNumber}}",
"authentication": "oAuth2"
},
"typeVersion": 1
},
{
"id": "b8c9d0e1-f2a3-4b5c-5d6e-7f8a9b0c1d2e",
"name": "Slack アラート送信",
"type": "n8n-nodes-base.slack",
"position": [
2550,
1100
],
"parameters": {
"text": "=New Bug Report",
"channel": "dev-alerts",
"blocksUi": {
"blocksValues": [
{
"type": "header",
"textUi": {
"text": "=🐛 New Bug: GitHub #{{$('Extract Issue Context').item.json.issueNumber}}"
}
},
{
"type": "section",
"fieldsUi": {
"fieldsValues": [
{
"text": "=*Title:*\\n{{$('Extract Issue Context').item.json.title}}"
},
{
"text": "=*Severity:*\\n{{$('Parse GPT Response & Map Data').item.json.bugSeverity}}"
},
{
"text": "=*Category:*\\n{{$('Parse GPT Response & Map Data').item.json.category}}"
},
{
"text": "=*Priority:*\\n{{$('Parse GPT Response & Map Data').item.json.suggestedPriority}}"
},
{
"text": "=*Assigned:*\\n{{$('Parse GPT Response & Map Data').item.json.assignedDeveloper}}"
},
{
"text": "=*Est. Hours:*\\n{{$('Parse GPT Response & Map Data').item.json.estimatedHours}}h"
}
]
}
},
{
"type": "section",
"textUi": {
"text": "=*Potential Cause:*\\n{{$('Parse GPT Response & Map Data').item.json.potentialRootCause}}"
}
},
{
"type": "actions",
"elementsUi": {
"elementsValues": [
{
"url": "={{$('Extract Issue Context').item.json.url}}",
"type": "button",
"textUi": {
"text": "View in GitHub"
}
},
{
"url": "=https://your-company.atlassian.net/browse/{{$json.key}}",
"type": "button",
"textUi": {
"text": "View in Jira"
}
}
]
}
}
]
},
"resource": "message",
"operation": "post"
},
"typeVersion": 2.1
},
{
"id": "c9d0e1f2-a3b4-4c5d-6e7f-8a9b0c1d2e3f",
"name": "Discord アラート送信",
"type": "n8n-nodes-base.discord",
"position": [
2550,
1250
],
"parameters": {
"url": "YOUR_DISCORD_WEBHOOK_URL",
"content": "=🐛 **New Bug Report - {{$('Parse GPT Response & Map Data').item.json.bugSeverity}} Priority**\\n\\n**GitHub Issue:** #{{$('Extract Issue Context').item.json.issueNumber}} - {{$('Extract Issue Context').item.json.title}}\\n**Jira Ticket:** {{$json.key}}\\n**Severity:** {{$('Parse GPT Response & Map Data').item.json.bugSeverity}}\\n**Category:** {{$('Parse GPT Response & Map Data').item.json.category}}\\n**Assigned:** {{$('Parse GPT Response & Map Data').item.json.assignedDeveloper}}\\n**Estimated:** {{$('Parse GPT Response & Map Data').item.json.estimatedHours}} hours\\n\\n**Potential Cause:**\\n{{$('Parse GPT Response & Map Data').item.json.potentialRootCause}}\\n\\n🔗 [GitHub]({{$('Extract Issue Context').item.json.url}}) | [Jira](https://your-company.atlassian.net/browse/{{$json.key}})",
"options": {}
},
"typeVersion": 2
},
{
"id": "sticky-response",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
2750,
750
],
"parameters": {
"width": 300,
"height": 340,
"content": "## ✅ STEP 8: RESPOND\n\n**Returns JSON to GitHub:**\n```\n{\n \"status\": \"success\",\n \"message\": \"Bug processed\",\n \"jiraTicket\": \"ENG-123\"\n}\n```\n\n**Why important:**\n- Confirms processing succeeded\n- Prevents GitHub retries\n- Shows success in webhook log\n\n**Monitor:**\nGitHub → Settings → Webhooks → Recent Deliveries"
},
"typeVersion": 1
},
{
"id": "d0e1f2a3-b4c5-4d5e-7f8a-9b0c1d2e3f4a",
"name": "Webhook レスポンス",
"type": "n8n-nodes-base.respondToWebhook",
"position": [
2900,
1100
],
"parameters": {
"respondWith": "json",
"responseBody": "={{ { \"status\": \"success\", \"message\": \"Bug report processed\", \"jiraTicket\": $json.key } }}"
},
"typeVersion": 1
},
{
"id": "sticky-troubleshoot",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
250,
1450
],
"parameters": {
"width": 420,
"height": 540,
"content": "# 🔧 TROUBLESHOOTING\n\n**Webhook not triggering?**\n✅ Activate workflow first\n✅ Check webhook URL copied correctly\n✅ Verify \"Issues\" event selected in GitHub\n✅ Test with curl or create test issue\n\n**AI analysis fails?**\n✅ Add OpenAI credentials in n8n\n✅ Verify API key is valid\n✅ Check GPT-4o access on account\n✅ Review OpenAI API status\n\n**Jira ticket creation fails?**\n✅ Add Jira credentials (email + API token)\n✅ Update YOUR_JIRA_PROJECT_KEY\n✅ Verify \"Bug\" issue type exists\n✅ Check assignee emails are valid\n\n**Slack notification fails?**\n✅ Re-authenticate Slack OAuth\n✅ Verify channel name (use \"dev-alerts\" not \"#dev-alerts\")\n✅ Check bot has permission to post\n✅ Invite bot to private channels\n\n**Discord notification fails?**\n✅ Verify webhook URL is complete\n✅ Test webhook with curl\n✅ Check webhook not deleted in Discord\n\n**GitHub comment fails?**\n✅ Use GitHub OAuth2 authentication\n✅ Verify repo permissions\n✅ Check owner/repo names are correct"
},
"typeVersion": 1
},
{
"id": "sticky-roi",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
710,
1450
],
"parameters": {
"width": 420,
"height": 540,
"content": "# 📊 ROI CALCULATOR\n\n**Manual Process per Bug:**\n- Read & assess: 5 min\n- Determine category: 2 min\n- Create Jira ticket: 5 min\n- Assign developer: 2 min\n- Notify team: 2 min\n- Update GitHub: 1 min\n**Total: 17 minutes**\n\n**Automated Process:**\n**6-8 seconds** ⚡\n\n**Monthly Savings (50 bugs):**\n- Time saved: 825 min (13.75 hrs)\n- Labor value: $687.50 (@$50/hr)\n- OpenAI cost: ~$2\n- **Net savings: $685/month**\n\n**Annual ROI:**\n**$8,220 saved per year** 💰\n\n**Additional Benefits:**\n✅ Consistent quality\n✅ Zero human error\n✅ 24/7 availability\n✅ Instant response\n✅ Better developer morale"
},
"typeVersion": 1
},
{
"id": "sticky-customize",
"name": "付箋",
"type": "n8n-nodes-base.stickyNote",
"position": [
1170,
1450
],
"parameters": {
"width": 420,
"height": 540,
"content": "# 🎨 CUSTOMIZATION IDEAS\n\n**1. Add more developer types:**\nEdit Parse GPT Response node:\n```javascript\nconst developerMapping = {\n \"backend-dev\": \"backend@company.com\",\n \"frontend-dev\": \"frontend@company.com\",\n \"mobile-dev\": \"mobile@company.com\",\n \"qa-engineer\": \"qa@company.com\",\n \"devops\": \"devops@company.com\"\n};\n```\n\n**2. Filter by severity:**\nAdd IF node after Parse:\n- Only process Critical/High bugs\n- Route low-priority to separate flow\n\n**3. Route by channel based on severity:**\n```javascript\nconst channel = severity === 'Critical' \n ? 'critical-alerts' \n : 'dev-alerts';\n```\n\n**4. Add email notifications:**\nInsert Send Email node after Jira\n- Email assigned developer\n- Include all bug details\n\n**5. Custom Jira labels:**\n```javascript\njiraLabels: [\n category,\n severity,\n 'auto-triaged',\n `repo-${repositoryName}`\n]\n```\n\n**6. Multi-repository support:**\nAdd Switch node after Filter:\n- Route different repos to different Jira projects\n- Assign to different teams\n- Use custom AI prompts per repo"
},
"typeVersion": 1
}
],
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"connections": {
"a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d": {
"main": [
[
{
"node": "b2c3d4e5-f6a7-4b5c-9d0e-1f2a3b4c5d6e",
"type": "main",
"index": 0
}
]
]
},
"f6a7b8c9-d0e1-4f5a-3b4c-5d6e7f8a9b0c": {
"main": [
[
{
"node": "a7b8c9d0-e1f2-4a5b-4c5d-6e7f8a9b0c1d",
"type": "main",
"index": 0
},
{
"node": "b8c9d0e1-f2a3-4b5c-5d6e-7f8a9b0c1d2e",
"type": "main",
"index": 0
},
{
"node": "c9d0e1f2-a3b4-4c5d-6e7f-8a9b0c1d2e3f",
"type": "main",
"index": 0
}
]
]
},
"d4e5f6a7-b8c9-4d5e-1f2a-3b4c5d6e7f8a": {
"main": [
[
{
"node": "e5f6a7b8-c9d0-4e5f-2a3b-4c5d6e7f8a9b",
"type": "main",
"index": 0
}
]
]
},
"a7b8c9d0-e1f2-4a5b-4c5d-6e7f8a9b0c1d": {
"main": [
[
{
"node": "d0e1f2a3-b4c5-4d5e-7f8a-9b0c1d2e3f4a",
"type": "main",
"index": 0
}
]
]
},
"c3d4e5f6-a7b8-4c5d-0e1f-2a3b4c5d6e7f": {
"main": [
[
{
"node": "d4e5f6a7-b8c9-4d5e-1f2a-3b4c5d6e7f8a",
"type": "main",
"index": 0
}
]
]
},
"b2c3d4e5-f6a7-4b5c-9d0e-1f2a3b4c5d6e": {
"main": [
[
{
"node": "c3d4e5f6-a7b8-4c5d-0e1f-2a3b4c5d6e7f",
"type": "main",
"index": 0
}
]
]
},
"e5f6a7b8-c9d0-4e5f-2a3b-4c5d6e7f8a9b": {
"main": [
[
{
"node": "f6a7b8c9-d0e1-4f5a-3b4c-5d6e7f8a9b0c",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
上級 - コンテンツ作成, マルチモーダルAI
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
会議議事録とアクションアイテムトラッカー
AIベースの会議議事録:GPT-4の活用、タスク割り当て、マルチチャネル配信
If
Set
Code
+
If
Set
Code
38 ノードJitesh Dugar
コンテンツ作成
Notionから自動で顧客育成メールと評価収集を実行
Telegramを使ってGoogleカレンダーとNotion CRMによる会議スケジュールの自動化
If
Set
Code
+
If
Set
Code
19 ノードShelly-Ann Davy
サポートチャットボット
ニュースサマリー自動化テンプレート
Perplexity で調査、GPT で下書き作成、Gmail で承認プロセスを経て、金融ニュースのビジネスレポートを作成する
If
Code
Gmail
+
If
Code
Gmail
27 ノードCristina
コンテンツ作成
顧客育成メールの自動化と Notion からの顧客評価収集
WhatsApp、GPT-4V、Google Sheets を活用して領収データを抽出・整理
If
Code
Notion
+
If
Code
Notion
18 ノードShelly-Ann Davy
請求書処理
AI駆動型動画制作&Instagram/TikTok/YouTubeへの自動アップロード
クラウドドライブからAI駆動の動画作成およびInstagram、TikTok、YouTubeへのアップロード
If
Set
Code
+
If
Set
Code
53 ノードDevCode Journey
コンテンツ作成
潜在顧客の資格審査とルーティングエンジン
AIを活用した潜在顧客の資格審査とルーティング:OpenAI、Slack、Airtableを使用
If
Set
Slack
+
If
Set
Slack
17 ノードXavier Tai
コンテンツ作成
ワークフロー情報
難易度
上級
ノード数22
カテゴリー2
ノードタイプ10
作成者
Shelly-Ann Davy
@SheCodesFlowFounder of The Workflow Muse & @SheCodesFlow. I craft elegant, task-focused automations for creators, founders, and soft-tech enthusiasts. “Automate with grace. Scale with power.”
外部リンク
n8n.ioで表示 →
このワークフローを共有