---
title: "Update Agent Procedure"
method: PUT
path: "/v1/smb/customer-facing-agents/{agent_id}/procedures/{procedure_id}"
tags: ["smb", "SMB"]
---

# Update Agent Procedure

`PUT /v1/smb/customer-facing-agents/{agent_id}/procedures/{procedure_id}`

## 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/smb/customer-facing-agents/{agent_id}/procedures/{procedure_id}`
- Auth: none declared

Replace an existing procedure on the named receptionist. Send every field: an omitted `body` resets to empty.

## Path parameters

- `agent_id` string, required
- `procedure_id` string, required

## 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.
- `xi-workspace-id` string, nullable: The customer workspace a reseller's API key acts on.

## Request body

- BodySmbUpdateAgentProcedure
  - `request` SMBUpdateProcedureRequest, required: Request model for updating an existing procedure.
    - `name` string, required
    - `trigger` string, required
    - `body` string: Step-by-step instructions, as markdown.

## Response `200`

Successful Response

- SMBProcedure: A standard operating procedure (SOP) the receptionist can run on calls. Like :class:`AgentRule`, this is user-owned config that lives on the agent's :class:`CustomerFacingConfig` in agent-info. It is materialized into the agents-cluster procedure store lazily, on the next agent rebuild. ``id`` is the stable convai ``procedure_id`` so it survives rebuilds and version bumps. ``body`` becomes the procedure's content. ``source_key`` is set when the procedure was copied from an integration. It is ``{provider_id}-{template_key}`` and is never translated, so the settings UI can tell the copy from one the owner wrote after the name, trigger, and steps have been localized.
  - `name` string, required
  - `trigger` string, required
  - `body` string: Step-by-step instructions, as markdown.
  - `id` string
  - `created_at_unix` integer: Unix timestamp (seconds since epoch)
  - `source_key` string, nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-30** `b77988199a2e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/changes/v1/smb/customer-facing-agents/:agent_id/procedures/:procedure_id/put.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/b402c33b07b4?raw)
