Flows built by an AI
You do not have to assemble a flow by hand. There is a single file — the complete specification of our engine — that you can hand to any AI (ChatGPT, Claude, Gemini) together with a task: "build me a flow that…". What comes back is ready JSON; all that is left is to import it.
This is not the same as the assistant inside the editor. The assistant runs within Oxta and sees your current flow; this file lets you use any external AI, including one you pay for or run locally.
How to use it
- Press Download for AI above — or Copy, if you are going to paste the text straight into a chat.
- Attach the file (or paste the text) into the conversation.
- Describe the task in plain words: what should happen, where the data comes from, where the result goes. Say what starts the flow — a request or a schedule.
- Import the JSON you get back: Flows → Import.
- Open the flow and look at the Diagnostics tab at the bottom. The checks will tell you whether it holds together. Fill in what the AI could not know: URLs, tokens, and the ids of agents, datasets and files.
A whole site in one pack
The same file lets you ask for a site and its API together. Ask for a static frontend plus the flows behind it, in the shape our upload reads:
dist/
index.html
assets/app.js
_flows/
post.orders.json → POST /_api/orders
get.orders.json → GET /_api/orders
Everything outside _flows is published as site files; every JSON inside it becomes a flow, and its file name says which path and method run it. Then it is one action on your side: Sites → Publish a folder, pick the folder, done — flows are created, paths are wired up, the site is live. Publishing the same pack again updates it instead of duplicating anything.
The full rules of the pack — file names, wildcards, flows with no path — are in Sites. Say that in the task, and the AI can lay out the whole folder for you.
What is in the file
- the JSON the importer accepts: nodes, connections, variables;
- how execution flows, how branches work, and what the
errorbranch does; - how each field is read — text, a JSONata expression or a hybrid — and where a substituted value gets escaped;
- where data comes from:
input,outputs.<node>,variables; - every node with its fields, required flags, outputs and branches;
- platform limits, a self-check list, and complete working examples.
Why it stays true
The file is generated from the engine itself, and every example in it is run through the same checks Oxta uses on your flows. So it does not drift from what actually executes, and it is updated along with the product.
What the AI still cannot know
It cannot see your account: the ids of agents, datasets, files and other flows are yours to fill in. Never give an AI your tokens or keys — the file describes the right way: they live in flow variables, and a node only refers to them.