Skip to main content
PATCH
Update a saved agent

Authorizations

X-API-Key
string
header
required

Path Parameters

saved_agent_id
string<uuid>
required

Body

application/json

A partial saved-agent update; absent fields keep their value.

allow_fetch
boolean | null
allow_find_email
boolean | null

Switch the work-email tool on or off; switching it on is refused when the supplier is not available to this organisation.

allow_linkedin_profile
boolean | null

Switch the LinkedIn-profile tool on or off; switching it on is refused when the supplier is not available to this organisation.

allow_search
boolean | null
description
string | null
Maximum string length: 2000
effort
enum<string> | null

How hard the Agent works on each row.

Named levels rather than raw step counts: the level is the user-facing contract, and what each level buys (step and page budgets) is a product decision the loop maps internally. Re-tuning budgets never invalidates stored columns.

Available options:
low,
standard,
high
favorite
boolean | null
granted_verbs
string[] | null

The workspace actions the agent may apply without asking, as verb keys (see GET /assistant/verbs/). Send null to fall back to the workspace defaults; an empty list switches every action off. A send is refused. The agent's table runs take an allowed action themselves, without a card.

Maximum array length: 8
icon
string | null
Required string length: 1 - 16
inputs
AgentInputSchema · object[] | null
Maximum array length: 20
model_key
string | null
Required string length: 1 - 64
name
string | null
Required string length: 1 - 255
output_schema
EnrichmentOutputFields · object

The fields-mode output shape: repeatable named typed fields.

The default is Clay's: one text field named response.

prompt
AgentPromptTemplate · object | null

A saved agent's prompt: literal text with references between the runs.

The same convention every other stored prompt in the product uses (EnrichmentPromptTemplate for columns, template segments for sequences): identity-keyed segments, so renaming what a reference points at never rewrites the prompt. Structurally parallel to the enrichment template rather than importing it: an agent prompt references INPUTS, an enrichment prompt references COLUMNS, and the import hierarchy keeps the two domains apart.

use_business_context
boolean | null
use_row_context
boolean | null

Response

Successful Response

One org-level saved agent as the editor, picker and library render it.

allow_fetch
boolean
required
created_at
string<date-time>
required
current_version
integer
required
description
string | null
required
effort
enum<string>
required

How hard the Agent works on each row.

Named levels rather than raw step counts: the level is the user-facing contract, and what each level buys (step and page budgets) is a product decision the loop maps internally. Re-tuning budgets never invalidates stored columns.

Available options:
low,
standard,
high
favorite
boolean
required
icon
string | null
required
id
string<uuid>
required
inputs
AgentInputSchema · object[]
required
model_key
string | null
required
name
string
required
output_schema
EnrichmentOutputFields · object
required

The fields-mode output shape: repeatable named typed fields.

The default is Clay's: one text field named response.

owner_user_id
string | null
required
prompt
AgentPromptTemplate · object
required

A saved agent's prompt: literal text with references between the runs.

The same convention every other stored prompt in the product uses (EnrichmentPromptTemplate for columns, template segments for sequences): identity-keyed segments, so renaming what a reference points at never rewrites the prompt. Structurally parallel to the enrichment template rather than importing it: an agent prompt references INPUTS, an enrichment prompt references COLUMNS, and the import hierarchy keeps the two domains apart.

updated_at
string<date-time>
required
use_business_context
boolean
required
use_row_context
boolean
required
allow_find_email
boolean
default:false

Whether a run may buy a work email from the product's data suppliers while it researches, paid from the run's research budget.

allow_linkedin_profile
boolean
default:false

Whether a run may read a LinkedIn profile through the product's data suppliers while it researches, paid from the run's research budget.

granted_verbs
string[] | null

The workspace actions this agent may apply without asking, as verb keys (see GET /assistant/verbs/). Null means the workspace defaults apply. The agent's table runs take an allowed action themselves, without a card.

is_template
boolean
default:false
owner_display_name
string | null