To let an assistant use these tools, grant AI agents on the consent screen, or just
Agent knowledge & library under its Fine-tune. The scope is agent_knowledge.
Read tools work with Read only or Read & write access; write tools only with
Read & write.
Your assistant doesn't see these tools straight away. It finds them with search_tools or
describe_tools, and runs one with use_tool, passing its name and
arguments. Most assistants do this for you: just ask for what you want.
What your assistant is told about this group
What your agents know and can share. Personas: an agent's voice and character. Context blocks: the knowledge an agent answers from. Editing either saves a new version. Agent versions keep the persona version they were built with. Agent versions that haven't been promoted pick up a context block's new content; a live version keeps what it was promoted with until you build and promote a new one. Knowledge gaps: questions no context block could answer, to close by writing a block. The library: media and documents agents can share, in groups. Give any of these to an agent with create_agent_version (agents group). If the agent is behind a ChatGPT or Claude app, anyone with the app's connector URL can read its live version's context blocks word for word.
The descriptions below are the ones your assistant reads, so they're written for it. When a connection covers more than one
organisation, the assistant passes org (the organisation's slug, from list_orgs) to say which one.
list_personas
Read List personas
The org's agent personas.
Arguments
| Field | Type | Description |
|---|---|---|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_persona
Read Get a persona
One persona with its version history and the agent versions using it.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_persona
Write Create a persona
Create an agent persona (avatar uploads are dashboard-only).
Arguments
| Field | Type | Description |
|---|---|---|
| name required | string | |
| role | string | |
| team | string | |
| personality | string | |
| response_length | string |
One of: "short", "medium", "long"
|
| source_template_key | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_persona
Write Update a persona
Edit a persona. Changing its content saves a new persona version; agent versions keep the persona version they were built with until a new agent version is created.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| name | string | |
| role | string | |
| team | string | |
| personality | string | |
| response_length | string |
One of: "short", "medium", "long"
|
| source_template_key | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
delete_persona
Write Delete a persona
Delete a persona. Refused while agents still use it.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
revert_persona
Write Revert a persona
Save an older persona version's content as the newest version (the history is kept; existing agent versions are unchanged).
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| version_id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_context_blocks
Read List context blocks
The org's knowledge/context blocks with token counts and flags.
Arguments
| Field | Type | Description |
|---|---|---|
| limit | integer | Max rows (1-200, default 50) |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_context_block
Read Get a context block
One block with its current content and version history.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_context_block
Write Create a context block
Create a knowledge block: written (content), or fetched from one of the org's endpoints on a schedule (source api), like the latest articles from a blog's feed.
Arguments
| Field | Type | Description |
|---|---|---|
| name required | string | |
| block_type | string |
Default company
One of: "company", "product", "knowledgebase", "support", "faq", "website", "dataset"
|
| content | string | |
| handle | string | What a fixed outreach message calls it: {{ blocks.<handle>.text }}, or a fetched block's data as {{ blocks.<handle>.some.path }}. a-z, 0-9 and _, starting with a letter, unique in the org. Blank on create: made from the name. Can't change while a fixed message uses it. |
| source | string |
manual (written: content) or api (fetched from source_endpoint_id on a schedule, each refresh a new version; agents and outreach streams read the latest). Saving an api block fetches it once and fails with the reason if it can't.
One of: "manual", "api"
|
| source_endpoint_id | string | A GET endpoint of one of the org's integrations (list_integration_definitions). |
| source_params | object | Query parameters to call it with, e.g. {"limit": "5"}. |
| source_template | string | Liquid making the JSON response (as `response`) into text, e.g. {% for item in response.data %}- {{ item.title }}: {{ item.url }}{% endfor %}. Blank: the response as JSON. |
| refresh_every_minutes | integer |
How often it's fetched: 60, 360, 1440 (daily) or 10080 (weekly).
One of: 60, 360, 1440, 10080
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_context_block
Write Update a context block
Rename a block, change its type, give it new content, or change where it comes from (written, or fetched from an endpoint on a schedule). New content saves a new version, which draft agent versions pick up; promoted versions keep the content they were promoted with, except a fetched block, which every agent reads at its latest.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| name | string | |
| block_type | string |
One of: "company", "product", "knowledgebase", "support", "faq", "website", "dataset"
|
| content | string | |
| handle | string | What a fixed outreach message calls it: {{ blocks.<handle>.text }}, or a fetched block's data as {{ blocks.<handle>.some.path }}. a-z, 0-9 and _, starting with a letter, unique in the org. Blank on create: made from the name. Can't change while a fixed message uses it. |
| source | string |
manual (written: content) or api (fetched from source_endpoint_id on a schedule, each refresh a new version; agents and outreach streams read the latest). Saving an api block fetches it once and fails with the reason if it can't.
One of: "manual", "api"
|
| source_endpoint_id | string | A GET endpoint of one of the org's integrations (list_integration_definitions). |
| source_params | object | Query parameters to call it with, e.g. {"limit": "5"}. |
| source_template | string | Liquid making the JSON response (as `response`) into text, e.g. {% for item in response.data %}- {{ item.title }}: {{ item.url }}{% endfor %}. Blank: the response as JSON. |
| refresh_every_minutes | integer |
How often it's fetched: 60, 360, 1440 (daily) or 10080 (weekly).
One of: 60, 360, 1440, 10080
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
refresh_context_block
Write Refresh a fetched context block now
Fetch a block whose source is an API now, rather than on its schedule. Answers with its content, or why it couldn't be fetched (the old content stands).
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
delete_context_block
Write Delete a context block
Delete a block. Refused while agents still attach it.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_knowledge_gaps
Read List knowledge gaps
Questions customers asked that no context block answered, grouped into gaps, most asked first: title, status (open/resolved/dismissed), how often and when last asked, sample wordings, and the context block written for a resolved one.
Arguments
| Field | Type | Description |
|---|---|---|
| status | string |
One of: "open", "resolved", "dismissed"
|
| limit | integer | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_knowledge_gap_status
Write Resolve, dismiss or reopen a knowledge gap
Set a knowledge gap's status. When resolving, name the context block written to answer it (context_block_id), so the gap links to it.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| status required | string |
One of: "open", "resolved", "dismissed"
|
| context_block_id | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_library_items
Read List library items
The org's library. kind documents or media; media includes the platform's built-in defaults and which are blocked for this org.
Arguments
| Field | Type | Description |
|---|---|---|
| kind | string |
Default documents
One of: "documents", "media"
|
| limit | integer | Max rows (1-200, default 100) |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_library_item
Read Get a library item
One custom library item.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_library_item
Write Create a library item
Register a document/media item by source URL (file uploads are dashboard-only).
Arguments
| Field | Type | Description |
|---|---|---|
| name required | string | |
| item_type required | string |
One of: "document", "image", "gif", "video"
|
| source_url | string | |
| description | string | |
| tags | string | Comma-separated |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_library_item
Write Update a library item
Edit a library item. Only the fields you pass change.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| name | string | |
| item_type | string |
One of: "document", "image", "gif", "video"
|
| source_url | string | |
| description | string | |
| tags | string | Comma-separated |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
delete_library_item
Write Delete a library item
Delete a custom library item.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
set_library_default_blocked
Write Block/unblock a default media item
Hide (or restore) one of the platform's built-in media defaults for this org.
Arguments
| Field | Type | Description |
|---|---|---|
| default_key required | string | |
| blocked required | boolean | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
list_library_groups
Read List library groups
Named bundles of library items agents can attach.
Arguments
| Field | Type | Description |
|---|---|---|
| group_type | string |
One of: "document", "media"
|
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
get_library_group
Read Get a library group
One group with its ordered items and (when include_defaults) the unblocked registry defaults.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
create_library_group
Write Create a library group
Create a document or media group; include_defaults folds in the platform's built-in media.
Arguments
| Field | Type | Description |
|---|---|---|
| name required | string | |
| group_type required | string |
One of: "document", "media"
|
| description | string | |
| include_defaults | boolean | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
update_library_group
Write Update a library group
Edit a group. Only the fields you pass change.
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| name | string | |
| group_type | string |
One of: "document", "media"
|
| description | string | |
| include_defaults | boolean | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
delete_library_group
Write Delete a library group
Delete a group (items themselves are untouched).
Arguments
| Field | Type | Description |
|---|---|---|
| id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
add_library_group_item
Write Add an item to a group
Attach a custom item (library_item_id) OR a registry default (default_key). Idempotent.
Arguments
| Field | Type | Description |
|---|---|---|
| group_id required | string | |
| library_item_id | string | |
| default_key | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |
remove_library_group_item
Write Remove an item from a group
Detach one group item (id from get_library_group).
Arguments
| Field | Type | Description |
|---|---|---|
| group_id required | string | |
| group_item_id required | string | |
| org | string | Organisation slug: required when this authorization covers more than one organisation (see list_orgs) |