Workflow: develop a modular n8n workflow that supports Functionitem Pipedrive Create Scheduled
Integrations: cron, functionItem, httpRequest, itemLists, merge, pipedrive, set, stripe

{"meta": {"instanceId": "8c8c5237b8e37b006a7adce87f4369350c58e41f3ca9de16196d3197f69eabcd"}, "nodes": [{"id": "28349bfd-f68e-4479-9508-28d408033d09", "name": "Get customers", "type": "n8n-nodes-base.stripe", "position": [5360, 1100], "parameters": {"filters": {}, "resource": "customer", "operation": "getAll", "returnAll": true}, "credentials": {"stripeApi": {"id": "26", "name": "Stripe account"}}, "typeVersion": 1}, {"id": "3f3d2389-e9ab-4140-8b04-f0a07003cecc", "name": "Rename fields and keep only needed fields", "type": "n8n-nodes-base.set", "position": [5560, 1100], "parameters": {"values": {"string": [{"name": "customerName", "value": "={{ $json[\"name\"] }}"}, {"name": "customerId", "value": "={{ $json[\"id\"] }}"}]}, "options": {}, "keepOnlySet": true}, "typeVersion": 1}, {"id": "d6d3ccff-f565-49c9-9cda-8e278d298433", "name": "Add customer name to charge data", "type": "n8n-nodes-base.merge", "position": [5860, 920], "parameters": {"mode": "mergeByKey", "propertyName1": "customer", "propertyName2": "customerId"}, "typeVersion": 1}, {"id": "eadce8e7-f523-485b-8cc0-5a336c8633ef", "name": "Search organisation", "type": "n8n-nodes-base.pipedrive", "position": [6140, 1060], "parameters": {"term": "={{ $json[\"customerName\"] }}", "resource": "organization", "operation": "search", "additionalFields": {}}, "credentials": {"pipedriveApi": {"id": "96", "name": "Pipedrive account"}}, "typeVersion": 1}, {"id": "dde08b48-21b0-44af-a66d-ff69399608e7", "name": "Add organisation Information to charge data", "type": "n8n-nodes-base.merge", "position": [6400, 940], "parameters": {"join": "inner", "mode": "mergeByIndex"}, "typeVersion": 1}, {"id": "6cbd0f06-0f10-4360-8c5c-e181679ba370", "name": "Create note with charge information", "type": "n8n-nodes-base.pipedrive", "position": [6620, 940], "parameters": {"content": "={{ $json[\"description\"] }}: {{ $json[\"amount\"] / 100 }} {{ $json[\"currency\"] }}", "resource": "note", "additionalFields": {"org_id": "={{ $json[\"id\"] }}"}}, "credentials": {"pipedriveApi": {"id": "96", "name": "Pipedrive account"}}, "typeVersion": 1}, {"id": "c6ed5a89-b50a-40ad-bd78-62ffc2430fde", "name": "Get last execution timestamp", "type": "n8n-nodes-base.functionItem", "position": [5140, 900], "parameters": {"functionCode": "// Code here will run once per input item.\n// More info and help: https://docs.n8n.io/nodes/n8n-nodes-base.functionItem\n// Tip: You can use luxon for dates and $jmespath for querying JSON structures\n\n// Add a new field called 'myNewField' to the JSON of the item\nconst staticData = getWorkflowStaticData('global');\n\nif(!staticData.lastExecution){\n  staticData.lastExecution = Math.round( new Date().getTime() / 1000 );\n}\n\nitem.executionTimeStamp = Math.round( new Date().getTime() / 1000 );\nitem.lastExecution = staticData.lastExecution;\n\n\nreturn item;"}, "typeVersion": 1}, {"id": "41b2c937-d479-4402-b428-29faabe32845", "name": "Set new last execution timestamp", "type": "n8n-nodes-base.functionItem", "position": [6820, 940], "parameters": {"functionCode": "// Code here will run once per input item.\n// More info and help: https://docs.n8n.io/nodes/n8n-nodes-base.functionItem\n// Tip: You can use luxon for dates and $jmespath for querying JSON structures\n\n// Add a new field called 'myNewField' to the JSON of the item\nconst staticData = getWorkflowStaticData('global');\n\nstaticData.lastExecution = $item(0).$node[\"Get last execution timestamp\"].executionTimeStamp;\n\nreturn item;"}, "executeOnce": true, "typeVersion": 1}, {"id": "56612271-08c4-4347-92b1-b898c68c3460", "name": "Split array of charges to items", "type": "n8n-nodes-base.itemLists", "position": [5560, 900], "parameters": {"options": {}, "fieldToSplitOut": "data"}, "typeVersion": 1}, {"id": "b866ba46-6269-4c8d-8021-ea99591d676d", "name": "Search for charges in Stripe", "type": "n8n-nodes-base.httpRequest", "position": [5360, 900], "parameters": {"url": "https://api.stripe.com/v1/charges/search", "options": {}, "authentication": "predefinedCredentialType", "queryParametersUi": {"parameter": [{"name": "query", "value": "=created>{{$json[\"lastExecution\"]}} AND status:\"succeeded\""}]}, "nodeCredentialType": "stripeApi"}, "credentials": {"stripeApi": {"id": "26", "name": "Stripe account"}}, "typeVersion": 2}, {"id": "a3249f70-1cd4-4d5f-8f27-15badcf10296", "name": "Every day at 8 am", "type": "n8n-nodes-base.cron", "position": [4920, 900], "parameters": {"triggerTimes": {"item": [{"hour": 8}]}}, "typeVersion": 1}], "connections": {"Get customers": {"main": [[{"node": "Rename fields and keep only needed fields", "type": "main", "index": 0}]]}, "Every day at 8 am": {"main": [[{"node": "Get last execution timestamp", "type": "main", "index": 0}]]}, "Search organisation": {"main": [[{"node": "Add organisation Information to charge data", "type": "main", "index": 1}]]}, "Get last execution timestamp": {"main": [[{"node": "Search for charges in Stripe", "type": "main", "index": 0}]]}, "Search for charges in Stripe": {"main": [[{"node": "Split array of charges to items", "type": "main", "index": 0}]]}, "Split array of charges to items": {"main": [[{"node": "Add customer name to charge data", "type": "main", "index": 0}]]}, "Add customer name to charge data": {"main": [[{"node": "Search organisation", "type": "main", "index": 0}, {"node": "Add organisation Information to charge data", "type": "main", "index": 0}]]}, "Create note with charge information": {"main": [[{"node": "Set new last execution timestamp", "type": "main", "index": 0}]]}, "Rename fields and keep only needed fields": {"main": [[{"node": "Add customer name to charge data", "type": "main", "index": 1}]]}, "Add organisation Information to charge data": {"main": [[{"node": "Create note with charge information", "type": "main", "index": 0}]]}}}