Json Parsing - Need Some Help

Hi Bubblers,
I’m working on importing data from an external API. The JSON structure looks like this (simplified):
{
“Objects A”: [ // List of Objects A
{
// fields of Object A
“Objects B”: [ // List of Objects B
{
// fields of Object B
“Objects C”: [ // List of Objects C
{
// fields of Object C
“Objects D”: [ // List of Objects D
{
// fields of Object D (same as C, but no sub-list)
}
]
}
]
}
]
}
]
}

My goal in Bubble is to:

  1. Make only one API call to fetch the whole JSON.
  2. Then, create my own database things in Bubble:
  • A = Object A
  • B = Object B
  • C = Object C
  • D = Object C With Parent Line C
  1. If an Object C has (Object D), I need to create them as separate things in the database, linked to their parent Line.

I’ve tried setting up backend workflows with “Schedule API workflow on a list”, but the problem is that Bubble doesn’t let me pass “API objects” (like Object B, Object C) directly as parameters in backend workflows. As a result, the workflows run but don’t have access to the nested data.

Has anyone successfully built this kind of recursive workflow in Bubble (A → B → C → D)?

  • Should I pass each item as raw JSON text (:formatted as JSON) into the backend workflow and parse with regex/JSON plugin?
  • Or is there a more “Bubble-native” way to iterate through these nested objects without losing the data structure?

Any guidance, patterns, or examples would be super helpful :folded_hands:

Thanks!

Mind pasting a sample of the payload?

Yes

[
{
“Key”: “3316225853620361”,
“TicketNr”: 130,
“Orders”: [
{ “Key”: “3317325365248189”,
“Date”: 20170414,
“TicketKey”: “3316225853620361”,
“Lines”: [
{ “Key”: “3386594597797889”,
“ProductKey”: “3308469142683780”,
“ProductNr”: 122011,
“ProductName”: “Coca-Cola”,
“Qty”: 1,
“Price”: 2,
“Addons”:
}, {
“Key”: “3386594597797890”,
“ProductKey”: “3308469142683686”,
“ProductNr”: 114000,
“ProductName”: “Jupiler 25cl”,
“Qty”: 1,
“Price”: 2.1,
“Addons”:
} ],
“Paymodes”: [
{
“Key”: “3320623900131329”,
“PaymodeKey”: “3311733317828609”,
“PaymodeNr”: 1,
“PaymodeName”: “Cash”,
}
]
}
]
}
]