Skip to main content
Create workflows from code when you build many at once or run them from your own pipeline. Kadoa’s agent builds each one, the same as in the dashboard.

Before you begin

  • A team API key. Install the SDK with npm install @kadoa/node-sdk, yarn add @kadoa/node-sdk, or uv add kadoa-sdk.
The SDK and API examples on this page start from an authenticated client:

Choose the source

One workflow covers one website. See the source rules. Pass the URLs in urls. Every example on this page sets it. If the URLs span several websites, the API rejects the request with 422 SOURCES_MULTIPLE_SITES. Create one workflow per website instead, optionally from a shared template.

Write the prompt

A prompt drives every workflow. It describes in plain language what to extract and how to get there. The agent follows it on its own and handles navigation, pagination, clicks, forms, and file downloads. For multi-step extractions, write clear steps in order. See Prompts for patterns that work. Pass the prompt in userPrompt:

Auto-detect fields

Give Kadoa a source without naming fields. Kadoa suggests a data schema and extracts all relevant data from the page. Pass only the URL:

Define the fields

Name each field yourself for precise control over the output. Define the entity and its fields:
To reuse a saved schema across workflows, see Schemas. Available data types: STRING, NUMBER, BOOLEAN, DATE, DATETIME, MONEY, IMAGE, LINK, OBJECT, ARRAY. See Data types for what each one holds.

Classify records

Sort each record into one of the classes you define, such as the tone or topic of an article. Add a classify field with a title and definition for each class:

Limit the rows per run

A row limit caps how many records each run extracts. Without one, the workflow extracts all rows. Pass limit when you run the workflow, as the examples on this page do. It limits the records extracted, not the records fetched afterward. In the REST API, set limit in the create request.

Schedule the workflow

A new workflow runs once unless you give it a schedule. Call setInterval() in the Node SDK or set_interval() in the Python SDK. In the REST API, pass interval, and schedules for cron expressions. See Scheduling for every interval, cron examples, and timezones.

Create from a template

If your team has templates, start the workflow from one. The schema, data quality rules, notifications, frequency, and record limit come from the template. The workflow links to the template’s latest version, and the template-managed parts become read-only on the workflow. You can still add instructions for this source. Kadoa keeps them separate from the template’s setup prompt, so later template updates do not overwrite them. Pass templateId. Put instructions for this source in userPrompt. Omit templateVersion to use the template’s latest published version.
REST API

Skip the preview

By default, a new workflow stops at a preview so you can review its data. bypassPreview skips that review and activates the workflow immediately. Use it only when you trust the configuration.