Concepts and referenceTools reference

Tools reference

Every tool GuruSup Brain gives your connected assistant, its parameters and limits, and which tools change something.

When you connect an assistant to GuruSup Brain, it gets the tools below. You do not call them yourself. Your assistant chooses a tool from what you ask, and it decides the parameter values. Read this page to know what the assistant can do and what it should ask you before doing.

Brain has 13 tools. Three of them change what Brain knows or contact people: add_company_knowledge, skills_publish and request_human_info. Three only record something: report_issue and send_feedback record a note for the GuruSup team, and start_company_memory_activity records a marker that groups the calls for one question. The other seven only read.

For how a question turns into an answer, see Ask questions. To connect an assistant, start with MCP setup.

Read

These tools search Brain's memory. Brain returns evidence. It does not write the answer: your assistant does.

ToolWhat it doesKey parameters and defaults
ask_company_memoryThe main tool. Takes a question and returns excerpts from pages of Brain's memory, the facts behind them, and the title and reference of each page.question is required. See the table below.
search_company_memoryA lighter search that returns candidate matches with a short snippet, not full evidence. A fallback after ask_company_memory.query is required. top_k: 5 matches by default, 1 to 20. Also retrieval_mode, activity_id and include_diagnostics.
retrieve_company_memoryFetches the full text of pages or passages the assistant picked from a search.document_ids and chunk_ids, up to 3 in total. max_chars_per_document: 12,000 by default, 1,000 to 50,000. Also activity_id and include_diagnostics.

Parameters of ask_company_memory

ParameterValuesDefault
questionThe questionRequired
intentFree text describing what the question is for, up to 240 characters. Longer text is refused, not cut.Empty
desired_outputanswer, brief, decision_support, contextanswer
response_modecompact, fullcompact
risk_levelnormal, highnormal
retrieval_modeauto, vector, graphauto
top_kHow many candidate matches Brain looks at, 1 to 205
max_evidence_documentsHow many pages to return, 1 to 53
max_chars_per_documentCharacters per page, 1,000 to 50,0004,000
max_claimsHow many facts to return, 1 to 208
activity_idGroups this call with others for the same questionCreated for you

compact is the normal response. full returns more detail and is meant for debugging only. Leave retrieval_mode on auto unless you are investigating a search.

Limits are clamped, not rejected

If the assistant sends a number outside a range above, Brain moves it to the nearest allowed value and carries on. A top_k of 100 becomes 20, and a max_evidence_documents of 0 becomes 1. The one exception is the number of ids in retrieve_company_memory, which is refused.

Activity IDs

Every answer from ask_company_memory comes with an activity_id. It ties together the calls made for one question. The assistant is told to pass it to search_company_memory, retrieve_company_memory and request_human_info when those calls follow from that answer, so they count as one question. If the assistant leaves it out on ask_company_memory, Brain creates one. start_company_memory_activity creates one by hand, with an optional label, and most assistants never call it.

Diagnostics and id limits

search_company_memory and retrieve_company_memory return a short form by default. With include_diagnostics set to true they return the full backend detail, which is meant for investigating a search. It also raises the id limit for retrieve_company_memory.

CallCompact resultIds allowed
search_company_memoryPer hit: chunk_id, document_id, title, external_url, snippet and whether it is retrievable, plus a countNot applicable
retrieve_company_memoryPer page: document_id, title, external_url, content, whether it was cut short, and its chunk_idsUp to 3 unique ids in total (document_ids plus chunk_ids). Up to 20 with include_diagnostics.

Blank ids are dropped and repeated ids count once. Sending more than the limit fails with "Provide at most 3 unique document or chunk ids." (or 20 with diagnostics).

Brain only returns what you are allowed to see. If a question cannot be answered from that, the assistant is told to say so instead of guessing.

Write

add_company_knowledge changes what Brain knows. Your assistant is told to use it only when you ask, confirm, or approve the write in your client.

ToolWhat it doesKey parameters and limits
add_company_knowledgeSaves a new fact or note to Brain's memory.title (up to 240 characters) and content (up to 200,000 characters) are required. content_type is text/plain (default) or text/markdown. Optional: source_url (up to 1,000 characters), external_id (up to 240 characters) and metadata.

Saving knowledge

The assistant is told to save only durable company facts, and only after you ask, confirm, or approve the write in your client. It should not save chat, drafts, temporary preferences, speculation or sensitive personal data, unless you say it is company memory.

When Brain accepts a note, it returns a fixed confirmation in Spanish: "Listo." and "En unos minutos esta informacion estara disponible." with the saved title. The assistant is told to hide ids and backend details. Saved knowledge does not show up in answers immediately. It can take a few minutes, and it waits if your organization's usage has run out or ingestion is paused. See Plan and usage.

No tool edits or deletes knowledge that is already saved. Knowledge saved through an assistant cannot be edited or removed from the app afterwards.

Skills

ToolWhat it doesKey parameters and limits
skills_getLoads the full text of one skill the assistant can use.slug, the skill's identifier from the list init returns.
skills_publishSends a skill you wrote to Brain for review.slug, name and content are required. See below.

Parameters of skills_publish

ParameterType and limit
slugLowercase letters, digits and hyphens, starting with a letter or digit, up to 120 characters. Brain lowercases it.
nameUp to 240 characters
contentThe skill text, up to 200,000 characters
descriptionUp to 2,000 characters. The assistant decides whether to load a skill from its description.
tagsA list of text values
categoriesA list of knowledge categories. If empty, the default category (general) applies. Unknown categories are refused, and so are categories you cannot access.
versionUp to 80 characters. Defaults to 1.0.0.
assets, scriptsLists of objects the skill carries with it
metadataAn object

A published skill arrives as pending. Nobody can use it until an admin approves it. If the skill already exists, the current approved version stays in use until the new one is approved. Approving and archiving are not available through MCP. See Skills.

Each skill in the list that init returns has these fields when they are set: slug, name, description, categories, version and status. Only active skills you may use are listed.

People

ToolWhat it doesKey parameters
request_human_infoAsks a colleague set up as a contact for information Brain does not have. Preview first, then dispatch.question is required. See below.
get_profileReturns the account you are signed in with: an opaque profile ID and your email. ChatGPT uses it to label connected accounts.None

Parameters of request_human_info

ParameterWhat it does
questionThe question to ask, up to 4,000 characters. Required.
dispatchfalse (default) previews and sends nothing. true sends.
activity_idThe activity_id of the answer this follows from. Pass the same one in the preview and in the dispatch. Leave it out only for a new question that uses no retrieved context.
gap_analysisWhat is missing from Brain's answer, up to 8,000 characters. Optional.
allowed_channel_typesLimits the channels that may be used: call, email, slack, whatsapp. Optional.
requested_contact_idThe contact chosen in the preview. Set it on dispatch.
requested_contact_nameA contact the user named. Set it only when you explicitly asked for that person.
requester_directedtrue only when you asked to be contacted yourself. Requires dispatch true and requested_contact_id.

Asking a person for missing information

request_human_info works in two steps.

  1. Preview. The assistant calls it with dispatch set to false. Nothing is sent. Brain returns the contact it would ask. The assistant is told to name only a contact that Brain returns here, and never a person it guessed from your documents or the conversation. If you name a person, Brain checks that they are a configured contact. If they are not, the assistant says so.
  2. Dispatch. After you confirm, the assistant calls it again with dispatch set to true and the contact from the preview. Brain then contacts that person by their configured method, which can be a call or a Slack message. It runs in the background and can take several minutes. The assistant is told to say so and offer to carry on with something else.

There is one exception to asking first. If you ask to be contacted yourself so you can provide the missing information, that request already counts as your confirmation. The assistant previews to check that you are the contact, then dispatches straight away with requester_directed set to true. If the preview picks someone else, it does not send the request to that person instead. If your original request did not ask to be contacted yourself, the assistant waits for your confirmation even when the preview picks you.

Contacts are set up by an admin. See Contacts. To be contacted yourself, you need a contact method on your profile. Requests you start show under My requests. For the messages you may see, see MCP troubleshooting.

Utility

ToolWhat it doesKey parameters
initThe first call. Returns Brain's rules for the assistant and the list of skills it can use. The list has a total_count.None
healthChecks whether the Brain API is reachable.None
start_company_memory_activityCreates a record that groups the calls made for one question. Changes no knowledge.Optional label, conversation_id and user_question_hash

If your organization's memory is not built yet, init returns a notice instead of the rules and skill list. The assistant is told that Company Memory is collecting its initial knowledge and is not ready to answer. Ask again once an admin has built the memory. See MCP troubleshooting.

Report and feedback

ToolWhat it doesKey parameters and limits
report_issueReports a failure the assistant can point to.category, observed and expected are required. Optional: activity_id, tool_name, user_request and error_message.
send_feedbackSuggests an improvement when nothing failed.summary and origin are required. Optional: context, blocked and activity_id.

report_issue categories:

CategoryUse
missing_informationYou say something exists and Brain did not return it
wrong_answerAn answer contradicts its own evidence
tool_errorA tool failed
access_problemSomething went wrong when the assistant tried to read what you are allowed to see. Not for results that are simply hidden from you.

send_feedback takes an origin: user when the idea is yours, agent when it is the assistant's. Use blocked when the gap stopped the task.

Text limits: observed and expected 2,000 characters each, user_request 500, error_message 2,000, summary 2,000, context 1,000. Longer text is cut to fit, not refused.

A report includes your organization and account, what the assistant wrote, the activity_id if there is one, and the name and version of the assistant app. It also includes an ID for the connection session and for the Brain release. Reports are recorded for the GuruSup team and are kept for a limited time. They do not appear anywhere in the app. If a report cannot be saved, the assistant is told to carry on with your task and not retry.

The assistant reports a problem once it is confirmed, not on first suspicion, needs no permission, and tells you in one line. It sends feedback once, at the end of the task. Neither tool changes what Brain knows or contacts anyone.

report_issue is not for wrong company facts. For those, tell your admin, or see Resolve conflicts.

Slow answers

A slow answer can take minutes. Brain waits for its own backend for a long time before giving up, so a tool that seems stuck is often still working. See MCP troubleshooting.

How tools are marked

Every tool has a title and marks that tell your client whether it reads or writes. Your client can use them to decide when to ask for your approval.

Tool (title)Read-onlyDestructiveNotes
init (Initialize Company Brain)YesNo
health (Check Company Brain Health)YesNo
get_profile (Get Signed-in Profile)YesNo
start_company_memory_activity (Start Company Memory Activity)YesNoEach call makes a new record
ask_company_memory (Ask Company Memory)YesNo
search_company_memory (Search Company Memory)YesNo
retrieve_company_memory (Retrieve Company Memory Evidence)YesNo
skills_get (Get Company Skill)YesNo
add_company_knowledge (Add Company Knowledge)NoNo
report_issue (Report a Company Brain Issue)NoNo
send_feedback (Send Company Brain Feedback)NoNo
skills_publish (Publish Company Skill)NoYes
request_human_info (Request Information from a Person)NoYesReaches outside Brain: can send a message or place a call

Who can use the tools

No tool on this page needs the admin role. What comes back depends on what you are allowed to see. Publishing a skill still needs an admin to approve it before anyone can use it. See What an agent can see.