Have a webhook that is being called with a json payload that after the webhook module parses it outputs an array like so. as you can see from the json, the way it is parsing into xml makes sense but i need each “data” node in the array to be its own record coming out of the trigger. short of custom java, do you have a good way to parse the array natively?
<root>
<row>
<timestamp><![CDATA[1747322960749]]></timestamp>
<field>
<name><![CDATA[data[0][currentPeriod]]]></name>
<value><![CDATA[Tue Dec 31 2024 00:00:00 GMT-0700 (Mountain Standard Time)]]></value>
</field>
<field>
<name><![CDATA[data[0][currentValues][customerId]]]></name>
<value><![CDATA[GENESIS001]]></value>
</field>
<field>
<name><![CDATA[data[0][currentValues][departmentId]]]></name>
<value><![CDATA[01-03]]></value>
</field>
<field>
<name><![CDATA[data[0][currentValues][estimatedProfitPercent]]]></name>
<value><![CDATA[13]]></value>
</field>
<field>
<name><![CDATA[data[0][currentValues][jobCloseDate]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[0][currentValues][jobClose]]]></name>
<value><![CDATA[false]]></value>
</field>
<field>
<name><![CDATA[data[0][currentValues][locationId]]]></name>
<value><![CDATA[01]]></value>
</field>
<field>
<name><![CDATA[data[0][currentValues][projectId]]]></name>
<value><![CDATA[0103-24-2093]]></value>
</field>
<field>
<name><![CDATA[data[0][currentValues][prospectiveContractAmt]]]></name>
<value><![CDATA[165413.63]]></value>
</field>
<field>
<name><![CDATA[data[0][currentValues][totalProjectedLaborHours]]]></name>
<value><![CDATA[0]]></value>
</field>
<field>
<name><![CDATA[data[0][estimates][0][PJESTIMATEID]]]></name>
<value><![CDATA[0103-24-2093-E]]></value>
</field>
<field>
<name><![CDATA[data[0][estimates][0][PROJECTID]]]></name>
<value><![CDATA[0103-24-2093]]></value>
</field>
<field>
<name><![CDATA[data[0][estimates][0][TOTAL]]]></name>
<value><![CDATA[127029.75]]></value>
</field>
<field>
<name><![CDATA[data[0][updateValues][customerId]]]></name>
<value><![CDATA[GENESIS001]]></value>
</field>
<field>
<name><![CDATA[data[0][updateValues][departmentId]]]></name>
<value><![CDATA[01-03]]></value>
</field>
<field>
<name><![CDATA[data[0][updateValues][estimatedProfitPercent]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[0][updateValues][jobCloseDate]]]></name>
<value><![CDATA[Tue Dec 31 2024 00:00:00 GMT-0700 (Mountain Standard Time)]]></value>
</field>
<field>
<name><![CDATA[data[0][updateValues][jobClose]]]></name>
<value><![CDATA[true]]></value>
</field>
<field>
<name><![CDATA[data[0][updateValues][locationId]]]></name>
<value><![CDATA[01]]></value>
</field>
<field>
<name><![CDATA[data[0][updateValues][projectId]]]></name>
<value><![CDATA[0103-24-2093]]></value>
</field>
<field>
<name><![CDATA[data[0][updateValues][prospectiveContractAmt]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[0][updateValues][totalProjectedLaborHours]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[1][currentPeriod]]]></name>
<value><![CDATA[Tue Dec 31 2024 00:00:00 GMT-0700 (Mountain Standard Time)]]></value>
</field>
<field>
<name><![CDATA[data[1][currentValues][customerId]]]></name>
<value><![CDATA[GENESIS001]]></value>
</field>
<field>
<name><![CDATA[data[1][currentValues][departmentId]]]></name>
<value><![CDATA[01-03]]></value>
</field>
<field>
<name><![CDATA[data[1][currentValues][estimatedProfitPercent]]]></name>
<value><![CDATA[18]]></value>
</field>
<field>
<name><![CDATA[data[1][currentValues][jobCloseDate]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[1][currentValues][jobClose]]]></name>
<value><![CDATA[false]]></value>
</field>
<field>
<name><![CDATA[data[1][currentValues][locationId]]]></name>
<value><![CDATA[01]]></value>
</field>
<field>
<name><![CDATA[data[1][currentValues][projectId]]]></name>
<value><![CDATA[0103-24-2102]]></value>
</field>
<field>
<name><![CDATA[data[1][currentValues][prospectiveContractAmt]]]></name>
<value><![CDATA[13725.07]]></value>
</field>
<field>
<name><![CDATA[data[1][currentValues][totalProjectedLaborHours]]]></name>
<value><![CDATA[0]]></value>
</field>
<field>
<name><![CDATA[data[1][estimates][0][PJESTIMATEID]]]></name>
<value><![CDATA[0103-24-2102-E]]></value>
</field>
<field>
<name><![CDATA[data[1][estimates][0][PROJECTID]]]></name>
<value><![CDATA[0103-24-2102]]></value>
</field>
<field>
<name><![CDATA[data[1][estimates][0][TOTAL]]]></name>
<value><![CDATA[4657.9]]></value>
</field>
<field>
<name><![CDATA[data[1][updateValues][customerId]]]></name>
<value><![CDATA[GENESIS001]]></value>
</field>
<field>
<name><![CDATA[data[1][updateValues][departmentId]]]></name>
<value><![CDATA[01-03]]></value>
</field>
<field>
<name><![CDATA[data[1][updateValues][estimatedProfitPercent]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[1][updateValues][jobCloseDate]]]></name>
<value><![CDATA[Tue Dec 31 2024 00:00:00 GMT-0700 (Mountain Standard Time)]]></value>
</field>
<field>
<name><![CDATA[data[1][updateValues][jobClose]]]></name>
<value><![CDATA[true]]></value>
</field>
<field>
<name><![CDATA[data[1][updateValues][locationId]]]></name>
<value><![CDATA[01]]></value>
</field>
<field>
<name><![CDATA[data[1][updateValues][projectId]]]></name>
<value><![CDATA[0103-24-2102]]></value>
</field>
<field>
<name><![CDATA[data[1][updateValues][prospectiveContractAmt]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[1][updateValues][totalProjectedLaborHours]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[2][currentPeriod]]]></name>
<value><![CDATA[Tue Dec 31 2024 00:00:00 GMT-0700 (Mountain Standard Time)]]></value>
</field>
<field>
<name><![CDATA[data[2][currentValues][customerId]]]></name>
<value><![CDATA[GENESIS001]]></value>
</field>
<field>
<name><![CDATA[data[2][currentValues][departmentId]]]></name>
<value><![CDATA[01-03]]></value>
</field>
<field>
<name><![CDATA[data[2][currentValues][estimatedProfitPercent]]]></name>
<value><![CDATA[20]]></value>
</field>
<field>
<name><![CDATA[data[2][currentValues][jobCloseDate]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[2][currentValues][jobClose]]]></name>
<value><![CDATA[false]]></value>
</field>
<field>
<name><![CDATA[data[2][currentValues][locationId]]]></name>
<value><![CDATA[01]]></value>
</field>
<field>
<name><![CDATA[data[2][currentValues][projectId]]]></name>
<value><![CDATA[0103-24-2073]]></value>
</field>
<field>
<name><![CDATA[data[2][currentValues][prospectiveContractAmt]]]></name>
<value><![CDATA[140000]]></value>
</field>
<field>
<name><![CDATA[data[2][currentValues][totalProjectedLaborHours]]]></name>
<value><![CDATA[500]]></value>
</field>
<field>
<name><![CDATA[data[2][estimates][0][PJESTIMATEID]]]></name>
<value><![CDATA[0103-24-2073-E]]></value>
</field>
<field>
<name><![CDATA[data[2][estimates][0][PROJECTID]]]></name>
<value><![CDATA[0103-24-2073]]></value>
</field>
<field>
<name><![CDATA[data[2][estimates][0][TOTAL]]]></name>
<value><![CDATA[112000]]></value>
</field>
<field>
<name><![CDATA[data[2][updateValues][customerId]]]></name>
<value><![CDATA[GENESIS001]]></value>
</field>
<field>
<name><![CDATA[data[2][updateValues][departmentId]]]></name>
<value><![CDATA[01-03]]></value>
</field>
<field>
<name><![CDATA[data[2][updateValues][estimatedProfitPercent]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[2][updateValues][jobCloseDate]]]></name>
<value><![CDATA[Tue Dec 31 2024 00:00:00 GMT-0700 (Mountain Standard Time)]]></value>
</field>
<field>
<name><![CDATA[data[2][updateValues][jobClose]]]></name>
<value><![CDATA[true]]></value>
</field>
<field>
<name><![CDATA[data[2][updateValues][locationId]]]></name>
<value><![CDATA[01]]></value>
</field>
<field>
<name><![CDATA[data[2][updateValues][projectId]]]></name>
<value><![CDATA[0103-24-2073]]></value>
</field>
<field>
<name><![CDATA[data[2][updateValues][prospectiveContractAmt]]]></name>
<value/>
</field>
<field>
<name><![CDATA[data[2][updateValues][totalProjectedLaborHours]]]></name>
<value/>
</field>
</row>
</root>
{
"data": [
{
"currentValues": {
"projectId": "0103-24-2093",
"locationId": "01",
"departmentId": "01-03",
"customerId": "GENESIS001",
"prospectiveContractAmt": 165413.63,
"totalProjectedLaborHours": 0,
"estimatedProfitPercent": 13,
"jobClose": false,
"jobCloseDate": null
},
"updateValues": {
"projectId": "0103-24-2093",
"locationId": "01",
"departmentId": "01-03",
"customerId": "GENESIS001",
"prospectiveContractAmt": null,
"totalProjectedLaborHours": null,
"estimatedProfitPercent": null,
"jobClose": true,
"jobCloseDate": "2024-12-31T07:00:00.000Z"
},
"estimates": [
{
"PJESTIMATEID": "0103-24-2093-E",
"PROJECTID": "0103-24-2093",
"TOTAL": "127029.75"
}
],
"currentPeriod": "2024-12-31T07:00:00.000Z"
},
{
"currentValues": {
"projectId": "0103-24-2102",
"locationId": "01",
"departmentId": "01-03",
"customerId": "GENESIS001",
"prospectiveContractAmt": 13725.07,
"totalProjectedLaborHours": 0,
"estimatedProfitPercent": 18,
"jobClose": false,
"jobCloseDate": null
},
"updateValues": {
"projectId": "0103-24-2102",
"locationId": "01",
"departmentId": "01-03",
"customerId": "GENESIS001",
"prospectiveContractAmt": null,
"totalProjectedLaborHours": null,
"estimatedProfitPercent": null,
"jobClose": true,
"jobCloseDate": "2024-12-31T07:00:00.000Z"
},
"estimates": [
{
"PJESTIMATEID": "0103-24-2102-E",
"PROJECTID": "0103-24-2102",
"TOTAL": "4657.9"
}
],
"currentPeriod": "2024-12-31T07:00:00.000Z"
},
{
"currentValues": {
"projectId": "0103-24-2073",
"locationId": "01",
"departmentId": "01-03",
"customerId": "GENESIS001",
"prospectiveContractAmt": 140000,
"totalProjectedLaborHours": 500,
"estimatedProfitPercent": 20,
"jobClose": false,
"jobCloseDate": null
},
"updateValues": {
"projectId": "0103-24-2073",
"locationId": "01",
"departmentId": "01-03",
"customerId": "GENESIS001",
"prospectiveContractAmt": null,
"totalProjectedLaborHours": null,
"estimatedProfitPercent": null,
"jobClose": true,
"jobCloseDate": "2024-12-31T07:00:00.000Z"
},
"estimates": [
{
"PJESTIMATEID": "0103-24-2073-E",
"PROJECTID": "0103-24-2073",
"TOTAL": "112000"
}
],
"currentPeriod": "2024-12-31T07:00:00.000Z"
}
]
}```