add_company_knowledge
ChatGPTOffer to save newly stated durable company facts. Write only after a user request, confirmation, or client approval. Never save chat, drafts, temporary preferences, speculation, inference, or sensitive personal data unless explicitly designated as company memory.
ask_company_memory
ChatGPTPrimary company-memory read; provide the subject and the information needed. Answer only from returned evidence. Reuse audit.activity_id for follow-ups, including focused search and retrieve.
get_profile
ChatGPTSigned-in account profile.
health
ChatGPTCheck whether the GuruSup Brain API is reachable.
init
ChatGPTReturn the GuruSup Brain read contract and the skills available to the signed-in user.
learn
ChatGPTBrain's playbooks for operating it well: onboarding, connecting sources, memory build, skills, creating agents, apps, members, contradictions, usage, monitoring. Without topic, lists them.
report_issue
ChatGPTReport a Brain failure you can point to: a tool error, something the user says exists that retrieval did not return, or an answer contradicting its evidence. Report once confirmed, not on first suspicion. Pass audit.activity_id when you have one. Not for wrong company facts or denied_context.
request_human_info
ChatGPTAsk a configured Knowledge Contact only for necessary company facts still unsupported after feasible focused retrieval. Do not use for ambiguous user intent, optional details, missing structured claims, access limits or service errors. Ask only for the missing facts; use gap_analysis to separate known context from the information needed. When the question or gap uses a Company Memory result, pass its audit.activity_id to request_human_info in both the preview and confirmed dispatch. Reuse the same activity used by the originating ask/search/retrieve calls. Omit activity_id only for a new user-authored question that does not use retrieved context. Never retry a denied activity by dropping or replacing its activity_id. Company Memory is not a contact directory. A person mentioned in Company Memory, retrieved evidence, or the conversation is not necessarily a configured Knowledge Contact. Never infer that such a person can be contacted. Before naming or proposing any person as a contact, or asking the user for confirmation, always call request_human_info with dispatch=false. Use only the selected_contact returned by that preview as a contactable person. If the user explicitly directs outreach to a particular person, validate that person in the preview. Populate requested_contact_name or requested_contact_id only when the user explicitly directs outreach to that person; otherwise leave both unset so the backend selects exclusively from configured organization contacts. Never populate either from Company Memory, retrieved evidence, or inferred ownership. If validation fails, explain that the person is not configured as a Knowledge Contact. After explicit user confirmation, call request_human_info with dispatch=true and requested_contact_id set to the selected_contact_id returned by the preview. Never substitute a person inferred from Company Memory or the conversation. If the user explicitly asks to be contacted themselves so they can provide the missing information, first call request_human_info with dispatch=false. Inspect the preview's selected_contact.is_requester value. Only when is_requester=true, immediately call request_human_info a second time with dispatch=true, requester_directed=true, and requested_contact_id bound to that preview's selected_contact_id, without asking for another confirmation: the original self-contact instruction is the confirmation. Identity match alone is not consent. If the original user request did not explicitly ask to contact themselves, keep the preview pending even when is_requester=true and wait for explicit confirmation; that later normal confirmation must use requester_directed=false. If an explicit self-contact preview instead selects someone else, explain that the authenticated requester is not available as the configured Knowledge Contact and do not dispatch the request to someone else. If coordinated Human Information is unavailable, report the temporary failure; the backend will not use legacy dispatch for requester-directed outreach. A dispatched request may use any configured channel and is asynchronous; the answer can take several minutes plus the call.
retrieve_company_memory
ChatGPTFetch 1-3 exact evidence ids, preferring chunk ids from focused search. Pass the originating ask audit.activity_id. Use diagnostics only for an explicit investigation that needs the broader 20-id backend limit.
search_company_memory
ChatGPTFocused fallback returning candidates, not answer evidence. Pass the originating ask audit.activity_id. Retrieve the strongest selected ids before factual answers.
send_feedback
ChatGPTSuggest a Brain improvement when nothing failed: a capability you lacked, an awkward tool, or an idea the user states. Send once at the end of the task, combined. Failures go to report_issue.
skills_generate
ChatGPTAsk Brain to create a skill for the user's goal using their accessible company knowledge. Requires administrator access. Returns a private pending revision; download its files to try it locally. Approval is separate.
skills_get
ChatGPTLoad the full content for one available GuruSup Brain skill.
skills_list
ChatGPTList authorized revisions and complete manifests; follow nextCursor. Verify downloaded sizes and digests before loading. Does not activate skills.
skills_publish
ChatGPTPublish only a user-authored skill, as pending_review, when explicitly asked.
skills_read_file
ChatGPTDownload a manifest file by URI as base64, with size and SHA-256. Verify against the selected manifest. Reading does not activate or execute the skill.
skills_update
ChatGPTSave requested changes as a new pending revision; requires the skill's creator or an organization administrator with access to its knowledge. Pin revision_id; files adds/replaces, delete_paths removes, others stay. Approval is separate. On conflict, keep local edits and reconcile with the latest revision.
start_company_memory_activity
ChatGPTCreate an explicit audit activity for an advanced multi-call workflow. Normal ask calls create one when activity_id is omitted. Reuse this id only for calls answering the same question.