Manage agents
tuqui_agentRead and manage agents. action='list' returns the ones you reach; scope='directory' returns what the workspace offers — everything it lists is already available to you, there is nothing to add. 'get' reads one in full, instructions included; 'save' creates when 'agent_id' is absent and updates when present; 'delete' removes one. You can only change an agent that is yours, one shared with you to edit — or, if you are an admin, one published to the workspace. action='share' gives somebody else access (to and level, or level='none' to take it away); target='workspace' opens it to every member of the workspace, which is an admin's call — that is the INTERNAL reach, not the client-facing exposure. action='link' / 'unlink' attach or detach the agent's skills, apps and tools (relation='skill', 'app' or 'tool', ids=[...]); they are additive, so what you do not name stays. 'save' also takes 'reasoning_effort'. Tools (admins only): action='tools' reads the agent's tool list — whether it is on, what is ticked and what can be ticked; 'save' with 'tool_selection_enabled' turns it on or off. On a published agent you can remove tools but not add them: that is done from the screen. An agent's service identity and its client-facing exposure are NOT here.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"action": "<action>"
},
"name": "tuqui_agent"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | share, target='user': who to give it to — their EMAIL or name (a user id also works). They must already be a member of this workspace: sharing does not invite. target='group': the group's name. A list, so handing the same level to a team is one call. | |
| ids | No | On 'link' / 'unlink': what to attach or detach. For relation='app' the app's NAME or platform slug ('github', 'Google Drive') — a UUID also works, but do not copy one out of a listing by hand. For relation='skill' these are skill NAMES as the directory shows them (a UUID also works); for relation='app' they are connector UUIDs. Additive: what is not named is left alone, so this never wipes the rest. | |
| name | No | Human name. Required to create. | |
| level | No | share: 'usar' or 'editar' — the two levels of the picker, Spanish because the spec fixes them as the domain vocabulary of the model (compartir-unificado §10). 'none' takes the access away: it revokes the person's share, or closes the object back to the people invited. 'link' is a reach only the Library offers (anyone in the workspace with the URL). | |
| scope | No | On 'list': 'mine' (default) is what you reach — your own agents, the ones shared with you and the ones published to the workspace, each with 'mentionable'. 'directory' is what the workspace offers, each entry with 'workspace_access' so you can see how far it reaches. 'chat' is the subset you can actually mention in a conversation: reachable, active, and with the chat channel on. | |
| action | Yes | REQUIRED. What to do with the agents. 'share' hands ACCESS to a person or to the workspace; 'link' / 'unlink' attach or detach the SKILLS AND APPS the agent uses — see 'relation'. Two different acts, and the second is not about permissions at all. | |
| target | No | share: who gets it. 'user' (default) gives it to people; 'group' to whoever is in a group; 'workspace' moves the reach, handing the level to every member at once. | |
| agent_id | No | UUID. Required for 'get' and 'delete'; on 'save' it means update. | |
| relation | No | On 'link' / 'unlink': what to attach. 'skill' takes skill NAMES, the same ones tuqui_skill(action='list') shows, or one of your personal skills; 'app' takes an app name or slug (tuqui_connector lists them); 'tool' takes tool names as action='tools' lists them (admins only). | |
| description | No | One line: what this agent is for. | |
| instructions | No | The agent's system prompt — what it should do and how. An agent that talks to people outside the company (a WhatsApp number) passes a chat to a person only when these instructions say so: ask who should take over what it cannot solve, and write it with their email, e.g. 'If you cannot solve a shipping issue, pass it to ana@company.com'. Without that line it never hands off. | |
| consent_token | No | The approval a person gave for THIS call in Tuqui. Bound to these arguments and valid once. | |
| reasoning_effort | No | On 'save': how much the agent thinks on its runs. 'low' is the default. | |
| tool_selection_enabled | No | On 'save', admins only: whether the agent's tool list governs what it may use. Turned on, the list starts empty: link the tools it may use with relation='tool'. Files linked to the agent stay readable either way. |