{"meta":{"instanceId":"workflow-8baa42fe","versionId":"1.0.0","createdAt":"2025-09-29T07:07:45.079974","updatedAt":"2025-09-29T07:07:45.079990","owner":"n8n-user","license":"MIT","category":"automation","status":"active","priority":"high","environment":"production"},"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":"{{ $credentials.stripeApi.id }}","name":"Stripe account"}},"typeVersion":1,"notes":"This stripe node performs automated tasks as part of the workflow."},{"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,"notes":"This set node performs automated tasks as part of the workflow."},{"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,"notes":"This merge node performs automated tasks as part of the workflow."},{"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":"{{ $credentials.pipedriveApi.id }}","name":"Pipedrive account"}},"typeVersion":1,"notes":"This pipedrive node performs automated tasks as part of the workflow."},{"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,"notes":"This merge node performs automated tasks as part of the workflow."},{"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":"{{ $credentials.pipedriveApi.id }}","name":"Pipedrive account"}},"typeVersion":1,"notes":"This pipedrive node performs automated tasks as part of the workflow."},{"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: {{ $env.WEBHOOK_URL }}\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,"notes":"This functionItem node performs automated tasks as part of the workflow."},{"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: {{ $env.WEBHOOK_URL }}\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,"notes":"This functionItem node performs automated tasks as part of the workflow."},{"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,"notes":"This itemLists node performs automated tasks as part of the workflow."},{"id":"b866ba46-6269-4c8d-8021-ea99591d676d","name":"Search for charges in Stripe","type":"n8n-nodes-base.httpRequest","position":[5360,900],"parameters":{"url":"{{ $env.API_BASE_URL }}","options":{},"authentication":"{{ $credentials.predefinedCredentialType }}","queryParametersUi":{"parameter":[{"name":"query","value":"=created>{{$json[\"lastExecution\"]}} AND status:\"succeeded\""}]},"nodeCredentialType":"YOUR_CREDENTIAL_HERE"},"credentials":{"stripeApi":{"id":"{{ $credentials.stripeApi.id }}","name":"Stripe account"}},"typeVersion":2,"notes":"This httpRequest node performs automated tasks as part of the workflow."},{"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,"notes":"This cron node performs automated tasks as part of the workflow."}],"connections":{"Search for charges in Stripe":{"main":[[],[],[],[],[],[],[],[],[]]}},"name":"Stripe Workflow","description":"Automated workflow: Stripe Workflow. This workflow processes data and performs automated tasks.","settings":{"executionOrder":"v1","saveManualExecutions":true,"callerPolicy":"workflowsFromSameOwner","errorWorkflow":null,"timezone":"UTC","executionTimeout":3600,"maxExecutions":1000,"retryOnFail":true,"retryCount":3,"retryDelay":1000},"notes":"Excellent quality workflow: Stripe Workflow. This workflow has been optimized for production use with comprehensive error handling, security, and documentation."}