Call knowledge_source.add
Bring a new knowledge source into this workspace's brand knowledge base — 'add our blog as a source', 'ingest this competitor's site', 'keep this decision for everyone', 'remember this for the team', 'put what we agreed in the knowledge base'. Add a knowledge source to this workspace's brand knowledge base — a link, feed, YouTube channel, competitor handle, subreddit, an already-uploaded file, or a note: something the member asks you to save, remember or share with the team from this conversation, which every member's knowledge.search then finds. A member's chats are private to them, so a note is how a decision reaches the team; write it only when the member asks for it, never on your own. Reading a source or a note costs the workspace credits. Calling it raises the approval card showing what would be added, which is the operator's confirmation, so it can still be refused after you call it. Never say a source was added unless the result says so. Report the outcome from the result's status field, never from ingested: status 'ingested' means the source was read into the knowledge base just now; status 'catalogued' means it is saved but NOT read yet, so never claim the knowledge base already answers from it; status 'already_live' means it was ALREADY saved and read, so say it is already working and nothing needed doing — do not describe it as unread. Not for a fact about the brand itself that the member tells you (an offer, a location, a dated plan with no ask to save it for the team), which is brand_kit.suggest; not for reading one page right now without saving it — that is web.read. Over the API it answers in two calls: without confirmation_id it proposes — says what would happen, returns a confirmation_id and changes, spends and sends nothing; the same arguments again with that confirmation_id, on a member's own API key, do it.
Every result names the workspace it ran in. Say which workspace the answer is about. When the account has more than one workspace and none is selected, this tool refuses with workspace_ambiguous and lists the choices — offer them, never pick one.
Request
- Base URL: https://app.goosybear.ai
- URL: https://app.goosybear.ai/api/v1/tools/knowledge_source.add
- Auth: HTTP bearer
Headers
Your own id for this request, echoed back and recorded on the audit trail. 1–128 characters from A–Z a–z 0–9 . _ : -, starting with a letter or digit; anything else is replaced by a generated id.
Request body
Response
The call was admitted and dispatched. ok says whether the tool succeeded — a refusal the tool itself produced is still a 200, exactly as it is a successful JSON-RPC result over MCP.
Changes
No recorded changes to this operation across all 6 revisions of this API.