Agent knowledge & library

The 27 MCP tools in Agent knowledge & library, granted with the agent_knowledge scope under AI agents.

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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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

FieldTypeDescription
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)

Stuck, or something missing?

Get in touch and a person on the team will help.

Contact us