{
  "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
          }
        ]
      ]
    }
  }
}