| App | Klaviyo |
| Operation ID | klaviyo_list_campaigns |
| Type | Action |
| Connection | klaviyo (required) |
| Credits per run | 1 |
| Agent / MCP tool | Yes |
Inputs
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
channel | enum (email, sms, mobile_push) | Yes | - | Campaign channel type: email, sms, or mobile_push |
status | array of enum (Draft, Scheduled, Sending, Sent, Cancelled, Adding Recipients, Variations Sent, Sending Segments, …) | No | - | Filter by campaign status |
date_range | DateRange | No | - | Filter campaigns by created date range |
orders | array of OrderItem | No | - | Sort results by field and direction. Available fields: - created_at: Created date - name: Campaign name - updated_at: Updated date - scheduled_at: Scheduled date |
limit | integer | No | 1000 | Maximum number of campaigns to return (1-10000) |
DateRange
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
start | string | No | - | The start date of the date range to query, format: YYYY-MM-DD or dynamic node reference like {{nodeId__data.start_date}}. Required when preset is ‘FIXED’ or ‘CUSTOM’. |
end | string | No | - | The end date of the date range to query, format: YYYY-MM-DD or dynamic node reference like {{nodeId__data.end_date}}. Required when preset is ‘FIXED’ or ‘CUSTOM’. |
preset | string | No | - | Predefined date ranges or input modes: - Use ‘FIXED’ or leave empty when you want to specify exact dates (YYYY-MM-DD format) in start/end fields - Use ‘CUSTOM’ when you want to use dynamic values from other nodes ({{nodeId__data.start_date}} format) in start/end fields - Use other presets (TODAY, YESTERDAY, LAST_7_DAYS, etc.) for predefined date ranges (start/end will be ignored) When using ‘FIXED’ or ‘CUSTOM’, both start and end fields are required. |
compare | CompareOptions | No | - | Optional comparison date range settings. ALWAYS use this field for comparisons; DO NOT create additional requests or nodes, as the backend returns current, comparison, and delta metrics in a single call. |
OrderItem
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
field | string or SelectableOption | Yes | - | The field to sort by. must be one of the current selected metrics or dimensions. |
direction | string | Yes | - | The order to sort by, must be one of ‘ASC’, ‘DESC’ |
CompareOptions
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
start | string | No | - | The start date of the comparison range, format: YYYY-MM-DD. Optional if preset is provided. |
end | string | No | - | The end date of the comparison range, format: YYYY-MM-DD. Optional if preset is provided. |
preset | string | No | - | Predefined comparison ranges. When provided, start and end will be ignored. |
comparison_format | string | No | rows | Comparison output layout: ‘rows’ returns separate rows for current, comparison, and delta along with date ranges; ‘columns’ returns a single row with delta values only as additional *_pct or *_change columns depending on comparison_value_type. |
comparison_value_type | string | No | percentage | Value type: ‘percentage’ or ‘absolute’ |
SelectableOption
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
value | string | Yes | - | |
label | string | Yes | - |
Output
Type:List[Dict]
Returns list of campaigns with id, name, status, archived, created_at, updated_at, scheduled_at, send_time, and tracking options.
Fields: dynamic (depend on the inputs)
Example:
[
{
"id": "01ABC123",
"name": "Winter Sale",
"status": "sent",
"created_at": "2026-01-15T10:00:00Z",
"send_time": "2026-01-20T14:00:00Z"
}
]

