{
  "name": "YouTube Calendar to Discord Notifications Template",
  "nodes": [
    {
      "parameters": {
        "httpMethod": "POST",
        "path": "3bdd02c0-f7c9-4e54-b2a1-c57fca07350a",
        "options": {}
      },
      "id": "f2b9e79a-7800-4617-895e-fb4f679b4db8",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "typeVersion": 2.1,
      "position": [
        0,
        576
      ],
      "webhookId": "3df75bfc-f787-4e32-91f5-9d9f21d13086"
    },
    {
      "parameters": {
        "jsCode": "// ============================================================\n// CLIENT SETUP — ONLY EDIT THIS NODE\n// Replace each value in quotes with yours.\n// Do NOT edit any other node in this workflow.\n// ============================================================\n\nconst CONFIG = {\n  notionDatabaseId:  \"PASTE_YOUR_YOUTUBE_CALENDAR_DATABASE_ID\",\n  discordGuildId:    \"PASTE_YOUR_DISCORD_SERVER_ID\",\n  ideasChannelId:    \"PASTE_YOUR_CONTENT_IDEAS_CHANNEL_ID\",\n  calendarChannelId: \"PASTE_YOUR_YOUTUBE_CALENDAR_UPDATE_CHANNEL_ID\",\n  reviewerUserId:    \"PASTE_YOUR_REVIEWER_DISCORD_USER_ID\",\n  notionCalendarUrl: \"PASTE_YOUR_NOTION_YOUTUBE_CALENDAR_VIEW_URL\",\n};\n\n// DO NOT EDIT BELOW THIS LINE\nconst incoming = $input.first().json;\nreturn [{ json: { ...incoming, ...CONFIG } }];"
      },
      "id": "888d68d5-cbf8-4f9b-a2a1-5a994f8b0db9",
      "name": "Config",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        224,
        576
      ]
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "loose",
            "version": 3
          },
          "conditions": [
            {
              "id": "age-check",
              "leftValue": "={{ (new Date($json.body.data.last_edited_time) - new Date($json.body.data.created_time)) }}",
              "rightValue": 30000,
              "operator": {
                "type": "number",
                "operation": "lt"
              }
            }
          ],
          "combinator": "and"
        },
        "looseTypeValidation": true,
        "options": {}
      },
      "id": "65795534-823d-4b83-a04e-f46bcbd7edec",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        448,
        576
      ]
    },
    {
      "parameters": {
        "amount": 1,
        "unit": "minutes"
      },
      "id": "26500019-0f85-4922-a00e-f41039a50ee2",
      "name": "Wait1",
      "type": "n8n-nodes-base.wait",
      "typeVersion": 1.1,
      "position": [
        672,
        512
      ],
      "webhookId": "9e05478b-4723-478c-b98a-51ddfdf43d2c"
    },
    {
      "parameters": {
        "resource": "databasePage",
        "operation": "get",
        "pageId": {
          "__rl": true,
          "value": "={{ $('Webhook').item.json.body.data.id }}",
          "mode": "id"
        },
        "simple": false
      },
      "id": "2083424d-adce-4d57-9a53-25850ba46175",
      "name": "Notion: Get Fresh Page Data",
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        896,
        512
      ],
      "credentials": {
        "notionApi": {
          "id": "h6B4aYDP3e5LmL7E",
          "name": "Notion account Dwayne"
        }
      }
    },
    {
      "parameters": {
        "rules": {
          "values": [
            {
              "conditions": {
                "options": {
                  "caseSensitive": false,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('Webhook').item.json.body.data.properties.Status.status.name }}",
                    "rightValue": "Idea",
                    "id": "route-idea"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Idea"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": false,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('Webhook').item.json.body.data.properties.Status.status.name }}",
                    "rightValue": "Raw Videos/Ready for editing",
                    "id": "route-raw"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Raw Videos"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": false,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('Webhook').item.json.body.data.properties.Status.status.name }}",
                    "rightValue": "In progress",
                    "id": "route-inp"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "In Progress"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": false,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('Webhook').item.json.body.data.properties.Status.status.name }}",
                    "rightValue": "Ready for reviewing",
                    "id": "route-rev"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Ready for Reviewing"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": false,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('Webhook').item.json.body.data.properties.Status.status.name }}",
                    "rightValue": "New Revisions",
                    "id": "route-newrev"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "New Revisions"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": false,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('Webhook').item.json.body.data.properties.Status.status.name }}",
                    "rightValue": "Approved",
                    "id": "route-app"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Approved"
            },
            {
              "conditions": {
                "options": {
                  "caseSensitive": false,
                  "leftValue": "",
                  "typeValidation": "strict",
                  "version": 3
                },
                "conditions": [
                  {
                    "operator": {
                      "type": "string",
                      "operation": "equals"
                    },
                    "leftValue": "={{ $('Webhook').item.json.body.data.properties.Status.status.name }}",
                    "rightValue": "Scheduled",
                    "id": "route-sched"
                  }
                ],
                "combinator": "and"
              },
              "renameOutput": true,
              "outputKey": "Scheduled"
            }
          ]
        },
        "options": {
          "fallbackOutput": "none",
          "ignoreCase": true,
          "allMatchingOutputs": false
        }
      },
      "id": "24758aa8-dd7c-4a06-a2bf-0510683b3ee9",
      "name": "Route by Status",
      "type": "n8n-nodes-base.switch",
      "typeVersion": 3.4,
      "position": [
        1120,
        496
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.discordGuildId }}",
          "mode": "id"
        },
        "channelId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.ideasChannelId }}",
          "mode": "id"
        },
        "content": "=A new YouTube video idea has been **added to the content calendar** @everyone\n\n**Title:**  [{{ $(\"Notion: Get Fresh Page Data\").isExecuted ? ($(\"Notion: Get Fresh Page Data\").item.json.properties?.Name?.title?.[0]?.plain_text || \"Untitled\") : ($(\"Webhook\").item.json.body.data.properties?.Name?.title?.[0]?.text?.content || \"Untitled\") }}]({{ $(\"Notion: Get Fresh Page Data\").isExecuted ? $(\"Notion: Get Fresh Page Data\").item.json.url : $(\"Webhook\").item.json.body.data.url }})\n\nRemember to look at the **reference videos** below in the Notion page!",
        "options": {}
      },
      "id": "3febf1d0-f94e-4f15-b231-4b0dd57b8442",
      "name": "Send: Idea",
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        1344,
        0
      ],
      "webhookId": "169abf07-5ab4-46c4-bd7f-561b62167fc6",
      "credentials": {
        "discordBotApi": {
          "id": "ojvtDj0TJ0xT4tfe",
          "name": "ECGROUP YouTube Calendar"
        }
      }
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.discordGuildId }}",
          "mode": "id"
        },
        "channelId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.calendarChannelId }}",
          "mode": "id"
        },
        "content": "=This YouTube video idea is **ready for editing!** @everyone\n\n**Title:** [{{ $(\"Notion: Get Fresh Page Data\").isExecuted ? ($(\"Notion: Get Fresh Page Data\").item.json.properties?.Name?.title?.[0]?.plain_text || \"Untitled\") : ($(\"Webhook\").item.json.body.data.properties?.Name?.title?.[0]?.text?.content || \"Untitled\") }}]({{ $(\"Notion: Get Fresh Page Data\").isExecuted ? $(\"Notion: Get Fresh Page Data\").item.json.url : $(\"Webhook\").item.json.body.data.url }})\n**Due date:** {{ $(\"Notion: Get Fresh Page Data\").isExecuted ? $(\"Notion: Get Fresh Page Data\").item.json.properties?.[\"Due date\"]?.date?.start : $(\"Webhook\").item.json.body.data.properties?.[\"Due date\"]?.date?.start }}\n\nRemember to look at the **reference videos** below in the Notion page!",
        "options": {}
      },
      "id": "a1c1a03f-1f0b-45dc-a987-0f89f226a91f",
      "name": "Send: Raw Videos",
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        1344,
        192
      ],
      "webhookId": "78318b0f-5850-4acd-8384-045534fe89ef",
      "credentials": {
        "discordBotApi": {
          "id": "ojvtDj0TJ0xT4tfe",
          "name": "ECGROUP YouTube Calendar"
        }
      }
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.discordGuildId }}",
          "mode": "id"
        },
        "channelId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.calendarChannelId }}",
          "mode": "id"
        },
        "content": "=This YouTube video idea is **being edited!** @everyone\n\n**Title:** [{{ $(\"Notion: Get Fresh Page Data\").isExecuted ? ($(\"Notion: Get Fresh Page Data\").item.json.properties?.Name?.title?.[0]?.plain_text || \"Untitled\") : ($(\"Webhook\").item.json.body.data.properties?.Name?.title?.[0]?.text?.content || \"Untitled\") }}]({{ $(\"Notion: Get Fresh Page Data\").isExecuted ? $(\"Notion: Get Fresh Page Data\").item.json.url : $(\"Webhook\").item.json.body.data.url }})\n**Due date:** {{ $(\"Notion: Get Fresh Page Data\").isExecuted ? $(\"Notion: Get Fresh Page Data\").item.json.properties?.[\"Due date\"]?.date?.start : $(\"Webhook\").item.json.body.data.properties?.[\"Due date\"]?.date?.start }}\n\nRemember to look at the **reference videos** below in the Notion page!",
        "options": {}
      },
      "id": "5d53fc5f-f2bf-432c-8184-516c22afc640",
      "name": "Send: In Progress",
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        1344,
        384
      ],
      "webhookId": "761638c7-f86b-44cd-ad72-35324716614b",
      "credentials": {
        "discordBotApi": {
          "id": "LL1NGpwu4o3MZkdY",
          "name": "ECGroup Sales"
        }
      }
    },
    {
      "parameters": {
        "resource": "databasePage",
        "operation": "getAll",
        "databaseId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.notionDatabaseId }}",
          "mode": "id"
        },
        "returnAll": true,
        "simple": false,
        "filterType": "manual",
        "filters": {
          "conditions": [
            {
              "key": "Status|status",
              "condition": "equals",
              "statusValue": "Ready for reviewing"
            }
          ]
        },
        "options": {}
      },
      "id": "30409fe8-471c-4efa-b0ac-d9586bcace0b",
      "name": "Notion: Search Ready for Reviewing",
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        1344,
        576
      ],
      "credentials": {
        "notionApi": {
          "id": "h6B4aYDP3e5LmL7E",
          "name": "Notion account Dwayne"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const items = $input.all();\nconst list = items.map((item, i) => {\n  const titleArr = item.json.properties?.Name?.title;\n  const title = (titleArr && titleArr[0]?.plain_text) || 'Untitled';\n  const frameLink = item.json.properties?.['Frame Link 1']?.url || '';\n  const linkUrl = frameLink || item.json.url || '';\n  return `${i + 1}. [${title}](${linkUrl})`;\n}).join('\\n');\nreturn [{ json: { formattedList: list, totalCount: items.length } }];"
      },
      "id": "3afca0dd-0bdc-4d3c-aea6-07beaaa0d368",
      "name": "Code: Format Review List",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1568,
        576
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.discordGuildId }}",
          "mode": "id"
        },
        "channelId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.calendarChannelId }}",
          "mode": "id"
        },
        "content": "=This YouTube video is **[ready for review!]({{ $(\"Config\").item.json.notionCalendarUrl }})** <@{{ $(\"Config\").item.json.reviewerUserId }}>\n\nVideos currently in **ready for reviewing:** {{ $json.totalCount }}\n\n{{ $json.formattedList }}",
        "options": {}
      },
      "id": "4063b44b-3c34-46af-9708-a02f865dfb4c",
      "name": "Send: Ready for Review",
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        1792,
        576
      ],
      "webhookId": "20032548-5914-4ab4-b6d8-1674867f042d",
      "credentials": {
        "discordBotApi": {
          "id": "LL1NGpwu4o3MZkdY",
          "name": "ECGroup Sales"
        }
      }
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.discordGuildId }}",
          "mode": "id"
        },
        "channelId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.calendarChannelId }}",
          "mode": "id"
        },
        "content": "=This YouTube video has **not been approved.** Please check the comments on Frame.io! @everyone\n\n**Title:** [{{ $(\"Notion: Get Fresh Page Data\").isExecuted ? ($(\"Notion: Get Fresh Page Data\").item.json.properties?.Name?.title?.[0]?.plain_text || \"Untitled\") : ($(\"Webhook\").item.json.body.data.properties?.Name?.title?.[0]?.text?.content || \"Untitled\") }}]({{ $(\"Notion: Get Fresh Page Data\").isExecuted ? $(\"Notion: Get Fresh Page Data\").item.json.url : $(\"Webhook\").item.json.body.data.url }})\n**Due date:** {{ $(\"Notion: Get Fresh Page Data\").isExecuted ? $(\"Notion: Get Fresh Page Data\").item.json.properties?.[\"Due date\"]?.date?.start : $(\"Webhook\").item.json.body.data.properties?.[\"Due date\"]?.date?.start }}\n**[Frame.io link]({{ $(\"Notion: Get Fresh Page Data\").isExecuted ? $(\"Notion: Get Fresh Page Data\").item.json.properties?.[\"Video Frame Link\"]?.url : $(\"Webhook\").item.json.body.data.properties?.[\"Video Frame Link\"]?.url }})**",
        "options": {}
      },
      "id": "606a52c0-10f4-46bf-af2d-459fa49608c8",
      "name": "Send: New Revisions",
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        1344,
        768
      ],
      "webhookId": "d61adfb7-7643-40f0-96c5-675ee6c4270f",
      "credentials": {
        "discordBotApi": {
          "id": "LL1NGpwu4o3MZkdY",
          "name": "ECGroup Sales"
        }
      }
    },
    {
      "parameters": {
        "resource": "databasePage",
        "operation": "getAll",
        "databaseId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.notionDatabaseId }}",
          "mode": "id"
        },
        "returnAll": true,
        "simple": false,
        "filterType": "manual",
        "filters": {
          "conditions": [
            {
              "key": "Status|status",
              "condition": "equals",
              "statusValue": "Approved"
            }
          ]
        },
        "options": {}
      },
      "id": "28e42a73-c66e-4b9e-8108-955b09f92948",
      "name": "Notion: Search Approved",
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        1344,
        960
      ],
      "credentials": {
        "notionApi": {
          "id": "h6B4aYDP3e5LmL7E",
          "name": "Notion account Dwayne"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const items = $input.all();\nconst list = items.map((item, i) => {\n  const titleArr = item.json.properties?.Name?.title;\n  const title = (titleArr && titleArr[0]?.plain_text) || 'Untitled';\n  const frameLink = item.json.properties?.['Frame Link 1']?.url || '';\n  const linkUrl = frameLink || item.json.url || '';\n  const mediaFile = item.json.properties?.['Media file']?.files || [];\n  const hasMedia = Array.isArray(mediaFile) ? mediaFile.length > 0 : !!mediaFile;\n  return `${i + 1}. [${title}](${linkUrl}) ${hasMedia ? '✅' : '❌'}`;\n}).join('\\n');\nreturn [{ json: { formattedList: list, totalCount: items.length } }];"
      },
      "id": "4f3ac01c-ef96-431a-a83d-dc60ce3a1aac",
      "name": "Code: Format Approved List",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1568,
        960
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.discordGuildId }}",
          "mode": "id"
        },
        "channelId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.calendarChannelId }}",
          "mode": "id"
        },
        "content": "=This **[YouTube video]({{ $(\"Config\").item.json.notionCalendarUrl }})** has been **fully approved!** @everyone\n\n✅ Videos currently in the **approved queue:** {{ $json.totalCount }}\n\n{{ $json.formattedList }}",
        "options": {}
      },
      "id": "c1a0084e-ee2b-4e45-89c6-4d09ee390351",
      "name": "Send: Approved",
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        1792,
        960
      ],
      "webhookId": "d8794c54-bd35-492a-b096-21b075d0530d",
      "credentials": {
        "discordBotApi": {
          "id": "LL1NGpwu4o3MZkdY",
          "name": "ECGroup Sales"
        }
      }
    },
    {
      "parameters": {
        "resource": "databasePage",
        "operation": "getAll",
        "databaseId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.notionDatabaseId }}",
          "mode": "id"
        },
        "returnAll": true,
        "simple": false,
        "filterType": "manual",
        "filters": {
          "conditions": [
            {
              "key": "Status|status",
              "condition": "equals",
              "statusValue": "Scheduled"
            }
          ]
        },
        "options": {}
      },
      "id": "d0100c69-f998-45a1-9b8a-29b23c17d9b1",
      "name": "Notion: Search Scheduled",
      "type": "n8n-nodes-base.notion",
      "typeVersion": 2.2,
      "position": [
        1344,
        1152
      ],
      "credentials": {
        "notionApi": {
          "id": "h6B4aYDP3e5LmL7E",
          "name": "Notion account Dwayne"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const items = $input.all();\nconst processed = items.map(item => {\n  const titleArr = item.json.properties?.Name?.title;\n  const title = (titleArr && titleArr[0]?.plain_text) || 'Untitled';\n  const url = item.json.url || '';\n  const queue = item.json.properties?.Queue?.number || 999;\n  const mediaFile = item.json.properties?.['Media file']?.files || [];\n  const hasMedia = Array.isArray(mediaFile) ? mediaFile.length > 0 : !!mediaFile;\n  return { title, url, queue, mediaStatus: hasMedia ? '✅' : '❌' };\n});\nprocessed.sort((a, b) => a.queue - b.queue);\nconst list = processed.map((item, i) => `${i + 1}. [${item.title}](${item.url}) ${item.mediaStatus}`).join('\\n');\nreturn [{ json: { formattedList: list, totalCount: processed.length, nextVideo: processed[0]?.title || 'No video found' } }];"
      },
      "id": "22f9aad4-b848-4689-89c5-78aac9ad925c",
      "name": "Code: Format Scheduled Queue",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1568,
        1152
      ]
    },
    {
      "parameters": {
        "resource": "message",
        "guildId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.discordGuildId }}",
          "mode": "id"
        },
        "channelId": {
          "__rl": true,
          "value": "={{ $('Config').item.json.calendarChannelId }}",
          "mode": "id"
        },
        "content": "=This **[YouTube video]({{ $(\"Config\").item.json.notionCalendarUrl }})** has been **scheduled!** @everyone\n\n**Post time:** 18:30 PM London GMT\n\n📅 Videos currently in the **Scheduled queue:** {{ $json.totalCount }}\n\n▶️ **Next up:** {{ $json.nextVideo }}\n\n{{ $json.formattedList }}",
        "options": {}
      },
      "id": "92b95c7e-dac6-4d61-abeb-65131916672b",
      "name": "Send: Scheduled",
      "type": "n8n-nodes-base.discord",
      "typeVersion": 2,
      "position": [
        1792,
        1152
      ],
      "webhookId": "49678f2b-50d8-41e3-b15a-4154b7c17eae",
      "credentials": {
        "discordBotApi": {
          "id": "LL1NGpwu4o3MZkdY",
          "name": "ECGroup Sales"
        }
      }
    },
    {
      "parameters": {
        "content": "## CLIENT SETUP\n\nOpen the **Config** node and replace the 6 placeholder values with yours:\n\n1. **notionDatabaseId** — Your YouTube Calendar DB ID (from the Notion DB URL)\n2. **discordGuildId** — Your Discord Server ID\n3. **ideasChannelId** — Your #content-ideas channel ID\n4. **calendarChannelId** — Your #youtube-calendar-update channel ID\n5. **reviewerUserId** — Your reviewer Discord User ID\n6. **notionCalendarUrl** — Your Notion YouTube calendar view URL (Share > Copy link)\n\n**To get Discord IDs:** Enable Developer Mode in Discord settings, then right-click any server/channel > Copy ID.\n\nDo not touch any other node.",
        "height": 264,
        "width": 892,
        "color": 3
      },
      "id": "807693ea-ce74-4303-bd2c-bdae1a30be40",
      "name": "Sticky Note 11b8ccd5",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        288,
        64
      ]
    }
  ],
  "pinData": {},
  "connections": {
    "Webhook": {
      "main": [
        [
          {
            "node": "Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Config": {
      "main": [
        [
          {
            "node": "If",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "If": {
      "main": [
        [
          {
            "node": "Wait1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Route by Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Wait1": {
      "main": [
        [
          {
            "node": "Notion: Get Fresh Page Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notion: Get Fresh Page Data": {
      "main": [
        [
          {
            "node": "Route by Status",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Route by Status": {
      "main": [
        [
          {
            "node": "Send: Idea",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send: Raw Videos",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send: In Progress",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Notion: Search Ready for Reviewing",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Send: New Revisions",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Notion: Search Approved",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Notion: Search Scheduled",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notion: Search Ready for Reviewing": {
      "main": [
        [
          {
            "node": "Code: Format Review List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Format Review List": {
      "main": [
        [
          {
            "node": "Send: Ready for Review",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notion: Search Approved": {
      "main": [
        [
          {
            "node": "Code: Format Approved List",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Format Approved List": {
      "main": [
        [
          {
            "node": "Send: Approved",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Notion: Search Scheduled": {
      "main": [
        [
          {
            "node": "Code: Format Scheduled Queue",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Code: Format Scheduled Queue": {
      "main": [
        [
          {
            "node": "Send: Scheduled",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": true,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate",
    "timezone": "Europe/London",
    "saveDataErrorExecution": "all",
    "saveDataSuccessExecution": "all",
    "callerPolicy": "workflowsFromSameOwner",
    "availableInMCP": true
  },
  "versionId": "d1b4a9ed-06d6-40cc-b465-78eb4cefd0d9",
  "meta": {
    "aiBuilderAssisted": true,
    "builderVariant": "mcp",
    "instanceId": "5185a83f97534d4adc925ed1672fee925d013547b712fbeada89bb6c418f7edc"
  },
  "id": "csvp7IEbcyEpfMoE",
  "tags": [
    {
      "updatedAt": "2025-09-04T13:14:26.735Z",
      "createdAt": "2025-09-04T13:14:26.735Z",
      "id": "DWbGCR01Eld9zt1C",
      "name": "Notion"
    },
    {
      "updatedAt": "2026-05-15T17:51:43.012Z",
      "createdAt": "2026-05-15T17:51:43.012Z",
      "id": "RLOTbQOkvMUGeIjn",
      "name": "Discord"
    },
    {
      "updatedAt": "2025-08-28T07:39:51.686Z",
      "createdAt": "2025-08-28T07:39:51.686Z",
      "id": "dNkoYCY1RuMcxDkF",
      "name": "Content"
    },
    {
      "updatedAt": "2025-09-04T13:13:28.649Z",
      "createdAt": "2025-09-04T13:13:09.402Z",
      "id": "dRMNgbw7VXUvq5bF",
      "name": "Dwayne"
    },
    {
      "updatedAt": "2026-05-15T17:51:36.837Z",
      "createdAt": "2026-05-15T17:51:36.837Z",
      "id": "j21tiBy6ag0iHLC3",
      "name": "Template"
    },
    {
      "updatedAt": "2026-05-15T17:51:30.705Z",
      "createdAt": "2026-05-15T17:51:30.705Z",
      "id": "mFq5cZvuXfcFybbk",
      "name": "SFC"
    }
  ]
}