Productivity assistants (Configuration API)
assistant.productivity-assistants
The productivity assistants entity creates, reads and updates Productivity Assistants through the Configuration API. It covers what you would otherwise set in Assistant Builder: the name, instructions, plugins, knowledge scope, Skills, MCP servers, A2A agents and audience. Deleting an assistant isn’t available through the API.
Productivity Assistants are in Controlled Availability. Capabilities, limits, and interface labels described here may change before general availability. To request access, contact your Moveworks account team.
- Endpoint:
/assistant/productivity-assistants| Methods: GET, PATCH, POST - Request shape: fields go at the top level of the JSON body. These endpoints take no
resourcewrapper, and the assistant’sidgoes in the URL, not the body. - Schemas, examples and errors: each endpoint page below lists every field with its limits, example requests and responses, and the errors it can return.
Configuration API request basics
Productivity assistant endpoints
All paths are relative to the base URL above.
Productivity assistant fields at a glance
This table says what each field is for. Types, limits and allowed values are on the Create productivity assistant page.
How productivity assistant updates behave
A PATCH changes only what you send:
- A field you leave out stays as it is. An explicit
nullclears the field. - Lists are replaced whole. This applies to
plugin_identifiers,skill_ids,mcp_server_ids,a2a_agent_ids,conversation_startersand each list insideknowledge_scope. Send the complete list you want stored, including the items you’re keeping. user_accessstays as it is unless you send it. Sending one option replaces the option that was stored. Sendingnullis rejected, because every assistant needs an audience.skill_access_modeis never widened by omission. Leaving it out, or sendingnull, keeps the stored mode.- While the knowledge scope has entries,
enterprise_search_pluginstays inplugin_identifiers, even if you leave it out of the list you send. - To clear the knowledge scope, send all four lists empty. After that,
enterprise_search_pluginsearches without a restriction until you remove it fromplugin_identifiers. version.nummust match the stored version. If the assistant changed after your last read, the update is rejected with409. Read it again and retry.- Settings this API doesn’t expose are left unchanged, for example a blocked-users list set in Assistant Builder.
Assistants this API can’t read or update
Some assistants are rejected with 409 and are left out of the list response. Edit them in Assistant Builder instead.
Related pages
- Assistant skills (Configuration API): register the Skills you reference in
skill_ids - Create a Productivity Assistant: the same settings in Assistant Builder