---
title: "bulkTriggerExecutions"
method: POST
path: "/v1/automation/executions/bulk-jobs"
tags: ["bulk"]
---

# bulkTriggerExecutions

`POST /v1/automation/executions/bulk-jobs`

Create a bulk job that triggers multiple automation executions

## Request body

- union
  - object
    - `flow_id` string, required — ID of the Automation Flow
    - `entities_refs` EntityRef[], required
      - `entity_id` string, required
      - `entity_schema` string, required
    - `trigger_context` TriggerContext — Additional contextual data for a bulk trigger automation. This would normally include additional entity IDs you'd need after a listener picks up an event.
  - object
    - `flow_id` string, required — ID of the Automation Flow
    - `entities_query` string, required
    - `trigger_context` TriggerContext — Additional contextual data for a bulk trigger automation. This would normally include additional entity IDs you'd need after a listener picks up an event.
  - object
    - `flow_id` string, required — ID of the Automation Flow
    - `entities_filter` object[], required — A subset of simplified Elasticsearch query clauses. The default operator is a logical AND. Use nested $and, $or, $not to combine filters using different logical operators.
      - `term` object — Returns documents that contain an exact term in a provided field. To return a document, the query term must exactly match the queried field's value, including whitespace and capitalization. You likely DO NOT want to use this filter on text fields and want to target its .keyword instead.
      - `terms` object — Returns documents that contain one of the exact terms in a provided field. See term filter for more info.
      - `ids` object — Returns documents based on their IDs.
        - `values` string[]
      - `range` object — Returns documents with fields that have terms within a certain range.
      - `exists` object — Returns documents that have a value in the specified field.
        - `field` string, required
      - `$and` EntitySearchFilter — recursive
      - `$or` EntitySearchFilter — recursive
      - `$not` EntitySearchFilter — recursive
    - `trigger_context` TriggerContext — Additional contextual data for a bulk trigger automation. This would normally include additional entity IDs you'd need after a listener picks up an event.

## Response `202`

Trigger Executions Job Info

- BulkTriggerJob
  - `job_id` string, required — Job ID for tracking the status of bulk trigger automation executions
  - `org_id` string, required
  - `flow_id` string, required — ID of the Automation Flow
  - `status` 'approval' | 'querying_entities' | 'entities_loaded' | 'executing' | 'monitoring' | 'send_report' | 'finished' | 'failed' | 'cancelled', required — Status of the bulk trigger automation job * approval: Waiting for user approval to start the bulk trigger automation * querying_entities: Loading entities in batches * entities_loaded: All entities have been loaded and stored * executing: Automation execution are currently running * monitoring: All executions have been started, now monitoring their completion * send_report: Automation executions finished running. Report is being created & sent to the user who initiated the bulk trigger automation * finished: Automation executions finished running. Some may have failed. Check the status of each entity. * failed: Bulk trigger automation execution failed. Some executions might have started. Check the status of each entity. * cancelled: Bulk trigger automation execution was cancelled
  - `created_by` string, required — User ID who created the bulk trigger automation job
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `approved_at` string, date-time — Time when the bulk trigger automation executions job was approved
  - `trigger_context` TriggerContext — Additional contextual data for a bulk trigger automation. This would normally include additional entity IDs you'd need after a listener picks up an event.
  - `task_token` string — Task token to approve/cancel the bulk automation job
  - `report_file_entity_id` string — Entity ID of the report file entity
  - `entity_query` object — Query configuration for loading entities
    - `type` 'refs' | 'query' | 'filter', required
    - `data` union, required
      - EntityRef[]
        - `entity_id` string, required
        - `entity_schema` string, required
      - string
      - object[] — A subset of simplified Elasticsearch query clauses. The default operator is a logical AND. Use nested $and, $or, $not to combine filters using different logical operators.
        - `term` object — Returns documents that contain an exact term in a provided field. To return a document, the query term must exactly match the queried field's value, including whitespace and capitalization. You likely DO NOT want to use this filter on text fields and want to target its .keyword instead.
        - `terms` object — Returns documents that contain one of the exact terms in a provided field. See term filter for more info.
        - `ids` object — Returns documents based on their IDs.
          - `values` string[]
        - `range` object — Returns documents with fields that have terms within a certain range.
        - `exists` object — Returns documents that have a value in the specified field.
          - `field` string, required
        - `$and` EntitySearchFilter — recursive
        - `$or` EntitySearchFilter — recursive
        - `$not` EntitySearchFilter — recursive
  - `pagination_state` object — Pagination state for entity loading
    - `page_size` integer — Number of entities per page
    - `pages_processed` integer — Number of pages processed so far
    - `total_processed` integer — Total number of entities processed so far
    - `stable_query_id` string — Stable query ID for pagination
    - `search_after` union[] — Last sort value used for pagination
      - union
        - string
        - number
    - `has_more` boolean — Whether there are more entities to load
  - `execution_summary` ExecItem[] — List of entities & their automation execution id & status
    - `entity_id` string, required
    - `entity_schema` string
    - `execution_id` string
    - `execution_status` 'pending' | 'starting' | 'in_progress' | 'paused' | 'success' | 'failed' | 'cancelled' | 'skipped' | 'scheduled' | 'hot', required
    - `timestamp` string, date-time — Timestamp in UTC ISO format
    - `error` string — Error message for the failed automation execution

## Other responses

- `403` — The requested resource is forbidden

---

[API](https://skmtc.net/epilot/apis/automation-api.md) · [All operations](https://skmtc.net/epilot/apis/automation-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/automation-api/revisions/4631cafda830/schema)
