Data workflows

Convert nested JSON to CSV, analytics-ready rows.

API exports nest everything: objects inside arrays inside objects. Spreadsheets and warehouses want rows. Describe the flattening: which arrays explode into rows, which objects become prefixed columns, what happens to missing keys. Data Shepherd writes reviewable scripts that apply those rules identically on every run, sealed, with nothing sent to a model.

Free plan available. No card required.

No data sent to a model at run-time · transparent, versioned scripts
JSON to CSV
Input · export.json
{
  "orders": [
    {
      "id": "ORD-1",
      "customer": { "name": "Acme", "region": "East" },
      "items": [
        { "sku": "SKU-100", "qty": 2 },
        { "sku": "SKU-205", "qty": 1 }
      ]
    }
  ]
}
▾ AI-written transformation, reviewed and versioned
Output · orders.csv
order_id,customer_name,region,sku,qty
ORD-1,Acme,East,SKU-100,2
ORD-1,Acme,East,SKU-205,1
Runs with no AI, your data stays out of the model

How it works

From a messy file to a tested pipeline, in minutes.

1

Describe it and bring your spec

Plain English, plus a sample, a spec, or a data dictionary. Cannot share data at all? Build from the spec alone.

2

AI writes transparent scripts

You get reviewable, versioned Python, never a black box. Inspect every line and preview the output on a sample.

3

Run it anywhere, with no AI

Trigger by API, schedule, or click, or pull from SFTP, S3, or Azure Blob. The sealed script does the work; nothing goes to a model.

The AI builds it. A sealed script runs it.

Most AI data tools push records through a language model on every run. We keep the model in the build phase only, so production never sends your data to a model.

Build (one time): AI writes the scripts, from your spec, or a sample you control
Every run after: sealed sandbox, no network, no AI, no data to any model

Full data-flow table and sub-processor list in our Trust Center →

Common questions

JSON to CSV, answered.

How are nested arrays handled?

You choose per array: explode into one row per element, join into a delimited column, or aggregate. Describe the shape you want and check it in the live preview before running the full file.

How large can the files be?

Plan limits range from 5 MB on Free to 75 MB on Max. For recurring feeds, trigger runs by API or schedule pickups from SFTP or S3 and let webhooks signal completion.

Does the data pass through an AI on each run?

No. The model writes the scripts once, during build, from a sample you provide or a schema description. After that, every run executes the sealed script in an isolated sandbox with no AI and no network.

Describe it once. Run it forever.

Build the transformation on a sample in minutes, review the scripts line by line, and let the sealed runs handle every file after that.