*REST API › Objects › Platform*

# Workflow

> Automation of the account.

An automation of the account, with its name, whether it is active, its trigger and its current version. Its definition is not published, and you cannot create or change workflows from outside; you can start a run of one with a manual trigger and a saved version. Workflows are bounded to the subscription that owns the key.

Schemas: `WorkflowDto`

## Attributes

| Name | Type | Description |
| --- | --- | --- |
| `id` | string | Unique identifier of the workflow. |
| `name` | string | Workflow name. |
| `isActive` | boolean | true when the workflow is active; false when it is paused. |
| `archivedAt` | string<date-time> | Date it was archived in ISO 8601 UTC; null if it is not archived. |
| `trigger` | object | How the workflow starts and, if manual, what it asks for. |
| `trigger.type` | string | How the workflow starts: manual (a person or the API runs it), schedule (cron), webhook (an incoming request), event (something happens in Filmo), signal (another workflow) or entity (run from the page of a record). Null if it has no published version. `manual`, `schedule`, `webhook`, `event`, `signal`, `entity` |
| `trigger.event` | string | For `event` triggers, the Filmo event it listens to; null otherwise. |
| `trigger.entity` | string | For `entity` triggers, the entity type it runs on; null otherwise. |
| `trigger.form` | object[] | For `manual` triggers, the run form: every field listed is REQUIRED in `payload` when calling [`POST /api/v1/workflows/{workflowId}/runs`](https://docs.filmo.io/rest-api/endpoint-reference/workflows/run-a-workflow). Empty when the workflow asks nothing. |
| `trigger.form.name` | string | Key of the field in `payload` when running the workflow. |
| `trigger.form.label` | string | Label shown to the person who runs it. |
| `trigger.form.type` | object<string, any> | Declared type of the value, in the workflow type language: `{"type":"string"}`, `{"type":"number"}`, `{"type":"boolean"}`, `{"type":"date","mode":"date"\|"datetime"}`, `{"type":"enum","options":[{"value","label"}]}`, `{"type":"shape","shape":[{"key","label","value":<type>}]}`, `{"type":"list","item":<type>}`, `{"type":"record","value":<type>}` or `{"type":"tuple","tuple":[<type>]}`. The value sent in `payload` is validated against it. |
| `currentVersion` | object | The published version, which is the one that runs and the one the run form is read from; null when the workflow has never been saved. |
| `currentVersion.version` | integer | Number of the published version. |
| `currentVersion.createdAt` | string<date-time> | When it was published, in ISO 8601 UTC. |
| `createdAt` | string<date-time> | Creation date in ISO 8601 UTC. |
| `updatedAt` | string<date-time> | Last modification date in ISO 8601 UTC. |

## Example

*Workflow · Generated from the schema*

```json
{
  "id": "id_8f2a1c",
  "name": "Example",
  "isActive": true,
  "archivedAt": "2026-09-01T08:00:00Z",
  "trigger": {
    "type": "manual",
    "event": "string",
    "entity": "string",
    "form": [
      {
        "name": "Example",
        "label": "Example",
        "type": {
          "key": "string"
        }
      }
    ]
  },
  "currentVersion": {
    "version": 1,
    "createdAt": "2026-09-01T08:00:00Z"
  },
  "createdAt": "2026-09-01T08:00:00Z",
  "updatedAt": "2026-09-01T08:00:00Z"
}
```

## Returned by

- [`GET /api/v1/workflows`](https://docs.filmo.io/rest-api/endpoint-reference/workflows/list-workflows) — List workflows

## Modified by

No operation.

---

Canonical URL: https://docs.filmo.io/rest-api/objects/workflow  
Last updated: 2026-10-25