Appearance
Processes & step types
A process is a business process the workspace runs end to end — validate a supplier invoice, chase a receivable, onboard a supplier. It is a chain of steps, started by a trigger, and each start is a run.
bash
# List processes, read one, start a manual run, follow it
curl https://app.neody.ai/api/v1/processes -H "Authorization: Bearer $NEODY_KEY"
curl https://app.neody.ai/api/v1/processes/<id> -H "Authorization: Bearer $NEODY_KEY"
curl -X POST https://app.neody.ai/api/v1/processes/<id>/start -H "Authorization: Bearer $NEODY_KEY" \
-H "Content-Type: application/json" -d '{"subject": {"type": "none", "label": "Order 42"}}'
curl https://app.neody.ai/api/v1/process-runs/<run_id> -H "Authorization: Bearer $NEODY_KEY"Triggers
| Trigger | Starts a run when |
|---|---|
event | an event happens (e.g. docs.document.validated), optionally filtered on its fields |
manual | someone (or an integration) calls POST /v1/processes/{id}/start |
schedule | on a schedule ("cron": "0 8 * * 1-5") |
Step types
| Type | What it does |
|---|---|
intake | Takes documents or messages in and extracts their fields |
validate | Checks a record against the workspace's rules; every exception cites its evidence |
route | Decides where the item goes next and who owns it |
consolidate | Pulls sources together and matches them (e.g. invoice to purchase order) |
analyse | Finds patterns and outliers in history |
draft | Writes the output (a reply, a report, a quote) for a person to review |
monitor | Watches for a condition over time |
follow_up | Chases a person or supplier for something missing, with reminders |
execute | Acts in a system of record (create, send, pay) — behind the autonomy rules |
human_task | A task for a person (approve, decide, fill in fields) |
wait | Waits for a time or an event |
GET /v1/processes/step-types returns each type's configuration schema and whether it can run today.
Capabilities: our apps or yours
Steps call capabilities such as task.create, email.send or document.validate, not specific apps. A workspace binds each capability to a provider — a NeodyAI app, a connector, or your app — so the same process runs across whatever systems the business uses. GET /v1/capabilities lists them with their providers.
Per-step controls
Any step can carry:
| Control | Effect |
|---|---|
require_approval: true | A person approves before the step runs; rejecting stops the run |
sla_hours | The run is overdue after waiting this long on the step |
amount_cap_cents | Above this amount a person must approve, even in supervised mode |
allowed_tools | The step may only call these tools |
Loosening a control (removing an approval, raising a cap, allowing more tools) is a widening change: with four-eyes on it waits for a second person.
Versions
Editing steps or the trigger creates a new version. Runs keep the version they started on, so a change never alters a run in flight. GET /v1/processes/{id}/versions lists them.
Tasks and approvals
GET /v1/tasksandPOST /v1/tasks/{id}/complete— work on human tasks.GET /v1/approvals?status=pending,POST /v1/approvals/{id}/approveand…/reject— decide AI actions waiting for a person (needsapprovals.decide).