⚡ Only 300 spots remaining • Closes in 2d 14h 32m
This comprehensive workflow automation helps you streamline Code Filter Create Scheduled processes. By using this blueprint, you can eliminate manual data entry and ensure seamless integration between your favorite platforms.
This workflow is pre-configured and ready for deployment. Simply import the JSON template into your n8n instance and configure your credentials.
This is an exclusive blueprint. Copy the JSON below to use it.
PRO TIP
Always test your workflow in a development environment before pushing to production.
{
"meta": {
"instanceId": "0c99324b4b0921a9febd4737c606882881f3ca11d9b1d7e22b0dad4784eb24c7"
},
"nodes": [
{
"id": "f418ae01-01ea-4794-8903-d5709a29c735",
"name": "Get current date",
"type": "n8n-nodes-base.code",
"position": [
240,
2460
],
"parameters": {
"jsCode": "const monthNames = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December',\n]\n\nconst date = new Date()\nconst year = date.getFullYear()\nconst month = date.getMonth()\n\nlet currentDate = {\n month: month,\n year: year,\n text: `${monthNames[month]} '${year.toString().slice(-2)}`\n}\n\nitems[0].json.currentDate = currentDate\n\nreturn items\n\n// Month > Number e.g. July = 6, December = 11\n// Year > Text\n// Text > Playlist name\n\n// let currentDate = {\n// month: 8, \n// year: '2024',\n// text: `September '23`\n// }\n\n// items[0].json.currentDate = currentDate\n\n// return items\n\n"
},
"typeVersion": 1
},
{
"id": "855e493a-a232-45ef-8fdd-4a8225065c95",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
2580
],
"parameters": {
"width": 1290.936043660723,
"height": 407.6508589002549,
"content": "## Check if the song is present in the database"
},
"typeVersion": 1
},
{
"id": "672ef06c-b812-41c8-8501-cde8b61a4aef",
"name": "Get last 10 liked tracks",
"type": "n8n-nodes-base.spotify",
"position": [
500,
2680
],
"parameters": {
"limit": 10,
"resource": "library"
},
"credentials": {
"spotifyOAuth2Api": {
"id": "zQrMRwwU6DLh4W77",
"name": "Spotify account"
}
},
"typeVersion": 1
},
{
"id": "da13c571-6af4-49bf-b8ff-2d54245f6d3e",
"name": "Check if track is saved",
"type": "n8n-nodes-base.nocoDb",
"position": [
940,
2780
],
"parameters": {
"table": "m0dm2y304t7vmuk",
"options": {
"where": "=(uri,eq,{{ $json.track.uri }})",
"fields": [
"uri"
]
},
"operation": "getAll",
"projectId": "pepq760y5lwt5tm",
"returnAll": true,
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "9uSbSrDz8EL2OIL7",
"name": "NocoDB Token account"
}
},
"typeVersion": 3,
"alwaysOutputData": true
},
{
"id": "9144cda9-f18f-46d9-be2d-9fca4b192dbb",
"name": "Is not saved",
"type": "n8n-nodes-base.if",
"position": [
1160,
2780
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "dbb259d9-e2ec-4a7b-b375-601346dc2571",
"operator": {
"type": "object",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "66b430e2-f46c-43b2-84e7-35c85d2b4403",
"name": "Create song entry",
"type": "n8n-nodes-base.nocoDb",
"position": [
1380,
2700
],
"parameters": {
"table": "m0dm2y304t7vmuk",
"fieldsUi": {
"fieldValues": [
{
"fieldName": "uri",
"fieldValue": "={{ $('For each tracks in liked song').item.json.track.uri }}"
},
{
"fieldName": "added_at",
"fieldValue": "={{ $('For each tracks in liked song').item.json.added_at }}"
},
{
"fieldName": "playlistName",
"fieldValue": "={{ $('Get current date').item.json.currentDate.text }}"
}
]
},
"operation": "create",
"projectId": "pepq760y5lwt5tm",
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "9uSbSrDz8EL2OIL7",
"name": "NocoDB Token account"
}
},
"typeVersion": 3
},
{
"id": "9bd883ea-2e87-45aa-b8a0-b361ba7c5d9f",
"name": "Get all user playlist",
"type": "n8n-nodes-base.spotify",
"position": [
500,
2220
],
"parameters": {
"resource": "playlist",
"operation": "getUserPlaylists",
"returnAll": true
},
"credentials": {
"spotifyOAuth2Api": {
"id": "zQrMRwwU6DLh4W77",
"name": "Spotify account"
}
},
"typeVersion": 1
},
{
"id": "3a0dad98-4571-4fb7-b366-0060d35b65fe",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
460,
2080
],
"parameters": {
"width": 1481.5336029736159,
"height": 416.7665808180022,
"content": "## Check if the playlist present in the database"
},
"typeVersion": 1
},
{
"id": "e793b97c-cc29-47b0-8aa7-015fa631bc37",
"name": "Get monthly playlist",
"type": "n8n-nodes-base.filter",
"position": [
720,
2220
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "56173299-d774-4cb4-b26f-4dca294dda1d",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.name }}",
"rightValue": "={{ $('Get current date').item.json.currentDate.text }}"
}
]
}
},
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "502ea9e2-7f03-4a8a-860e-90d63e42ee33",
"name": "Get playlist in DB",
"type": "n8n-nodes-base.nocoDb",
"position": [
1160,
2120
],
"parameters": {
"table": "mchan0xys9h7h7e",
"options": {
"where": "=(name,eq,{{ $('Get current date').item.json.currentDate.text }})"
},
"operation": "getAll",
"projectId": "pepq760y5lwt5tm",
"returnAll": true,
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "9uSbSrDz8EL2OIL7",
"name": "NocoDB Token account"
}
},
"typeVersion": 3,
"alwaysOutputData": true
},
{
"id": "3d2bece0-8096-4ee1-a3b9-ae91b83f0957",
"name": "Monthly playlist exist in Spotify ?",
"type": "n8n-nodes-base.if",
"position": [
940,
2220
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a2d9e3e0-a906-4ed9-9e23-166f781c86b1",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "d983b940-2f8d-4823-aaaf-d1bfa4428b41",
"name": "Playlist exist in DB ?",
"type": "n8n-nodes-base.if",
"position": [
1380,
2120
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "9485c9d4-ecdc-4d0e-a576-c7db5787c069",
"operator": {
"type": "object",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "c694ab19-bca7-4dd4-8d10-cf8a1adab341",
"name": "Create playlist in Spotify",
"type": "n8n-nodes-base.spotify",
"position": [
1160,
2320
],
"parameters": {
"name": "={{ $('Get current date').item.json.currentDate.text }}",
"resource": "playlist",
"operation": "create",
"additionalFields": {
"description": "Monthly playlist"
}
},
"credentials": {
"spotifyOAuth2Api": {
"id": "zQrMRwwU6DLh4W77",
"name": "Spotify account"
}
},
"typeVersion": 1
},
{
"id": "dc9dc3b5-cef7-412b-b3f8-5ec011c2746d",
"name": "Create playlist in DB1",
"type": "n8n-nodes-base.nocoDb",
"position": [
1380,
2320
],
"parameters": {
"table": "mchan0xys9h7h7e",
"fieldsUi": {
"fieldValues": [
{
"fieldName": "uri",
"fieldValue": "={{ $json.uri }}"
},
{
"fieldName": "name",
"fieldValue": "={{ $json.name }}"
},
{
"fieldName": "description",
"fieldValue": "={{ $json.description}}"
}
]
},
"operation": "create",
"projectId": "pepq760y5lwt5tm",
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "9uSbSrDz8EL2OIL7",
"name": "NocoDB Token account"
}
},
"typeVersion": 3
},
{
"id": "0356c3a4-dc20-42b0-b069-045048768939",
"name": "Create playlist in DB",
"type": "n8n-nodes-base.nocoDb",
"position": [
1600,
2200
],
"parameters": {
"table": "mchan0xys9h7h7e",
"fieldsUi": {
"fieldValues": [
{
"fieldName": "uri",
"fieldValue": "={{ $('Get monthly playlist').item.json.uri }}"
},
{
"fieldName": "name",
"fieldValue": "={{ $('Get monthly playlist').item.json.name }}"
},
{
"fieldName": "description",
"fieldValue": "={{ $('Get monthly playlist').item.json.description }}"
}
]
},
"operation": "create",
"projectId": "pepq760y5lwt5tm",
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "9uSbSrDz8EL2OIL7",
"name": "NocoDB Token account"
}
},
"typeVersion": 3
},
{
"id": "e2c86f04-725c-4af7-b3c2-9c22e2dc64bf",
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
2040,
2460
],
"parameters": {
"mode": "chooseBranch",
"output": "empty"
},
"typeVersion": 2.1
},
{
"id": "036e0d74-3383-44e9-991d-7e062b982b51",
"name": "Clean op",
"type": "n8n-nodes-base.noOp",
"position": [
1820,
2200
],
"parameters": {},
"typeVersion": 1
},
{
"id": "323c9746-f713-4a3d-9af5-9579ec767fca",
"name": "Clean op2",
"type": "n8n-nodes-base.noOp",
"position": [
1600,
2800
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3b0be7ca-c47b-4524-b72a-c37f25c5e4d0",
"name": "Get this month playlist in DB",
"type": "n8n-nodes-base.nocoDb",
"position": [
2260,
2460
],
"parameters": {
"table": "mchan0xys9h7h7e",
"options": {
"where": "=(name,eq,{{ $('Get current date').item.json.currentDate.text }})"
},
"operation": "getAll",
"projectId": "pepq760y5lwt5tm",
"returnAll": true,
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "9uSbSrDz8EL2OIL7",
"name": "NocoDB Token account"
}
},
"typeVersion": 3
},
{
"id": "733077e4-c474-4c95-ba05-d0b2375475ad",
"name": "Get this month tracks in DB",
"type": "n8n-nodes-base.nocoDb",
"position": [
2480,
2460
],
"parameters": {
"table": "m0dm2y304t7vmuk",
"options": {
"where": "=(playlistName,eq,{{ $('Get current date').item.json.currentDate.text }})"
},
"operation": "getAll",
"projectId": "pepq760y5lwt5tm",
"returnAll": true,
"authentication": "nocoDbApiToken"
},
"credentials": {
"nocoDbApiToken": {
"id": "9uSbSrDz8EL2OIL7",
"name": "NocoDB Token account"
}
},
"typeVersion": 3
},
{
"id": "6c8ef70f-542d-4454-9ae6-8f4e9778beb0",
"name": "Add song to the playlist",
"type": "n8n-nodes-base.spotify",
"position": [
3580,
2460
],
"parameters": {
"id": "={{ $('Get this month playlist in DB').item.json.uri }}",
"trackID": "={{ $('For each monthly tracks in DB').item.json.uri }}",
"resource": "playlist",
"additionalFields": {}
},
"credentials": {
"spotifyOAuth2Api": {
"id": "zQrMRwwU6DLh4W77",
"name": "Spotify account"
}
},
"typeVersion": 1
},
{
"id": "034cd38d-4800-4f9c-9b67-453fdb2afa3c",
"name": "For each tracks in liked song",
"type": "n8n-nodes-base.splitInBatches",
"position": [
720,
2680
],
"parameters": {
"options": {
"reset": false
}
},
"typeVersion": 3
},
{
"id": "90ff5c0b-e842-437f-be85-a5938288c513",
"name": "For each monthly tracks in DB",
"type": "n8n-nodes-base.splitInBatches",
"position": [
2700,
2460
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "decf36a4-fb8c-41eb-ae15-7ba36d621ad7",
"name": "Get this month tracks in Spotify",
"type": "n8n-nodes-base.spotify",
"position": [
2920,
2560
],
"parameters": {
"id": "={{ $('Get this month playlist in DB').item.json.uri }}",
"resource": "playlist",
"operation": "getTracks",
"returnAll": true
},
"credentials": {
"spotifyOAuth2Api": {
"id": "zQrMRwwU6DLh4W77",
"name": "Spotify account"
}
},
"typeVersion": 1,
"alwaysOutputData": true
},
{
"id": "d322a655-e80b-4277-87d9-93e927b2f372",
"name": "Filter1",
"type": "n8n-nodes-base.filter",
"position": [
3140,
2560
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "a11640e1-f22a-4ce9-abff-976efc57e1d3",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $('For each monthly tracks in DB').item.json.uri }}",
"rightValue": "={{ $json.track.uri }}"
}
]
}
},
"executeOnce": false,
"typeVersion": 2,
"alwaysOutputData": true
},
{
"id": "5027f98d-b973-405f-81cf-534df794325f",
"name": "Song is not present in the playlist ?",
"type": "n8n-nodes-base.if",
"position": [
3360,
2560
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "1beb843e-53da-48ce-9717-d7797232e4ae",
"operator": {
"type": "object",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $json }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2
},
{
"id": "cd2e3a28-24c1-47d7-ad30-c836e08ad40f",
"name": "Clean op1",
"type": "n8n-nodes-base.noOp",
"position": [
3800,
2560
],
"parameters": {},
"typeVersion": 1
},
{
"id": "56bbb0e9-3ee5-48e3-b0bf-48e8d026daa9",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2220,
2400
],
"parameters": {
"width": 1733.785946789966,
"height": 351.94195615011336,
"content": "## Check if the song is in the Spotify playlist. If not, add it."
},
"typeVersion": 1
},
{
"id": "9834163b-0991-4910-bb4f-cf4557bfa0d5",
"name": "Schedule Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
20,
2460
],
"parameters": {
"rule": {
"interval": [
{
"field": "minutes"
}
]
}
},
"typeVersion": 1.2
},
{
"id": "72a3c48f-a759-4e0c-b7bb-9f69a5f4377e",
"name": "End",
"type": "n8n-nodes-base.noOp",
"position": [
4100,
2260
],
"parameters": {},
"typeVersion": 1
}
],
"pinData": {},
"connections": {
"Merge": {
"main": [
[
{
"node": "Get this month playlist in DB",
"type": "main",
"index": 0
}
]
]
},
"Filter1": {
"main": [
[
{
"node": "Song is not present in the playlist ?",
"type": "main",
"index": 0
}
]
]
},
"Clean op": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Clean op1": {
"main": [
[
{
"node": "For each monthly tracks in DB",
"type": "main",
"index": 0
}
]
]
},
"Clean op2": {
"main": [
[
{
"node": "For each tracks in liked song",
"type": "main",
"index": 0
}
]
]
},
"Is not saved": {
"main": [
[
{
"node": "Create song entry",
"type": "main",
"index": 0
}
],
[
{
"node": "Clean op2",
"type": "main",
"index": 0
}
]
]
},
"Get current date": {
"main": [
[
{
"node": "Get all user playlist",
"type": "main",
"index": 0
},
{
"node": "Get last 10 liked tracks",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Get current date",
"type": "main",
"index": 0
}
]
]
},
"Create song entry": {
"main": [
[
{
"node": "Clean op2",
"type": "main",
"index": 0
}
]
]
},
"Get playlist in DB": {
"main": [
[
{
"node": "Playlist exist in DB ?",
"type": "main",
"index": 0
}
]
]
},
"Get monthly playlist": {
"main": [
[
{
"node": "Monthly playlist exist in Spotify ?",
"type": "main",
"index": 0
}
]
]
},
"Create playlist in DB": {
"main": [
[
{
"node": "Clean op",
"type": "main",
"index": 0
}
]
]
},
"Get all user playlist": {
"main": [
[
{
"node": "Get monthly playlist",
"type": "main",
"index": 0
}
]
]
},
"Create playlist in DB1": {
"main": [
[
{
"node": "Clean op",
"type": "main",
"index": 0
}
]
]
},
"Check if track is saved": {
"main": [
[
{
"node": "Is not saved",
"type": "main",
"index": 0
}
]
]
},
"Playlist exist in DB ?": {
"main": [
[
{
"node": "Clean op",
"type": "main",
"index": 0
}
],
[
{
"node": "Create playlist in DB",
"type": "main",
"index": 0
}
]
]
},
"Add song to the playlist": {
"main": [
[
{
"node": "Clean op1",
"type": "main",
"index": 0
}
]
]
},
"Get last 10 liked tracks": {
"main": [
[
{
"node": "For each tracks in liked song",
"type": "main",
"index": 0
}
]
]
},
"Create playlist in Spotify": {
"main": [
[
{
"node": "Create playlist in DB1",
"type": "main",
"index": 0
}
]
]
},
"Get this month tracks in DB": {
"main": [
[
{
"node": "For each monthly tracks in DB",
"type": "main",
"index": 0
}
]
]
},
"For each monthly tracks in DB": {
"main": [
[
{
"node": "End",
"type": "main",
"index": 0
}
],
[
{
"node": "Get this month tracks in Spotify",
"type": "main",
"index": 0
}
]
]
},
"For each tracks in liked song": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
],
[
{
"node": "Check if track is saved",
"type": "main",
"index": 0
}
]
]
},
"Get this month playlist in DB": {
"main": [
[
{
"node": "Get this month tracks in DB",
"type": "main",
"index": 0
}
]
]
},
"Get this month tracks in Spotify": {
"main": [
[
{
"node": "Filter1",
"type": "main",
"index": 0
}
]
]
},
"Monthly playlist exist in Spotify ?": {
"main": [
[
{
"node": "Get playlist in DB",
"type": "main",
"index": 0
}
],
[
{
"node": "Create playlist in Spotify",
"type": "main",
"index": 0
}
]
]
},
"Song is not present in the playlist ?": {
"main": [
[
{
"node": "Add song to the playlist",
"type": "main",
"index": 0
}
],
[
{
"node": "Clean op1",
"type": "main",
"index": 0
}
]
]
}
}
}To use this, copy the JSON above and paste it directly onto your n8n canvas.
Join the elite marketers who have offloaded their entire backend to n8n. Get direct support and custom builds in our private forum.