{
  "openruna_format": "flow-graph-v1",
  "title": "0715_Wait_Schedule_Create_Scheduled",
  "slug": "0715-wait-schedule-create-scheduled",
  "source_filename": "0715_Wait_Schedule_Create_Scheduled.json",
  "nodes": [
    {
      "id": "Get playlist snapshot",
      "name": "Get playlist snapshot",
      "integration": "spotify",
      "kind": "action"
    },
    {
      "id": "Get playlist snapshot1",
      "name": "Get playlist snapshot1",
      "integration": "spotify",
      "kind": "action"
    },
    {
      "id": "If different snapshot",
      "name": "If different snapshot",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "Get all musics",
      "name": "Get all musics",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Update to_delete to true",
      "name": "Update to_delete to true",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Add music",
      "name": "Add music",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Compare Datasets",
      "name": "Compare Datasets",
      "integration": "compareDatasets",
      "kind": "action"
    },
    {
      "id": "Spotify",
      "name": "Spotify",
      "integration": "spotify",
      "kind": "action"
    },
    {
      "id": "No Operation, do nothing",
      "name": "No Operation, do nothing",
      "integration": "noOp",
      "kind": "logic"
    },
    {
      "id": "Get all musics not in youtube playlist",
      "name": "Get all musics not in youtube playlist",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Every day at noon",
      "name": "Every day at noon",
      "integration": "schedule",
      "kind": "trigger"
    },
    {
      "id": "Every day at noon + 1mn",
      "name": "Every day at noon + 1mn",
      "integration": "schedule",
      "kind": "trigger"
    },
    {
      "id": "Every hour",
      "name": "Every hour",
      "integration": "schedule",
      "kind": "trigger"
    },
    {
      "id": "Wait 1 hour",
      "name": "Wait 1 hour",
      "integration": "wait",
      "kind": "logic"
    },
    {
      "id": "variables",
      "name": "variables",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Search video",
      "name": "Search video",
      "integration": "youTube",
      "kind": "action"
    },
    {
      "id": "Get video duration",
      "name": "Get video duration",
      "integration": "youTube",
      "kind": "action"
    },
    {
      "id": "Loop Over Items",
      "name": "Loop Over Items",
      "integration": "splitInBatches",
      "kind": "logic"
    },
    {
      "id": "If video duration ~= music duration",
      "name": "If video duration ~= music duration",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "Add music to playlist",
      "name": "Add music to playlist",
      "integration": "youTube",
      "kind": "action"
    },
    {
      "id": "Add youtube id to row",
      "name": "Add youtube id to row",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Discord",
      "name": "Discord",
      "integration": "discord",
      "kind": "action"
    },
    {
      "id": "Discord1",
      "name": "Discord1",
      "integration": "discord",
      "kind": "action"
    },
    {
      "id": "Set youtube id to NOTFOUND if no matching",
      "name": "Set youtube id to NOTFOUND if no matching",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Aggregate",
      "name": "Aggregate",
      "integration": "aggregate",
      "kind": "logic"
    },
    {
      "id": "If no result",
      "name": "If no result",
      "integration": "if",
      "kind": "logic"
    },
    {
      "id": "data",
      "name": "data",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "variables2",
      "name": "variables2",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "variables1",
      "name": "variables1",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Loop Over Items1",
      "name": "Loop Over Items1",
      "integration": "splitInBatches",
      "kind": "logic"
    },
    {
      "id": "data1",
      "name": "data1",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Get playlist items",
      "name": "Get playlist items",
      "integration": "youTube",
      "kind": "action"
    },
    {
      "id": "Playlist items to be deleted",
      "name": "Playlist items to be deleted",
      "integration": "compareDatasets",
      "kind": "action"
    },
    {
      "id": "Get all musics that should be in playlist",
      "name": "Get all musics that should be in playlist",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Remove Duplicates",
      "name": "Remove Duplicates",
      "integration": "removeDuplicates",
      "kind": "logic"
    },
    {
      "id": "Remove video from playlist",
      "name": "Remove video from playlist",
      "integration": "youTube",
      "kind": "action"
    },
    {
      "id": "Check for deleted videos",
      "name": "Check for deleted videos",
      "integration": "compareDatasets",
      "kind": "action"
    },
    {
      "id": "Set youtube_video_id to null",
      "name": "Set youtube_video_id to null",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Get all musics to be deleted",
      "name": "Get all musics to be deleted",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Delete music",
      "name": "Delete music",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "Every day at midnight",
      "name": "Every day at midnight",
      "integration": "schedule",
      "kind": "trigger"
    },
    {
      "id": "variables3",
      "name": "variables3",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Reset NOTFOUND id to NULL",
      "name": "Reset NOTFOUND id to NULL",
      "integration": "supabase",
      "kind": "action"
    },
    {
      "id": "variables4",
      "name": "variables4",
      "integration": "set",
      "kind": "logic"
    },
    {
      "id": "Every month",
      "name": "Every month",
      "integration": "schedule",
      "kind": "trigger"
    }
  ],
  "edges": [
    {
      "from": "data",
      "to": "Loop Over Items1"
    },
    {
      "from": "data1",
      "to": "Search video"
    },
    {
      "from": "Spotify",
      "to": "Compare Datasets"
    },
    {
      "from": "Add music",
      "to": "data"
    },
    {
      "from": "Aggregate",
      "to": "Set youtube id to NOTFOUND if no matching"
    },
    {
      "from": "variables",
      "to": "Get playlist snapshot"
    },
    {
      "from": "Every hour",
      "to": "variables"
    },
    {
      "from": "variables1",
      "to": "Get all musics not in youtube playlist"
    },
    {
      "from": "variables2",
      "to": "Spotify"
    },
    {
      "from": "variables2",
      "to": "Get all musics"
    },
    {
      "from": "variables3",
      "to": "Get all musics that should be in playlist"
    },
    {
      "from": "variables3",
      "to": "Get playlist items"
    },
    {
      "from": "variables3",
      "to": "Get all musics to be deleted"
    },
    {
      "from": "variables4",
      "to": "Reset NOTFOUND id to NULL"
    },
    {
      "from": "Every month",
      "to": "variables4"
    },
    {
      "from": "Wait 1 hour",
      "to": "Get playlist snapshot1"
    },
    {
      "from": "If no result",
      "to": "Aggregate"
    },
    {
      "from": "If no result",
      "to": "Loop Over Items"
    },
    {
      "from": "Search video",
      "to": "If no result"
    },
    {
      "from": "Get all musics",
      "to": "Compare Datasets"
    },
    {
      "from": "Loop Over Items",
      "to": "Aggregate"
    },
    {
      "from": "Loop Over Items",
      "to": "Get video duration"
    },
    {
      "from": "Compare Datasets",
      "to": "Add music"
    },
    {
      "from": "Compare Datasets",
      "to": "Update to_delete to true"
    },
    {
      "from": "Loop Over Items1",
      "to": "data1"
    },
    {
      "from": "Every day at noon",
      "to": "variables2"
    },
    {
      "from": "Remove Duplicates",
      "to": "Remove video from playlist"
    },
    {
      "from": "Get playlist items",
      "to": "Playlist items to be deleted"
    },
    {
      "from": "Get playlist items",
      "to": "Check for deleted videos"
    },
    {
      "from": "Get video duration",
      "to": "If video duration ~= music duration"
    },
    {
      "from": "Add music to playlist",
      "to": "Add youtube id to row"
    },
    {
      "from": "Add youtube id to row",
      "to": "Loop Over Items1"
    },
    {
      "from": "Add youtube id to row",
      "to": "Discord"
    },
    {
      "from": "Every day at midnight",
      "to": "variables3"
    },
    {
      "from": "Get playlist snapshot",
      "to": "Wait 1 hour"
    },
    {
      "from": "If different snapshot",
      "to": "Spotify"
    },
    {
      "from": "If different snapshot",
      "to": "Get all musics"
    },
    {
      "from": "If different snapshot",
      "to": "No Operation, do nothing"
    },
    {
      "from": "Get playlist snapshot1",
      "to": "If different snapshot"
    },
    {
      "from": "Every day at noon + 1mn",
      "to": "variables1"
    },
    {
      "from": "Check for deleted videos",
      "to": "Set youtube_video_id to null"
    },
    {
      "from": "Remove video from playlist",
      "to": "Delete music"
    },
    {
      "from": "Get all musics to be deleted",
      "to": "Playlist items to be deleted"
    },
    {
      "from": "Playlist items to be deleted",
      "to": "Remove Duplicates"
    },
    {
      "from": "If video duration ~= music duration",
      "to": "Add music to playlist"
    },
    {
      "from": "If video duration ~= music duration",
      "to": "Loop Over Items"
    },
    {
      "from": "Get all musics not in youtube playlist",
      "to": "data"
    },
    {
      "from": "Get all musics that should be in playlist",
      "to": "Check for deleted videos"
    },
    {
      "from": "Set youtube id to NOTFOUND if no matching",
      "to": "Loop Over Items1"
    },
    {
      "from": "Set youtube id to NOTFOUND if no matching",
      "to": "Discord1"
    }
  ]
}