List automations
Returns a paginated, filterable, and sortable grid of automations in the workspace. Supports filtering by scope (personal/workspace). Requires AGENT feature and either managePersonalAutomations or manageWorkspaceAutomations.
GET
/automationsAuthorization
AuthorizationOAuth2 access token · headerrequiredScopes:
api:reador
AuthorizationBearer token (JWT) · headerrequiredQuery parameters
pagenumberPage number (1-based)
pageSizenumberNumber of items per page
viewIdstringView identifier for saved grid configurations
quickSearchstringQuick search text. Searches across: title
filtersstringJSON string containing filter configuration.
**Available Fields:**
- **id** (string): Automation ID
- **title** (string): Automation title
- **scope** (set): Scope (personal or workspace)
- **executionType** (set): Execution type (agent or workflow)
- **executorUserId** (string): Executor user ID
- **ownerUserId** (string): Owner user ID (for personal scope)
- **isEnabled** (boolean): Whether automation is enabled
- **createdAt** (date): Creation timestamp
- **updatedAt** (date): Last update timestamp
- **createdBy** (string): Creator user ID
- **updatedBy** (string): Last updater user ID
**Filter Structure:**
```json
[
{
"type": "string|number|date|set|boolean|array|task_status|task_type",
"fieldName": "field_name",
"value": {
"comparison": "comparison_type",
"value": "filter_value"
}
}
]
```
**Group Filters (AND/OR Combinations):**
```json
[
{
"type": "group",
"fieldName": "group0.18807479823070028",
"value": {
"type": "or",
"filters": [
{
"type": "string",
"fieldName": "fileName",
"value": {
"comparison": "contain",
"value": "aa"
}
},
{
"type": "number",
"fieldName": "rowCount",
"value": {
"comparison": ">=",
"value": 33
}
}
]
}
}
]
```
**Available Comparison Operators:**
- **id** (string): Automation ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- **title** (string): Automation title (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- **scope** (set): Scope (personal or workspace) (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
- **executionType** (set): Execution type (agent or workflow) (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
- **executorUserId** (string): Executor user ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- **ownerUserId** (string): Owner user ID (for personal scope) (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- **isEnabled** (boolean): Whether automation is enabled (boolean filter). Available comparisons: equal, not_equal
- **createdAt** (date): Creation timestamp (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty
- **updatedAt** (date): Last update timestamp (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty
- **createdBy** (string): Creator user ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
- **updatedBy** (string): Last updater user ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
**Note:** Use `quickSearch` parameter for simple text search instead of adding it to filters.
sortstringJSON array of sort objects.
**Sortable Fields:**
- **id**: Automation ID
- **title**: Automation title
- **scope**: Scope (personal or workspace)
- **executionType**: Execution type (agent or workflow)
- **executorUserId**: Executor user ID
- **ownerUserId**: Owner user ID (for personal scope)
- **isEnabled**: Whether automation is enabled
- **createdAt**: Creation timestamp
- **updatedAt**: Last update timestamp
- **createdBy**: Creator user ID
- **updatedBy**: Last updater user ID
**Sort Structure:**
```json
[
{
"field": "field_name",
"direction": "asc|desc"
}
]
```
**Default Sort:** createdAt (desc)
fieldsToReturnany[]Comma-separated list of field names to include in response items. If not provided, all fields are returned.
**Available Fields:** id, title, scope, executionType, executorUserId, ownerUserId, isEnabled, lastRunAt, lastRunStatus, createdAt, updatedAt, createdBy, updatedBy
Responses
200
401Unauthorized - Invalid or missing authentication token
403Forbidden - Insufficient API scopes or permissions
Request
curl -X GET "https://leadtime.app/api/public/automations" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"const response = await fetch("https://leadtime.app/api/public/automations", {
method: "GET",
headers: {
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
}
});import requests
response = requests.get(
"https://leadtime.app/api/public/automations",
headers={
"Authorization": "Bearer YOUR_ACCESS_TOKEN"
},
)Response
No example response.
Unauthorized - Invalid or missing authentication token
Forbidden - Insufficient API scopes or permissions