---
title: "Create Procedure"
method: POST
path: "/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures"
tags: ["Agents Platform"]
---

# Create Procedure

`POST /v1/convai/agents/{agent_id}/branches/{branch_id}/procedures`

## Request

- Base URL: `https://api.elevenlabs.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.elevenlabs.io/v1/convai/agents/{agent_id}/branches/{branch_id}/procedures`
- Auth: none declared

Create a new procedure for the agent on a branch.

## Path parameters

- `agent_id` string, required: Agent ID to get the procedure draft from
- `branch_id` string, required: Branch ID to get the procedure draft from

## Headers

- `xi-api-key` string, nullable: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

## Request body

- CreateProcedureRequestModel
  - `name` string: Procedure name
  - `content` string: Initial procedure content
  - `type` 'free_form' | 'deterministic' | 'folder'
  - `trigger` string, nullable: When the agent should use this procedure. Empty string means this is a sub-procedure that should only start when another procedure references it. Omit this field (or send null) to keep the stored trigger, which is empty on create. Send `""` to clear it. `description` is accepted as an alias.
  - `folder_parent_id` string, nullable: Procedure ID of the folder to create this procedure in, or null for root.

## Response `200`

Successful Response

- CreateProcedureResponseModel
  - `procedure_id` string, required: ID of the created procedure

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-08** `1eeefe174b1d`: 2 info
  - added the new optional request property `anyOf[subschema #1: CreateProcedureRequestModel]/folder_parent_id`
  - added the new `folder` enum value to the request property `anyOf[subschema #1: CreateProcedureRequestModel]/type`
- **2026-07-31** `72c54eba117e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/changes/v1/convai/agents/:agent_id/branches/:branch_id/procedures/post.md)

---

[API](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation.md) - [All operations](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/revisions/d04f5e77c40a?raw)
