Skip to Workflow Atlas
ETL PipelineIntermediate

Automated Playlist Manager

Automated Playlist Manager is a 45-node automation blueprint connecting Spotify, YouTube, Supabase. Inspect its trigger, execution graph, branches, and implementation requirements.

Interactive system map

Follow the runtime. Inspect what supports it.

Solid horizontal paths show main-channel execution. Violet dependencies sit beneath the exact step they configure or empower.

45

Nodes

50

Links

2

Run groups

Connected tools

4 integrations

  • Spotify
  • YouTube
  • Supabase
  • Discord

Canvas controls

Fit wide systems, then zoom into any run group.

Automated Playlist Manager execution lanes2 run groups containing 32 workflow nodes and 36 visible links. Solid horizontal lines are main-channel runtime links. Violet dashed lines connect typed dependencies beneath the runtime step they support. Focus any node to inspect its immediate path.Every day at noon + 1mn. trigger node, scheduleTrigger. 0 incoming and 1 outgoing connections.STARTEvery day at noon + 1mnTRIGGERSCHEDULETRIGGER0 IN / 1 OUTEvery day at noon. trigger node, scheduleTrigger. 0 incoming and 1 outgoing connections.STARTEvery day at noonTRIGGERSCHEDULETRIGGER0 IN / 1 OUTEvery hour. trigger node, scheduleTrigger. 0 incoming and 1 outgoing connections.STARTEvery hourTRIGGERSCHEDULETRIGGER0 IN / 1 OUTvariables1. transform node, set. 1 incoming and 1 outgoing connections.STEP 02variables1TRANSFORMSET1 IN / 1 OUTvariables2. transform node, set. 1 incoming and 2 outgoing connections.STEP 02variables2TRANSFORMSET1 IN / 2 OUTvariables. transform node, set. 1 incoming and 1 outgoing connections.STEP 02variablesTRANSFORMSET1 IN / 1 OUTGet all musics not in youtube playlist. integration node, supabase. 1 incoming and 1 outgoing connections.STEP 03Get all musics not in you…INTEGRATIONSUPABASE1 IN / 1 OUTGet playlist snapshot. integration node, spotify. 1 incoming and 1 outgoing connections.STEP 03Get playlist snapshotINTEGRATIONSPOTIFY1 IN / 1 OUTWait 1 hour. integration node, wait. 1 incoming and 1 outgoing connections.STEP 04Wait 1 hourINTEGRATIONWAIT1 IN / 1 OUTGet playlist snapshot1. integration node, spotify. 1 incoming and 1 outgoing connections.STEP 05Get playlist snapshot1INTEGRATIONSPOTIFY1 IN / 1 OUTIf different snapshot. decision node, if. 1 incoming and 3 outgoing connections.STEP 06If different snapshotDECISIONIF1 IN / 3 OUTSpotify. integration node, spotify. 2 incoming and 1 outgoing connections.STEP 07SpotifyINTEGRATIONSPOTIFY2 IN / 1 OUTGet all musics. integration node, supabase. 2 incoming and 1 outgoing connections.STEP 07Get all musicsINTEGRATIONSUPABASE2 IN / 1 OUTNo Operation, do nothing. integration node, noOp. 1 incoming and 0 outgoing connections.STEP 07No Operation, do nothingINTEGRATIONNOOP1 IN / 0 OUTCompare Datasets. decision node, compareDatasets. 2 incoming and 2 outgoing connections.STEP 08Compare DatasetsDECISIONCOMPAREDATASETS2 IN / 2 OUTAdd music. integration node, supabase. 1 incoming and 1 outgoing connections.STEP 09Add musicINTEGRATIONSUPABASE1 IN / 1 OUTUpdate to_delete to true. integration node, supabase. 1 incoming and 0 outgoing connections.STEP 09Update to_delete to trueINTEGRATIONSUPABASE1 IN / 0 OUTdata. transform node, set. 2 incoming and 1 outgoing connections.STEP 10dataTRANSFORMSET2 IN / 1 OUTLoop Over Items1. integration node, splitInBatches. 3 incoming and 1 outgoing connections.STEP 11Loop Over Items1INTEGRATIONSPLITINBATCHES3 IN / 1 OUTdata1. transform node, set. 1 incoming and 1 outgoing connections.STEP 12data1TRANSFORMSET1 IN / 1 OUTSearch video. integration node, youTube. 1 incoming and 1 outgoing connections.STEP 13Search videoINTEGRATIONYOUTUBE1 IN / 1 OUTIf no result. decision node, if. 1 incoming and 2 outgoing connections.STEP 14If no resultDECISIONIF1 IN / 2 OUTLoop Over Items. integration node, splitInBatches. 2 incoming and 2 outgoing connections.STEP 15Loop Over ItemsINTEGRATIONSPLITINBATCHES2 IN / 2 OUTGet video duration. integration node, youTube. 1 incoming and 1 outgoing connections.STEP 16Get video durationINTEGRATIONYOUTUBE1 IN / 1 OUTAggregate. transform node, aggregate. 2 incoming and 1 outgoing connections.STEP 17AggregateTRANSFORMAGGREGATE2 IN / 1 OUTIf video duration ~= music duration. decision node, if. 1 incoming and 2 outgoing connections.STEP 18If video duration ~= musi…DECISIONIF1 IN / 2 OUTSet youtube id to NOTFOUND if no matching. integration node, supabase. 1 incoming and 2 outgoing connections.STEP 19Set youtube id to NOTFOUN…INTEGRATIONSUPABASE1 IN / 2 OUTAdd music to playlist. integration node, youTube. 1 incoming and 1 outgoing connections.STEP 20Add music to playlistINTEGRATIONYOUTUBE1 IN / 1 OUTAdd youtube id to row. integration node, supabase. 1 incoming and 2 outgoing connections.STEP 21Add youtube id to rowINTEGRATIONSUPABASE1 IN / 2 OUTDiscord1. Discord node, discord. 1 incoming and 0 outgoing connections.STEP 22Discord1DISCORDDISCORD1 IN / 0 OUTDiscord. Discord node, discord. 1 incoming and 0 outgoing connections.OUTCOMEDiscordDISCORDDISCORD1 IN / 0 OUTGet playlist items. integration node, youTube. 0 incoming and 0 outgoing connections.CORE RUNTIMEGet playlist itemsINTEGRATIONYOUTUBE0 IN / 0 OUT

Signal inspector

Focus, hover, or select a step to isolate its runtime and support links.

Main-channel runtimeTyped dependencytriggeraidecisiontransformintegration
Scroll horizontally to follow every connected flow.Showing 32 of 45 connected nodesEnter or click to lock · Escape to clear

Runtime breakdown

Read the execution spine before its dependencies.

Each run group separates main-channel steps from the models, tools, retrievers, and data services that support them. Start and outcome labels apply only to runtime nodes.

01

Run Group

Every day at noon + 1mn

36 Execution Links
  1. Start

    Every day at noon + 1mn

    Trigger

    Every day at noon

    Trigger

    Every hour

    Trigger

  2. Step 2

    variables1

    Transform

    variables2

    Transform

    variables

    Transform

  3. Step 3

    Get all musics not in youtube playlist

    Integration

    Get playlist snapshot

    Integration

  4. Step 4

    Wait 1 hour

    Integration

  5. Step 5

    Get playlist snapshot1

    Integration

  6. Step 6

    If different snapshot

    Decision

  7. Step 7

    Spotify

    Integration

    Get all musics

    Integration

    No Operation, do nothing

    Integration

  8. Step 8

    Compare Datasets

    Decision

  9. Step 9

    Add music

    Integration

    Update to_delete to true

    Integration

  10. Step 10

    data

    Transform

  11. Step 11

    Loop Over Items1

    Integration

  12. Step 12

    data1

    Transform

  13. Step 13

    Search video

    Integration

  14. Step 14

    If no result

    Decision

  15. Step 15

    Loop Over Items

    Integration

  16. Step 16

    Get video duration

    Integration

  17. Step 17

    Aggregate

    Transform

  18. Step 18

    If video duration ~= music duration

    Decision

  19. Step 19

    Set youtube id to NOTFOUND if no matching

    Integration

  20. Step 20

    Add music to playlist

    Integration

  21. Step 21

    Add youtube id to row

    Integration

  22. Step 22

    Discord1

    Integration

  23. Outcome

    Discord

    Integration

02

Run Group

Get playlist items

0 Execution Links
  1. Core Runtime

    Get playlist items

    Integration

Turn the map into a plan

Adapt this blueprint to your company.

Bring the system shape into a workspace, then define the production controls, data boundaries, owners, and delivery sequence around your context.