API reference / Apps
Change a custom app
Changes the name of an app, its key, the mode of its tools, or which tools the Support agent calls for a visitor. free runs, ask waits for the yes of an owner or admin, off is never called. A new key lists the tools again. Needs an owner or admin.
/api/v1/custom-apps/{slug}Other ways to call it
troopy custom-apps updatePath parameters
slug*stringThe id of the app, made from its name, as in acme_crm
Body
application/jsonnamestringAt least 2 characters · At most 60 characters
keystringA new key, for an app that has one
At least 8 characters · At most 2000 characters
toolsobjectThe new mode of some tools, by their names
visitorobjectFor some tools, by their names: the argument that takes the email of a visitor of the website, or null. The argument must be one of the tool. Then the Support agent calls the tool for a visitor that the website proved
Response
200 · application/jsondata*object12 properties
slug*stringThe id of the app, made from its name, as in acme_crm
name*stringkind*enum<string>A remote MCP server, or an OpenAPI document (Liquid SaaS)
mcpopenapi
url*stringThe Streamable HTTP address of its MCP server
auth*enum<string>How Troopy signs in: nothing, a key in a header, or the sign-in of the server
nonekeyoauth
status*enum<string>connectedneeds_sign_infailed
error*string | nulltools*array<object>5 properties
name*stringdescription*stringmode*enum<string>free: it runs. ask: it waits for the yes of an owner or admin. off: no teammate calls it
freeaskoff
args*array<string>The top-level arguments of the tool
visitor*string | nullThe argument that takes the email of a visitor of the website. Then the Support agent calls the tool for a visitor that the website proved, and Troopy fills that argument in. Null: the Support agent never calls it
listedAt*string | nullWhen an owner or admin last read its tools
connectedBy*objectWho wrote it
3 properties
type*enum<string>personagentapi
id*stringname*stringconnectedAt*stringISO 8601 date and time
signIn*string | nullThe page that starts the sign-in of the server, while it waits for one. A person opens it