Skip to main content
PATCH
Update assistant
Updates an assistant in place. Send only what you are changing: everything you leave out stays as it is, down to a single setting inside config. You do not need to read the assistant first, and you do not overwrite a change someone else made in the dashboard a moment earlier.

Path parameters

string
required
UUID of the assistant.

Body

At least one field is required.
string
New display name, 1–255 characters.
string
New prompt style.
object
The changes to make to the configuration document. They are merged into the stored document following JSON Merge Patch (RFC 7386):
  • An object merges key by key, at any depth. {"settings": {"webhookUrl": "…"}} changes the webhook and no other setting.
  • An array is replaced whole: toolIds, kbStoreIds, fileSearchStoreIds and settings.postCallAnalysis.fields. To add one item, read the assistant, add it to the array, and send the whole array.
  • null removes a key, which then goes back to its default. {"settings": {"webhookUrl": null}} stops webhook delivery, and {"systemPrompt": null} restores the default prompt.
  • null on a native tool switches it off. See below.
The merged document is checked, and missing settings are filled in with their defaults, as on create. That is what is saved.

Request

Response

200 OK with the updated assistant: its whole configuration, completed, with its toolIds re-checked.

Switching a native tool on or off

nativeTools entries are three-state, so an update only touches the tools you mention:
A tool you switch on is provisioned if it does not exist yet. A tool you switch off keeps its settings for when you switch it back on. A tool you do not mention is left alone: it is not changed, provisioned or switched on or off. On a tool you do mention, only the fields you send change. Its other settings stay as the tool itself holds them, so retargeting a transfer does not disturb its wording, and the assistant’s nativeTools entry is updated to show the tool as it now is. "send_sms": null and "send_sms": {"enabled": null} do the same as "send_sms": {"enabled": false}, and "nativeTools": null switches all three native tools off. null on any other setting of a tool is refused. Send the value you want instead; an empty string clears a transfer’s staticDestination or an SMS’s smsStaticMessage.

Two updates at once

Two updates sent to the same assistant at the same moment both land. An update that finds the assistant was changed after it read it reads the assistant again and merges again. If the assistant keeps changing, the update gives up with 409 CONFLICT. Send it again: native tool settings you sent may already have been written, and repeating the same update is safe. Two updates that change the same native tool at the same moment are the exception: the last one written wins.

Errors

To replace the whole configuration instead, for example to save a document you edited in full, use Replace assistant (PUT).