---
title: "Create Template"
method: POST
path: "/worker-templates"
tags: ["worker-templates"]
---

# Create Template

`POST /worker-templates`

## Request body

- CreateWorkerTemplateRequest — Create a reusable worker template. ``mode`` is required rather than defaulted: a template exists to state what a worker should be, and inheriting a column default silently is how you end up with alerts channels running in incident mode. A name already used by a **live** template is rejected with a 409. A deleted template's name is free to reuse — uniqueness is scoped to ``archived_at IS NULL``.
  - `name` string, required — Operator-facing label, unique per organization among live templates.
  - `mode` 'incident' | 'alerts', required — The kind of channel the agent lives in — its standing mission. Drives the swappable mode block in the system prompt (and, later, the toolset). ``incident`` and ``alerts`` have mode blocks today; ``escalation`` and others land as localized drop-ins (their standing block + tooling) when that work begins.
  - `custom_instruction` string, nullable — Standing instruction seeded onto workers deployed from this template.
  - `trigger_rule_ids` string[] — Live CHANNEL_JOIN rules to point at the new template. Every id is verified to exist in your organization before the template is created.

## Response `201`

Successful Response

- WorkerTemplateResponse
  - `id` string, required
  - `organization_id` string, required
  - `name` string, required
  - `mode` 'incident' | 'alerts', required — The kind of channel the agent lives in — its standing mission. Drives the swappable mode block in the system prompt (and, later, the toolset). ``incident`` and ``alerts`` have mode blocks today; ``escalation`` and others land as localized drop-ins (their standing block + tooling) when that work begins.
  - `custom_instruction` string, nullable, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/traversal/apis/fastapi.md) · [All operations](https://skmtc.net/traversal/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/traversal/fastapi/revisions/2134ebffd1ef/schema)
