---
description: >-
  Create and manage event-driven triggers (platform events, conditions,
  multi-target).
sidebar:
  order: 12
title: roboto triggers
---
```bash
roboto triggers [-h]
                {create,delete,disable,dry-run,enable,get,list,sample,update} ...
```

**Arguments**

| Argument | Description |
| --- | --- |
| `-h, --help` | show this help message and exit |

## roboto triggers create

Creates a trigger subscribing to platform events with one or more targets.

```bash
roboto triggers create [-h] --name NAME
                       [--on {dataset.created,dataset.metadata_updated,dataset.tag_added,dataset.upload_completed,event.created,file.ingested,file.metadata_updated,file.uploaded,invocation.completed,invocation.failed,session.ingested} [{dataset.created,dataset.metadata_updated,dataset.tag_added,dataset.upload_completed,event.created,file.ingested,file.metadata_updated,file.uploaded,invocation.completed,invocation.failed,session.ingested} ...]]
                       [--once-per {occurrence,file,dataset,invocation,event}]
                       [--schedule SCHEDULE]
                       --targets-json TARGETS_JSON
                       [--condition-json CONDITION_JSON] [--disabled]
                       [--org ORG]
```

**Arguments**

| Argument | Description |
| --- | --- |
| `-h, --help` | show this help message and exit |
| `--name <name>` Required | The unique name used to reference a trigger. |
| `--on {dataset.created,dataset.metadata_updated,dataset.tag_added,dataset.upload_completed,event.created,file.ingested,file.metadata_updated,file.uploaded,invocation.completed,invocation.failed,session.ingested}` | One or more platform event types the trigger subscribes to (with '--once-per'). |
| `--once-per {occurrence,file,dataset,invocation,event}` | What the trigger fires at most once per: the occurrence, or an entity the event names. |
| `--schedule <schedule>` | A five-field cron expression (UTC) to fire on instead of events, e.g. '0 9 * * 1'. |
| `--targets-json <targets_json>` Required | Inline JSON or a path to a JSON file with the trigger's target spec(s): one object or a list, each discriminated on "type" (invoke_action \| start_agent \| send_slack_message). Example: '[{"type": "start_agent", "target_id": "analyze", "agent_id": "ag_123"}]'. |
| `--condition-json <condition_json>` | Inline JSON or a path to a JSON file with a Condition/ConditionGroup over the event namespace. |
| `--disabled` | Create the trigger disabled. |
| `--org <org>` | The calling organization ID. Gets set implicitly if in a single org. The `ROBOTO_ORG_ID` environment variable can be set to control the default value; without it, the default is the `org_id` of the config file profile in use, which `roboto setup` saves. |

## roboto triggers delete

Deletes a trigger.

```bash
roboto triggers delete [-h] [--org ORG] name
```

**Arguments**

| Argument | Description |
| --- | --- |
| `name` Required | The unique name used to reference a trigger. |
| `-h, --help` | show this help message and exit |
| `--org <org>` | The calling organization ID. Gets set implicitly if in a single org. The `ROBOTO_ORG_ID` environment variable can be set to control the default value; without it, the default is the `org_id` of the config file profile in use, which `roboto setup` saves. |

## roboto triggers disable

Disables a trigger.

```bash
roboto triggers disable [-h] [--org ORG] name
```

**Arguments**

| Argument | Description |
| --- | --- |
| `name` Required | The unique name used to reference a trigger. |
| `-h, --help` | show this help message and exit |
| `--org <org>` | The calling organization ID. Gets set implicitly if in a single org. The `ROBOTO_ORG_ID` environment variable can be set to control the default value; without it, the default is the `org_id` of the config file profile in use, which `roboto setup` saves. |

## roboto triggers dry-run

Explains whether a trigger would fire for an entity, gate by gate.

```bash
roboto triggers dry-run [-h] [--dataset-id DATASET_ID |
                        --file-id FILE_ID |
                        --invocation-id INVOCATION_ID |
                        --event-id EVENT_ID |
                        --scheduled-for SCHEDULED_FOR]
                        [--on {file.uploaded,dataset.upload_completed,file.ingested,file.metadata_updated,dataset.metadata_updated,dataset.created,dataset.tag_added,invocation.completed,invocation.failed,session.ingested,event.created,schedule.fired}]
                        [--org ORG]
                        name
```

**Arguments**

| Argument | Description |
| --- | --- |
| `name` Required | The unique name used to reference a trigger. |
| `-h, --help` | show this help message and exit |
| `--dataset-id <dataset_id>` | Synthesize an event about this dataset. |
| `--file-id <file_id>` | Synthesize an event about this file. |
| `--invocation-id <invocation_id>` | Synthesize an event about this invocation. |
| `--event-id <event_id>` | Synthesize a platform event about this event. |
| `--scheduled-for <scheduled_for>` | For a schedule-fired trigger: the UTC minute to pretend the schedule fired at (ISO 8601, e.g. 2026-09-16T15:00:00Z). Defaults to the schedule's next occurrence; a schedule-fired trigger takes no entity reference. |
| `--on {file.uploaded,dataset.upload_completed,file.ingested,file.metadata_updated,dataset.metadata_updated,dataset.created,dataset.tag_added,invocation.completed,invocation.failed,session.ingested,event.created,schedule.fired}` | Which subscribed platform event type to synthesize; defaults to the first compatible with the reference. |
| `--org <org>` | The calling organization ID. Gets set implicitly if in a single org. The `ROBOTO_ORG_ID` environment variable can be set to control the default value; without it, the default is the `org_id` of the config file profile in use, which `roboto setup` saves. |

## roboto triggers enable

Enables a trigger.

```bash
roboto triggers enable [-h] [--org ORG] name
```

**Arguments**

| Argument | Description |
| --- | --- |
| `name` Required | The unique name used to reference a trigger. |
| `-h, --help` | show this help message and exit |
| `--org <org>` | The calling organization ID. Gets set implicitly if in a single org. The `ROBOTO_ORG_ID` environment variable can be set to control the default value; without it, the default is the `org_id` of the config file profile in use, which `roboto setup` saves. |

## roboto triggers get

Looks up a trigger by name.

```bash
roboto triggers get [-h] [--org ORG] name
```

**Arguments**

| Argument | Description |
| --- | --- |
| `name` Required | The unique name used to reference a trigger. |
| `-h, --help` | show this help message and exit |
| `--org <org>` | The calling organization ID. Gets set implicitly if in a single org. The `ROBOTO_ORG_ID` environment variable can be set to control the default value; without it, the default is the `org_id` of the config file profile in use, which `roboto setup` saves. |

## roboto triggers list

Lists every trigger in the org, event-fired and scheduled.

```bash
roboto triggers list [-h] [--org ORG]
```

**Arguments**

| Argument | Description |
| --- | --- |
| `-h, --help` | show this help message and exit |
| `--org <org>` | The calling organization ID. Gets set implicitly if in a single org. The `ROBOTO_ORG_ID` environment variable can be set to control the default value; without it, the default is the `org_id` of the config file profile in use, which `roboto setup` saves. |

## roboto triggers sample

Shows a realistic, fully dereferenced sample of an event type: what conditions and templates can see.

```bash
roboto triggers sample [-h] [--paths]
                       {file.uploaded,dataset.upload_completed,file.ingested,file.metadata_updated,dataset.metadata_updated,dataset.created,dataset.tag_added,invocation.completed,invocation.failed,session.ingested,event.created,schedule.fired}
```

**Arguments**

| Argument | Description |
| --- | --- |
| `{file.uploaded,dataset.upload_completed,file.ingested,file.metadata_updated,dataset.metadata_updated,dataset.created,dataset.tag_added,invocation.completed,invocation.failed,session.ingested,event.created,schedule.fired}` Required | The event type to show a sample of. |
| `-h, --help` | show this help message and exit |
| `--paths` | Print only the {{root.path}} names a condition or template may reference, one per line. |

## roboto triggers update

Changes a trigger's firing source, condition, or targets.

```bash
roboto triggers update [-h]
                       [--on {dataset.created,dataset.metadata_updated,dataset.tag_added,dataset.upload_completed,event.created,file.ingested,file.metadata_updated,file.uploaded,invocation.completed,invocation.failed,session.ingested} [{dataset.created,dataset.metadata_updated,dataset.tag_added,dataset.upload_completed,event.created,file.ingested,file.metadata_updated,file.uploaded,invocation.completed,invocation.failed,session.ingested} ...]]
                       [--once-per {occurrence,file,dataset,invocation,event}]
                       [--schedule SCHEDULE]
                       [--targets-json TARGETS_JSON]
                       [--condition-json CONDITION_JSON |
                       --clear-condition] [--org ORG]
                       name
```

**Arguments**

| Argument | Description |
| --- | --- |
| `name` Required | The unique name used to reference a trigger. |
| `-h, --help` | show this help message and exit |
| `--on {dataset.created,dataset.metadata_updated,dataset.tag_added,dataset.upload_completed,event.created,file.ingested,file.metadata_updated,file.uploaded,invocation.completed,invocation.failed,session.ingested}` | Replace the subscribed event types. Keeps the current '--once-per' unless that is given too. |
| `--once-per {occurrence,file,dataset,invocation,event}` | Replace what the trigger fires once per, keeping the current event subscription. |
| `--schedule <schedule>` | Replace the firing source with this five-field UTC cron expression. |
| `--targets-json <targets_json>` | Replace the target list. Same shape as 'create'. A target whose id is referenced by existing dispatches must keep that id. |
| `--condition-json <condition_json>` | Replace the condition. Inline JSON or a path to a JSON file. |
| `--clear-condition` | Remove the condition entirely. |
| `--org <org>` | The calling organization ID. Gets set implicitly if in a single org. The `ROBOTO_ORG_ID` environment variable can be set to control the default value; without it, the default is the `org_id` of the config file profile in use, which `roboto setup` saves. |
