The Workflows API is in beta. Its endpoints and responses may change.
- Create, read, update, and archive an app’s workflows.
- Check a definition before you save it.
- Start a workflow, pause it, or run one immediately.
- Read run history, step by step, and cancel a run in flight.
- Read a workflow’s saved versions, including the one a past run executed.
Prerequisites
- A personal API key. See Authentication to get one. These endpoints share the App Management API’s
api_keyheader and base URL. - An app you can edit, on a plan that includes workflows.
App ID
Endpoints that act on a specific app include the app’s ID in the URL path asapp_id.
To get your app ID:
- Go to app.base44.com.
- Open your app in the app editor.
- Copy the app ID from the editor URL:
"https://app.base44.com/apps/<app_id>/editor".
Workflows need a Builder plan
Authoring, activating, and running workflows require a workspace on Builder or above. Those endpoints answer 402 when the plan does not include workflows. Reading and archiving stay open on any plan, so a workspace that has lost the capability can still see its workflows and clean them up. Pausing a running workflow is deliberately open too, so you can stop one you can no longer start. Apps that still run the older automations engine answer 403 on every endpoint here.Triggers
The trigger goes insideconfig, and its trigger_type picks the kind:
condition to skip a dispatch unless a jq expression over the trigger payload is truthy.
Versions are content hashes
Every definition change saves a new immutable version, and the version ID is the SHA-256 hash of that definition rather than a Base44 object ID. A run records the version it executed, so you can always read back the definition a past run actually ran, even after the workflow moved on.Two different status vocabularies
A workflow’s ownstatus is active, inactive, or archived, and its last_run_status is success, failed, or cancelled.
A run’s status is running, completed, failed, or cancelled. A finished run reports completed, while the workflow that owns it reports success for the same run. Branch on the field you actually read.