Task: Mirror Spotify liked songs

n8n workflow JSON:
{"id":"5","name":"Spotify Mirror - Liked Songs","nodes":[{"name":"Cron","type":"n8n-nodes-base.cron","position":[450,300],"parameters":{"triggerTimes":{"item":[{"mode":"everyHour","minute":40}]}},"typeVersion":1},{"name":"Merge","type":"n8n-nodes-base.merge","position":[1050,200],"parameters":{"mode":"removeKeyMatches","propertyName1":"uri","propertyName2":"uri"},"typeVersion":1,"alwaysOutputData":false},{"name":"Extract URIs Original","type":"n8n-nodes-base.function","position":[850,200],"parameters":{"functionCode":"if (items.length == 1 && Object.keys(items[0].json).length == 0) {\n  return [];\n}\nreturn items.reverse().map(item => ({json: {uri: item.json.track.uri}}));\n"},"typeVersion":1,"alwaysOutputData":true},{"name":"Merge1","type":"n8n-nodes-base.merge","position":[1050,400],"parameters":{"mode":"removeKeyMatches","propertyName1":"uri","propertyName2":"uri"},"typeVersion":1,"alwaysOutputData":false},{"name":"Extract URIs Sync","type":"n8n-nodes-base.function","position":[850,400],"parameters":{"functionCode":"if (items.length == 1 && Object.keys(items[0].json).length == 0) {\n  return [];\n}\nreturn items.map(item => ({json: {uri: item.json.track.uri}}));\n"},"typeVersion":1,"alwaysOutputData":true},{"name":"Spotify Get Tracks Mirror","type":"n8n-nodes-base.spotify","maxTries":5,"position":[650,400],"parameters":{"id":"","resource":"playlist","operation":"getTracks","returnAll":true},"credentials":{"spotifyOAuth2Api":""},"retryOnFail":true,"typeVersion":1,"alwaysOutputData":true,"waitBetweenTries":5000},{"name":"Spotify Add Item Mirror","type":"n8n-nodes-base.spotify","maxTries":5,"position":[1250,200],"parameters":{"id":"","trackID":"={{$json.uri}}","resource":"playlist"},"credentials":{"spotifyOAuth2Api":""},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":5000},{"name":"Spotify Remove Item Mirror","type":"n8n-nodes-base.spotify","maxTries":5,"position":[1250,400],"parameters":{"id":"","trackID":"={{$json.uri}}","resource":"playlist","operation":"delete"},"credentials":{"spotifyOAuth2Api":""},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":5000},{"name":"Spotify Get Saved Tracks","type":"n8n-nodes-base.spotify","maxTries":5,"position":[650,200],"parameters":{"resource":"library","returnAll":true},"credentials":{"spotifyOAuth2Api":""},"retryOnFail":true,"typeVersion":1,"alwaysOutputData":true,"waitBetweenTries":5000}],"active":true,"settings":{},"connections":{"Cron":{"main":[[{"node":"Spotify Get Saved Tracks","type":"main","index":0},{"node":"Spotify Get Tracks Mirror","type":"main","index":0}]]},"Merge":{"main":[[{"node":"Spotify Add Item Mirror","type":"main","index":0}]]},"Merge1":{"main":[[{"node":"Spotify Remove Item Mirror","type":"main","index":0}]]},"Extract URIs Sync":{"main":[[{"node":"Merge","type":"main","index":1},{"node":"Merge1","type":"main","index":0}]]},"Extract URIs Original":{"main":[[{"node":"Merge","type":"main","index":0},{"node":"Merge1","type":"main","index":1}]]},"Spotify Get Saved Tracks":{"main":[[{"node":"Extract URIs Original","type":"main","index":0}]]},"Spotify Get Tracks Mirror":{"main":[[{"node":"Extract URIs Sync","type":"main","index":0}]]}}}