Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions skills/base44-cli/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,15 @@ For complete documentation, see [entities-create.md](references/entities-create.
| `base44 functions list` | List all deployed functions on Base44 remote | [functions-list.md](references/functions-list.md) |
| `base44 functions pull [name]` | Pull deployed functions from Base44 to local files | [functions-pull.md](references/functions-pull.md) |

### Workflow Runs

Workflows are the automation system (cron schedules, entity triggers, connector events, in-app agent actions). These commands are read-only: they answer "what workflows exist" and "did my scheduled work fail, and why".

| Command | Description | Reference |
|---------|-------------|-----------|
| `base44 workflows list` | List this app's workflows with status and run summary | [workflows-list.md](references/workflows-list.md) |
| `base44 workflows runs [--status <s>] [--since <t>]` | List workflow runs, newest first; failed runs include the underlying error | [workflows-runs.md](references/workflows-runs.md) |

### Agent Management

Agents are conversational AI assistants that can interact with users, access your app's entities, and call backend functions. Use these commands to manage agent configurations.
Expand Down
35 changes: 35 additions & 0 deletions skills/base44-cli/references/workflows-list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# base44 workflows list

List this app's workflows with their status and run summary.

## Syntax

```bash
npx base44 workflows list [options]
```

This command can run from a linked project, or outside a project when you pass `--app-id <id>` or set `BASE44_APP_ID`.

## Examples

```bash
# Show all workflows and how their last run went
npx base44 workflows list

# Machine-readable output
npx base44 workflows list --json
```

## Output

```
nightly-sync [active] runs: 12, last run failed at 2026-08-05T03:00:00Z (3 consecutive failures)
weekly-digest [paused] runs: 4, last run success at 2026-08-01T09:00:00Z
```

With `--json`, each workflow is a record: `id`, `name`, `description`, `status`, `statusReason`, `totalRuns`, `consecutiveFailures`, `lastRunAt`, `lastRunStatus`.

## Notes

- `consecutiveFailures > 0` is the signal a workflow needs attention — follow up with `base44 workflows runs --status failed`.
- **Apps that predate Workflows** (legacy automations) are not readable via this command; it fails with an explanation.
55 changes: 55 additions & 0 deletions skills/base44-cli/references/workflows-runs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# base44 workflows runs

List workflow runs for this app, newest first. This is the fastest way to answer "did my scheduled work fail, and why" — each failed run carries the task that failed and the underlying error.

## Syntax

```bash
npx base44 workflows runs [options]
```

This command can run from a linked project, or outside a project when you pass `--app-id <id>` or set `BASE44_APP_ID`.

## Options

| Option | Description | Required |
|--------|-------------|----------|
| `--status <status>` | Filter by run status: `running`, `completed`, `failed`, `cancelled` | No |
| `--since <datetime>` | Show runs started after this time. ISO datetime or relative shorthand (e.g. `1h`, `30m`, `2d`) | No |
| `-n, --limit <n>` | Number of runs to return (1-200, default: 30) | No |

## Examples

```bash
# Latest runs across all workflows
npx base44 workflows runs

# Did anything fail? (start here when debugging)
npx base44 workflows runs --status failed

# Failures in the last day
npx base44 workflows runs --status failed --since 1d

# Machine-readable output
npx base44 workflows runs --status failed --json
```

## Output

Each run shows its start time, status, workflow name, trigger type, and duration. Failed and cancelled runs also show the error:

```
2026-08-05 04:00:46 FAILED nightly-sync (scheduled) 56.8s
Task 'call_fn' failed: Backend function 'sync-orders' returned HTTP 500: {...}
```

With `--json`, each run is a record: `runId`, `workflowId`, `workflowName`, `triggerType`, `status`, `startedAt`, `completedAt`, `durationMs`, `stepsCount`, `errorMessage`, `isTestRun`, `statusReason`.

## Notes

- **Trigger types**: `scheduled` (cron), `entity`, `connector`, `in_app_agent`, and `manual`.
- **Test runs are included.** Runs fired via "run now" (including the dashboard's test button) are marked `(test)` in the output and `isTestRun: true` in JSON. If you just created a workflow and fired it to verify, your run WILL appear — marked as a test run.
- A failed run's `errorMessage` names the failing task and, when a backend function was the cause, includes the function's HTTP failure. To dig further into that function's own logs, use `base44 logs --function <name>` — and remember function logs can take ~30s to appear.
- `statusReason` is a typed reason populated only for failed/cancelled runs (e.g. `insufficient_credits`); read it together with `status`.
- **Apps that predate Workflows** (legacy automations) are not readable via this command; it fails with an explanation rather than returning an empty list.
- An empty result tells you whether the app has no workflows at all, or has workflows but no matching runs — read the message, don't assume.