create_knowledge_entry
Teach Subscriby Copilot something new about a project — a question with its answer, or a document sent as text, indexed at once.
Write down something only the project knows, so the Copilot can answer from it: a question with its answer, or a document, a guide or a set of rules, sent as text. The entry is cut into passages and put in the index before the tool answers, so a member can be answered from a members entry the moment this returns. The dashboard also takes a .txt, .md or .markdown file; over MCP a document arrives as its text, and the Copilot reads the same passages either way.
audience defaults to members, because most of what a creator writes down is written for members; pass team for notes the creator's own surfaces should use alone.
Emits knowledge.created with the entry's ids and words, never its text.
Members may be answered from it
A members entry is read to members in the inbox, the project bot and the chat on the portal
page wherever the project has switched the Copilot on for them. Keep anything the project would
not say to a member on team.
kind is fixed once the entry exists: a guide that should have been a question is a new entry.
A project holds at most 200 entries; the next one is VALIDATION_FAILED until one is removed.
Requires ability
The token behind the MCP session must hold it, or the call is refused with TOKEN_MISSING_ABILITY.
Runs the same action as
The REST endpoint and this tool share one action, so validation, permissions and events are identical.
Fires one event
Delivered to every endpoint subscribed to it once the change is made.
Annotations
A client that honours annotations asks a person before running it. It reaches beyond Subscriby: a connector, a provider or a member.
Arguments
project_id*stringUUID of the project to teach.
kind*string"question" for a question with its answer, "document" for a plain-text or Markdown guide sent as text.
questiondocumenttitle*stringThe question, worded the way a member asks it, or the document's name; 2 to 160 characters.
body*stringThe answer, or the document's text; 2 to 50000 characters, facts only.
audiencestringoptional"members" (the default) lets members be answered from the entry; "team" keeps it to the creator's own surfaces.
teammembersWhat it returns
{ "data": { "id": "9d2f7a1c-4b6e-4c8a-b3e5-1f0d8c7b6a59", "project_id": "7f3d1c92-8b45-4e6a-9d21-5c8e0a4b6f13", "kind": "document", "kind_label": "Document", "audience": "members", "audience_label": "Members & Team", "status": "ready", "status_label": "Ready", "title": "House rules", "body": "# House rules\n\nClasses start on the hour. Arrive five minutes early.", "file_name": null, "file_size": null, "mime": null, "chunk_count": 1, "characters": 73, "failure": null, "indexed_at": "2026-10-19T16:40:08+00:00", "created_at": "2026-10-19T16:40:08+00:00", "updated_at": "2026-10-19T16:40:08+00:00" }}The same object get_knowledge_entry returns, text included. title comes back trimmed.
How it fails
VALIDATION_FAILEDkind is not question or document, title is outside 2 to 160 characters, body is outside 2 to 50,000 characters, audience is not members or team, or the project already holds 200 entries. The envelope names the offending field.
RESOURCE_NOT_FOUNDproject_id names a project the token cannot see: unknown, another team's, or outside the token's scope:project: allow-list.
AUTHENTICATION_REQUIREDno authenticated user on the request.
TOKEN_MISSING_ABILITYtoken lacks project-knowledge:create, or its owner's role on the project's team may not add Knowledge.
How is this guide?
Last updated on
Knowledge Tools
Knowledge is what a project teaches Subscriby Copilot beyond what Subscriby already knows about it: questions with their answers and documents, each cut into passages the Copilot is handed when a question matches, and each marked for members or for the team alone.
delete_knowledge_entry
Take back something the Copilot was taught — the entry, its passages and its file go together, at once.