Task: Spotify Idempotent Archive

n8n workflow JSON:
{"id":"6","name":"Spotify Idempotent Archive","nodes":[{"name":"Cron","type":"n8n-nodes-base.cron","position":[400,300],"parameters":{"triggerTimes":{"item":[{"mode":"everyHour","minute":15}]}},"typeVersion":1},{"name":"Merge","type":"n8n-nodes-base.merge","position":[1000,300],"parameters":{"mode":"removeKeyMatches","propertyName1":"uri","propertyName2":"uri"},"typeVersion":1,"alwaysOutputData":false},{"name":"Spotify Add Item Archive","type":"n8n-nodes-base.spotify","maxTries":5,"position":[1200,300],"parameters":{"id":"","trackID":"={{$json.uri}}","resource":"playlist"},"credentials":{"spotifyOAuth2Api":""},"retryOnFail":true,"typeVersion":1,"waitBetweenTries":5000},{"name":"Extract URIs Archive","type":"n8n-nodes-base.function","position":[800,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 Original","type":"n8n-nodes-base.spotify","maxTries":5,"position":[600,200],"parameters":{"id":"","resource":"playlist","operation":"getTracks","returnAll":true},"credentials":{"spotifyOAuth2Api":""},"retryOnFail":true,"typeVersion":1,"alwaysOutputData":true,"waitBetweenTries":5000},{"name":"Spotify Get Tracks Archive","type":"n8n-nodes-base.spotify","maxTries":5,"position":[600,400],"parameters":{"id":"","resource":"playlist","operation":"getTracks","returnAll":true},"credentials":{"spotifyOAuth2Api":""},"retryOnFail":true,"typeVersion":1,"alwaysOutputData":true,"waitBetweenTries":5000},{"name":"Extract URIs Original","type":"n8n-nodes-base.function","position":[800,200],"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}],"active":true,"settings":{"timezone":"Africa/Johannesburg","executionTimeout":-1},"connections":{"Cron":{"main":[[{"node":"Spotify Get Tracks Original","type":"main","index":0},{"node":"Spotify Get Tracks Archive","type":"main","index":0}]]},"Merge":{"main":[[{"node":"Spotify Add Item Archive","type":"main","index":0}]]},"Extract URIs Archive":{"main":[[{"node":"Merge","type":"main","index":1}]]},"Extract URIs Original":{"main":[[{"node":"Merge","type":"main","index":0}]]},"Spotify Get Tracks Archive":{"main":[[{"node":"Extract URIs Archive","type":"main","index":0}]]},"Spotify Get Tracks Original":{"main":[[{"node":"Extract URIs Original","type":"main","index":0}]]}}}