---
title: "Triggers · Create a trigger"
method: POST
path: "/api/v1/triggers"
tags: ["triggers"]
---

# Triggers · Create a trigger

`POST /api/v1/triggers`

## Request

- Base URL: `https://kd-agents.simplified.com`
- URL: `https://kd-agents.simplified.com/api/v1/triggers`
- Auth: API key in header `Authorization`

Creates a trigger — what makes an agent run on its own: a schedule, a webhook,
or a chat channel.

`config` must match the shape the chosen `kind` expects. A mismatched config
is accepted and produces a trigger that never fires correctly, so read the
kind's expected shape first rather than guessing.

`resource: agent://build-guide` covers the trigger lifecycle.

## Request body

- TriggerWrite
  - `agent` string: Agent UUID this trigger fires.
  - `name` string
  - `description` string
  - `kind` 'scheduled' | 'webhook' | 'event' | 'slack' | 'whatsapp': What causes a run. `scheduled` requires `command`; the chat kinds route inbound messages and are normally created by connecting the channel in the UI rather than here.
  - `status` 'active' | 'paused' | 'inactive' | 'completed'
  - `command` string: The instruction sent to the agent when the trigger fires. Required for `scheduled`.
  - `delivery` object: Where the result goes. Interpreted by the agent, not the dispatcher.
  - `extra` object: Kind-specific configuration, including the schedule itself for `scheduled` triggers. Read `agents_listTriggerKinds` for the shape.

## Response `201`

The created trigger.

- TriggersCreateTriggerResponse201: Empty response body

## Other responses

- `400`: Validation error.

---

[API](https://skmtc.dev/simplified/apis/agents.md) - [All operations](https://skmtc.dev/simplified/apis/agents/llms.txt) - [OpenAPI document](https://skmtc.dev/simplified/apis/agents/revisions/7b021c472188?raw)
