Notion-GitHub 自動化フロー
中級
これはProject Management分野の自動化ワークフローで、14個のノードを含みます。主にSet, Gmail, Github, Notion, Switchなどのノードを使用。 Notion から GitHub への自動化フロー、メール通知を含む
前提条件
- •Googleアカウント + Gmail API認証情報
- •GitHub Personal Access Token
- •Notion API Key
カテゴリー
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
"id": "MkdncnBkezX9QPQZ",
"meta": {
"instanceId": "43fe624f1392ada2f15246a2a3a9f0bf4079ffe6ba53194387a75aad0085752f",
"templateCredsSetupCompleted": true
},
"name": "notion-github",
"tags": [
{
"id": "7w2Ku9VPbcMLEYjA",
"name": "from6",
"createdAt": "2025-07-02T10:28:35.419Z",
"updatedAt": "2025-07-02T10:28:35.419Z"
}
],
"nodes": [
{
"id": "7c3adcf2-0f6c-4b9f-840c-9f1f1ad7b6fc",
"name": "複数データベースページ取得",
"type": "n8n-nodes-base.notion",
"position": [
540,
140
],
"parameters": {
"options": {},
"resource": "databasePage",
"operation": "getAll",
"returnAll": true,
"databaseId": {
"__rl": true,
"mode": "list",
"value": "224315ef-5fbb-804c-b0ac-daa3fd2204d1",
"cachedResultUrl": "https://www.notion.so/224315ef5fbb804cb0acdaa3fd2204d1",
"cachedResultName": "Feature Tracker"
}
},
"credentials": {
"notionApi": {
"id": "m58S8v9iNfyHkNCa",
"name": "Notion account"
}
},
"typeVersion": 2.2
},
{
"id": "35ccdc8d-063d-4177-9dbf-ef5ab0490083",
"name": "課題作成",
"type": "n8n-nodes-base.github",
"position": [
1260,
-760
],
"webhookId": "83ec3e24-50a4-4671-be98-ca979017b807",
"parameters": {
"body": "={{ $json.Description }}",
"owner": {
"__rl": true,
"mode": "list",
"value": "From6Agency",
"cachedResultUrl": "https://github.com/From6Agency",
"cachedResultName": "From6Agency"
},
"title": "={{ $json.Title }}",
"labels": [],
"assignees": [],
"repository": {
"__rl": true,
"mode": "name",
"value": "={{ $json.Repository }}"
},
"authentication": "oAuth2"
},
"credentials": {
"githubOAuth2Api": {
"id": "Gln4s2VSz3SN6tZc",
"name": "GitHub account"
}
},
"typeVersion": 1.1
},
{
"id": "15822ab6-75eb-42f6-9735-462eee577f01",
"name": "課題フィールドソート",
"type": "n8n-nodes-base.set",
"position": [
740,
140
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "ec9e556b-db8d-4c84-9278-ddae3c03dae4",
"name": "Title",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "2f44fef2-db01-4d86-97d8-24e860b9191f",
"name": "Description",
"type": "string",
"value": "={{ $json.property_description }}"
},
{
"id": "262ee63f-14a6-4779-85e4-38d0a0eb1b45",
"name": "Labels",
"type": "string",
"value": "={{ $json.property_labels[0] }}"
},
{
"id": "93645af7-ae3f-476d-ab0a-ca4bb454f89a",
"name": "Repository",
"type": "string",
"value": "={{ $json.property_repository[0] }}"
},
{
"id": "7e55b3f9-1d18-43c0-8311-54c267613f72",
"name": "Status",
"type": "string",
"value": "={{ $json.property_status }}"
},
{
"id": "0050711a-c0af-473f-8e3f-6fca52dd96da",
"name": "DatabasePageId",
"type": "string",
"value": "={{ $json.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ab5feb3b-b90b-46b8-817e-4d5304f1c052",
"name": "スケジュールトリガー",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
300,
140
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 12
}
]
}
},
"typeVersion": 1.2
},
{
"id": "5d1c0a93-e655-40b6-800d-95fa9a45fb5a",
"name": "複数ユーザー取得",
"type": "n8n-nodes-base.notion",
"position": [
1300,
460
],
"parameters": {
"resource": "user",
"operation": "getAll"
},
"credentials": {
"notionApi": {
"id": "m58S8v9iNfyHkNCa",
"name": "Notion account"
}
},
"typeVersion": 2.2
},
{
"id": "26fb5264-ecc5-41c7-ba4b-190299ebe133",
"name": "Notion ユーザーマッピング",
"type": "n8n-nodes-base.set",
"position": [
1480,
460
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "d7fa28c1-b8fd-4696-9c54-1fbfc1ecfeeb",
"name": "Name",
"type": "string",
"value": "={{ $json.name }}"
},
{
"id": "2d2bf9ae-2a65-4550-b5ab-2ba3c80af59f",
"name": "Email",
"type": "string",
"value": "={{ $json.person.email }}"
},
{
"id": "399b3419-f7c1-4a4d-866c-b376f264bdf5",
"name": "type",
"type": "string",
"value": "={{ $json.type }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "bf194122-52fb-466d-9532-21edd54857c7",
"name": "ステータスと課題URL設定",
"type": "n8n-nodes-base.notion",
"position": [
1540,
-760
],
"parameters": {
"pageId": {
"__rl": true,
"mode": "id",
"value": "={{ $('Switch').item.json.DatabasePageId }}"
},
"options": {},
"resource": "databasePage",
"operation": "update",
"propertiesUi": {
"propertyValues": [
{
"key": "Status|status",
"statusValue": "In progress"
},
{
"key": "Issue URL|url",
"urlValue": "={{ $json.html_url }}",
"ignoreIfEmpty": true
}
]
}
},
"credentials": {
"notionApi": {
"id": "m58S8v9iNfyHkNCa",
"name": "Notion account"
}
},
"typeVersion": 2.2
},
{
"id": "41f0a8c9-df5f-4fa8-a4e1-ed10017d1688",
"name": "分岐",
"type": "n8n-nodes-base.switch",
"position": [
980,
140
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "c494ba90-0e31-44f0-b7d3-9d59b42fbc67",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.Status }}",
"rightValue": "To develop"
}
]
}
},
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "e2566cab-fc35-4ef9-ba23-44a2c128b61c",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.Status }}",
"rightValue": "Done"
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "3d653edc-4d9e-4efc-98b2-83ef168bc962",
"name": "ボット除外",
"type": "n8n-nodes-base.switch",
"position": [
1660,
460
],
"parameters": {
"rules": {
"values": [
{
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0abb60d1-baa3-42e2-9ced-913b24bf727d",
"operator": {
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.type }}",
"rightValue": "person"
}
]
}
}
]
},
"options": {}
},
"typeVersion": 3.2
},
{
"id": "b4ce6176-284a-45d7-a852-e456a596f833",
"name": "メッセージ送信",
"type": "n8n-nodes-base.gmail",
"position": [
2060,
460
],
"webhookId": "0fac39e9-7020-44a0-98fd-b0cb16487604",
"parameters": {
"sendTo": "={{ $json.Email.join(', ') }}",
"message": "=Your message stipulating that the issue {{ $('Switch').item.json.Title }} has been marked as Done and closed within the {{ $('Switch').item.json.Repository }} repository.",
"options": {},
"subject": "A Github Issue has been closed !",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "9B0IqBqjWC8gKOUn",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "3b0bc8f4-4d6c-4c52-b123-78583df2ab89",
"name": "受信者グループ化",
"type": "n8n-nodes-base.aggregate",
"position": [
1880,
460
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "Email"
}
]
}
},
"typeVersion": 1
},
{
"id": "5becc075-f6b8-4c57-8489-7152e9616ec6",
"name": "付箋1",
"type": "n8n-nodes-base.stickyNote",
"position": [
260,
-720
],
"parameters": {
"color": 6,
"width": 880,
"height": 1100,
"content": "## 🔹 SECTION 1: Detect and Sort Issues from Notion\n**Combining**: Schedule Trigger + Notion Database + Field Mapping + Status Routing\n\n## ⏰ 1. Schedule Trigger\n🔧 **Node Type**: Schedule Trigger (you can use a webhook trigger if you are on Notion paid plan)\n\n## 💬 Description: Triggers the workflow every X minutes to check for new or updated Notion database pages.\n\n## 📑 2. Get Many Database Pages (Notion)\n🔧 **Node Type**: Notion → Get All Database Pages\n\n## 📋 What it does: Fetches all rows (pages) from a Notion database that represents tasks or feature requests.\n\n✏️ 3. Sort Issues Fields\n🔧 **Node Type**: Set\n\n## 📋 Goal: Restructures or cleans data fields such as Title, Status, Labels, and Repository.\n\n## 🔀 4. Switch: Issue Status Decision\n🔧 **Node Type**: Switch\n\n## 🎯 What it does: Separates logic based on the Status of the Notion item:\n\n**If status is \"To develop\"** → proceed to create issue\n\n**Else** → send notification to the team"
},
"typeVersion": 1
},
{
"id": "246e38b3-eb3d-47f8-9818-e0c48e9c308f",
"name": "付箋2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1160,
-1360
],
"parameters": {
"color": 4,
"width": 640,
"height": 760,
"content": "## 🔹 SECTION 2: GitHub Issue Creation (IF \"To develop\")\n**Combining**: GitHub Node + Notion Update\n\n## 🐙 5. Create an Issue (GitHub)\n🔧 **Node Type**: GitHub → Create Issue\n\n## ⚙️ What it does: Creates a new issue on the GitHub repo defined in the Notion row.\n\n## 📥 Inputs: Uses dynamic fields: Title, Description, Labels, Repository.\n\n## 🧩 6. Set Status and Issue URL (Notion Update)\n🔧 **Node Type**: Notion → Update Database Page\n\n## 🧠 Role: Updates the status of the issue in Notion to In progress and stores the created GitHub Issue URL."
},
"typeVersion": 1
},
{
"id": "7a5f0935-2dc8-4db4-8044-1f261b1820dd",
"name": "付箋3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1260,
-380
],
"parameters": {
"color": 3,
"width": 960,
"height": 1020,
"content": "## 🔹 SECTION 3: Notify Team on Already In-Progress Items (IF NOT \"To develop\")\nCombining: Notion Users + Filtering + Email Grouping + Gmail\n\n## 👥 7. Get Many Users (Notion Users)\n🔧 **Node Type**: Notion → Get All Users\n\n## 📥 What it does: Retrieves the list of team members (to be notified).\n\n## 🧠 8. Map Notion Users\n🔧 **Node Type**: Set\n\n## 📋 Role: Maps and formats data for each user (e.g., Name, Email, Role).\n\n## 🧹 9. Exclude Bot\n🔧 **Node Type**: Switch\n\n## 🚫 What it does: Excludes automation/bot users (e.g., notifications@noreply).\n\n## 🧮 10. Group Recipients\n🔧 **Node Type**: Aggregate\n\n## 🎯 Goal: Collects all user emails into a single array to send one email to all recipients.\n\n## 📬 11. Send a Message (Gmail)\n🔧 **Node Type**: Gmail → Send Email"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "7768a0ea-4dad-4586-b6b7-46b82a036dce",
"connections": {
"41f0a8c9-df5f-4fa8-a4e1-ed10017d1688": {
"main": [
[
{
"node": "35ccdc8d-063d-4177-9dbf-ef5ab0490083",
"type": "main",
"index": 0
}
],
[
{
"node": "5d1c0a93-e655-40b6-800d-95fa9a45fb5a",
"type": "main",
"index": 0
}
]
]
},
"3d653edc-4d9e-4efc-98b2-83ef168bc962": {
"main": [
[
{
"node": "3b0bc8f4-4d6c-4c52-b123-78583df2ab89",
"type": "main",
"index": 0
}
]
]
},
"5d1c0a93-e655-40b6-800d-95fa9a45fb5a": {
"main": [
[
{
"node": "26fb5264-ecc5-41c7-ba4b-190299ebe133",
"type": "main",
"index": 0
}
]
]
},
"35ccdc8d-063d-4177-9dbf-ef5ab0490083": {
"main": [
[
{
"node": "bf194122-52fb-466d-9532-21edd54857c7",
"type": "main",
"index": 0
}
]
]
},
"3b0bc8f4-4d6c-4c52-b123-78583df2ab89": {
"main": [
[
{
"node": "b4ce6176-284a-45d7-a852-e456a596f833",
"type": "main",
"index": 0
}
]
]
},
"26fb5264-ecc5-41c7-ba4b-190299ebe133": {
"main": [
[
{
"node": "3d653edc-4d9e-4efc-98b2-83ef168bc962",
"type": "main",
"index": 0
}
]
]
},
"ab5feb3b-b90b-46b8-817e-4d5304f1c052": {
"main": [
[
{
"node": "7c3adcf2-0f6c-4b9f-840c-9f1f1ad7b6fc",
"type": "main",
"index": 0
}
]
]
},
"15822ab6-75eb-42f6-9735-462eee577f01": {
"main": [
[
{
"node": "41f0a8c9-df5f-4fa8-a4e1-ed10017d1688",
"type": "main",
"index": 0
}
]
]
},
"7c3adcf2-0f6c-4b9f-840c-9f1f1ad7b6fc": {
"main": [
[
{
"node": "15822ab6-75eb-42f6-9735-462eee577f01",
"type": "main",
"index": 0
}
]
]
}
}
}よくある質問
このワークフローの使い方は?
上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。
このワークフローはどんな場面に適していますか?
中級 - プロジェクト管理
有料ですか?
このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。
関連ワークフロー
Gemini AIによる要約機能を使った週次チームレポート(WhatsAppグループ)
Gemini AIを使って要約した自動化された週次WhatsAppグループチームレポート
If
Set
Code
+
If
Set
Code
47 ノードJamot
プロジェクト管理
ブログ投稿自動化とSNSプロモーションエージェント
GPT-4、Perplexity、WordPressを使用したSEOブログ作成の自動化+ソーシャルメディア
Set
Code
Gmail
+
Set
Code
Gmail
79 ノードLukaszB
デザイン
AIとAPIFYを使用して sales meeting の準備を自動化し、WhatsAppへ送信
AI と APIFY を使って営業会議の準備を自動化し WhatsApp へ送信
If
Set
Html
+
If
Set
Html
61 ノードJimleuk
営業
Brazeで既存のメールテンプレートを更新
AIを使用してInstagram、Facebook、LinkedIn、Xでのソーシャルメディアコンテンツを自動化
Set
Gmail
Merge
+
Set
Gmail
Merge
73 ノードLukaszB
デザイン
GitHub への自動化 n8n ワークフロー バックアップおよび削除の追跡
n8n のワーキングフローを GitHub へ自動バックアップし、削除を追跡
If
N8n
Set
+
If
N8n
Set
31 ノードMarcial Ambriz
DevOps
Gemini、Slack、Notionを使ってニュース速報からAI要約を作成
Gemini、Slack、Notionを使ってニュース速報からAI情報要約を作成
Set
Code
Gmail
+
Set
Code
Gmail
19 ノードHarry Siggins
その他