Knowledge Management
Guru
API integration
Ship Knowledge Management features without building the integration. Full Guru API access via Proxy and 250+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with Guru
Common scenarios for SaaS companies building Guru integrations for their customers.
Embed AI knowledge answers inside helpdesk tickets
Support platforms can let agents query their customers' Guru workspace from the ticket view to resolve issues faster without context-switching. This turns verified internal knowledge into instant ticket deflection and shorter handle times.
Capture new knowledge from solved conversations
CX and support tools can offer a 'Publish to Guru' action that converts a great agent response or resolved ticket into a draft Guru Card. This closes the KCS loop so knowledge grows automatically as teams solve problems.
Power sales enablement with real-time battle cards
Revenue intelligence and meeting tools can surface verified Guru Cards during live calls based on what the prospect is asking. Reps get accurate pricing, security, and competitive answers sourced from their company's own trusted knowledge.
Sync product and project data into Guru for unified search
PM, docs, and collaboration tools can push their records into Guru as a source so they become indexable by Guru's AI Knowledge Agents. Customers get a single AI search layer that spans your product's data alongside their broader knowledge base.
Automate knowledge freshness from product events
Feature flag, release management, or change-tracking tools can automatically unverify related Guru Cards when a product change ships. This keeps documentation trustworthy without relying on humans to remember to update it.
What You Can Build
Ship these features with Truto + Guru
Concrete product features your team can ship faster by leveraging Truto’s Guru integration instead of building from scratch.
Agent copilot sidebar
Call `create_a_guru_chat_ask` or `create_a_guru_search_cardmgr` on ticket open to render the top matching Guru Cards and an AI-synthesized answer directly in your app's side panel.
One-click Card publishing
Let end users turn any message, note, or document in your product into a Guru Card using `create_a_guru_cards_extended`, with the originating record linked for traceability.
Conversational knowledge agent embed
Build a chat UI backed by `create_a_guru_chat_thread` and `create_a_guru_thread_message` so users can have multi-turn conversations with their Guru Knowledge Agent from inside your app.
External source ingestion
Push records from your product into Guru via `guru_source_object_contents_bulk_update` so they're indexed by Guru's AI search alongside native Cards.
Auto-unverify on upstream changes
Trigger `create_a_guru_card_unverify` or `guru_cards_bulk_update` when a related entity in your product changes, so stale documentation is flagged for SME review automatically.
Announcements and tasks feed
Pull `list_all_guru_announcements` and `list_all_guru_tasks_mentions` to surface pending knowledge tasks and company announcements inside your intranet, portal, or dashboard.
SuperAI
Guru AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_guru_aievaluations
List AI evaluations in Guru. Returns the evaluation records including id and dateCreated.
create_a_guru_aievaluation
Create an AI evaluation in Guru by submitting a JSON payload. Returns the created record including id and dateCreated.
get_single_guru_aievaluation_by_id
Get a single AI evaluation in Guru by id. Returns the AI evaluation record including its id; the API reference does not enumerate further response fields for this endpoint. Required: id.
delete_a_guru_aievaluation_by_id
Delete an AI evaluation in Guru by id. Returns an empty 204 response on success. Required: id.
create_a_guru_aievaluations_delete
Bulk delete AI evaluations in Guru by submitting a JSON request body to the bulk-delete endpoint. Returns an empty 204 response on success. Required: a JSON request body whose fields follow Guru's AiEvaluationBulkDeleteRequest schema (the source docs reference the schema by name but do not enumerate its fields).
list_all_guru_aievaluations_exports
Export AI evaluations from Guru as a CSV file. Returns the raw CSV-formatted export text (a text/csv payload whose columns are not enumerated in the API docs). No required parameters.
list_all_guru_aievaluation_results
List the results of a Guru AI evaluation. Returns each result record with its id and the upstream AiEvaluationResult attributes (fields are defined by the evaluation type). Required: evaluation_id.
list_all_guru_team_analytics
List analytics events for a Guru team. Returns up to 500 events per page, each with id, eventType, user, and eventDate; optional fromDate and toDate narrow the date range. Required: team_id.
get_single_guru_analytics_summarized_by_id
Get summarized analytics for a card in a Guru team, optionally filtered by group, date range, and event types. Returns: id, attributes (the summary fields, whose shape is defined by the upstream AnalyticsSummary schema and is not enumerated in the docs). Required: id (the team id) and cardId.
list_all_guru_announcements
List Guru team announcements owned by the authenticated user. Returns announcement records including their id; the remaining announcement fields are not enumerated in the Guru API reference. Max 50 per page.
create_a_guru_announcement
Create a new announcement in Guru. Returns the created announcement record including its id; the remaining announcement fields are not enumerated in the Guru API reference.
get_single_guru_announcement_by_id
Get the full Guru announcement by id. Returns the announcement record including its id; the remaining announcement fields are not enumerated in the Guru API reference. Required: id.
delete_a_guru_announcement_by_id
Delete a Guru announcement by id. Returns an empty 204 response on success. Required: id.
list_all_guru_announcements_delegateds
List delegated announcements in Guru, returning all announcements owned by the authenticated user. Returns announcement records including id. Maximum of 50 announcements per page.
create_a_guru_announcement_export
Initiate an export of user details for a Guru announcement. Returns the bulk operation response object acknowledging the export was queued; Guru's docs do not enumerate its fields, and the exported results are delivered by email when available rather than returned inline. Required: announcement_id.
guru_announcement_reads_bulk_update
Mark a Guru announcement as read for the authenticated user. Returns an empty 204 response on success. Required: announcement_id.
create_a_guru_announcement_remind
Send announcement reminders to any users who have not yet read the announcement in guru. Returns an empty 204 response on success. Required: announcement_id.
get_single_guru_stats_full_by_id
Get full stats for a Guru announcement by id. Returns the aggregated announcement stats object — an id plus stats-specific attributes whose exact keys are not enumerated in the source. Required: id.
get_single_guru_stats_summary_by_id
Get the stats summary for a Guru announcement by id. Returns the announcement's aggregate stats summary object with stat fields defined upstream by Guru. Required: id.
list_all_guru_stats_users
List per-user stats for a Guru announcement. Returns a JSON array of AnnouncementUser records, each with an id and an attributes object — the upstream docs define the AnnouncementUser schema but do not enumerate its fields. Required: announcement_id.
create_a_guru_answer
Create a new answer in Guru. Returns the created answer object including its id.
delete_a_guru_answer_by_id
Archive an answer in guru by id. Returns an empty 204 response on success. Required: id.
guru_answers_restore
Restore an archived answer in Guru by id. Returns the restored answer object including its id. Required: answer_id.
guru_answers_assign
Assign a Guru answer to an expert. Returns the updated answer object including its id. Required: answer_id.
guru_answers_unassign
Unassign a Guru answer from its assigned expert. Returns the updated answer object including its id. Required: answer_id.
create_a_guru_answers_minimal
Create a minimal answer in Guru by posting a JSON payload to the answers-minimal endpoint. Returns: id, openapi, info, externalDocs, servers, tags, paths, components, x-original-swagger-version.
create_a_guru_answers_stream
Create an answer for a specific question in Guru with streaming. Returns a server-sent event stream (text/event-stream) carrying the ChatThread created for the answer — an event stream to consume incrementally, not a single JSON object. Requires the question payload in the request body (Guru's shared AnswerQuerySpec used by its ask-a-question endpoints).
list_all_guru_answer_boosteddocuments
List the boosted documents for a Guru Answer — the documents Guru matched to the answer's question. Returns each matched document record including id plus document attributes defined by Guru's upstream Document schema. Required: answer_id (the Answer's id).
list_all_guru_answer_relevantunverifieddocuments
List the relevant unverified documents for an answer in Guru. Returns an array of matching document records, each with an id and content-type-specific attributes (fields per Guru's upstream Document schema). Required: answer_id (ID of the answer).
list_all_guru_openapis
Fetch the OpenAPI specification document that describes every Guru API endpoint. Returns the document's openapi version, info metadata, and paths operation definitions, plus optional components and servers sections. Takes no parameters.
list_all_guru_swaggers
Get the raw Swagger document describing the Guru API. Returns the full Swagger JSON specification as-is; its contents track the live API surface and are not enumerated field-by-field. Takes no parameters.
delete_a_guru_card_by_id
Delete a card in guru by its id. Returns an empty 204 response on success. Required: id.
guru_cards_bulk_update
Verify a card in guru by its id. Returns an empty 204 response on success. Required: card_id.
list_all_guru_card_comments
List the undeleted comments on a Guru card. Returns each comment's id, status (OPEN or RESOLVED), and content. Required: card_id. Max 25 per page.
update_a_guru_card_comment_by_id
Update a comment on a Guru card by id. Returns the updated comment with id, status (OPEN or RESOLVED), and content. Required: card_id, id, content.
delete_a_guru_card_comment_by_id
Delete a comment on a Guru card by id. Returns an empty 204 response on success. Required: card_id and id.
create_a_guru_card_comment
Add a comment to a Guru card. Returns the created comment with id, content, and dateCreated. Required: card_id and content.
get_single_guru_card_comment_by_id
Get a single comment on a Guru card by id. Returns the comment's id, content, and dateCreated. Required: card_id and id.
list_all_guru_comment_replies
List all replies to a comment on a Guru card. Returns an array of reply objects with id, content, and author. Required: card_id, comment_id. Up to 25 replies per page; use paging to fetch more.
create_a_guru_comment_reply
Create a new reply to a comment on a Guru card. Returns the created reply object with id, content, and author. Required: card_id, comment_id.
update_a_guru_comment_reply_by_id
Update a reply to a comment on a Guru card by id. Returns the updated reply object with id, content, and author. Required: id, card_id, comment_id.
delete_a_guru_comment_reply_by_id
Delete a reply to a comment on a Guru card by id. Returns an empty 204 response on success. Required: id, card_id, comment_id.
guru_comment_resolves_bulk_update
Resolve a card comment in Guru by setting its status to resolved. Returns an empty 204 response on success. Required: card_id, comment_id.
guru_comment_unresolves_bulk_update
Unresolve a comment on a Guru card, setting the comment's status back to open. Returns an empty 204 response on success. Required: card_id, comment_id.
list_all_guru_card_verifiers
List the verifiers assigned to a Guru card. Returns an array of verifier records with schema-specific fields defined upstream (the Guru reference does not enumerate the UserVerifier fields). Requires card_id.
create_a_guru_card_verifier
Replace a Guru card's verifiers — the supplied verifier list is created and all existing verifiers are deleted. Returns the resulting verifier collection with schema-specific fields defined upstream (the Guru reference does not enumerate them). Requires card_id and a JSON array of verifier objects.
get_single_guru_card_verifier_by_id
Get a verifier assigned to a Guru card by id. Returns: id, dateCreated, type, user. Requires card_id and id (the verifier's email address).
create_a_guru_cards_extended
Create a card in Guru and return it with extended fact data, including the card's boards (teams) and collaborators. Returns: id, content, preferredPhrase, collection, boards, collaborators, verifiers, tags, shareStatus, verificationState, verificationReason, verificationReasons, verificationInterval, verificationType, nextVerificationDate, lastVerified, lastVerifiedBy, verificationInitiator,…
list_all_guru_cards_verificationmgrs
List unverified cards in Guru that are accessible to the authenticated user, for triaging card verification. Returns each card's id, title, verificationState, dateCreated, lastModified, and view/copy/favorite/follower/board counts. A maximum of 50 cards is returned per response.
list_all_guru_card_archivesettings
Get the scheduled archival settings for a Guru card. Returns the scheduled archival settings object (Guru's ScheduleArchivalResponse) when a schedule exists, or an empty 204 response when the card has no scheduled archival. Required: card_id and cardId (the card's ID).
guru_card_archivesettings_bulk_update
Schedule a Guru card to be archived at a future date. Returns the scheduled archival settings object (Guru's ScheduleArchivalResponse). Required: card_id and cardId (the card's ID), plus a required JSON schedule archival request body; invalid or past dates are rejected.
guru_card_archivesettings_bulk_delete
Cancel the scheduled archival for a Guru card. Returns an empty 204 response on success. Required: card_id and cardId (the card's ID).
list_all_guru_card_boards
List the boards a card belongs to in Guru. Returns board records including their id and attributes holding the board's upstream fields. Required: card_id.
get_single_guru_card_extended_by_id
Get a single Guru card with extended details — loads the card together with its teams and collaborators. Returns the card object including id, content, preferredPhrase (title), verificationState, boards, and collaborators. Required: id (the card's ID). Only up to 25 teams or collaborators are included per response; if more exist, the remainder is available on a next page.
guru_card_extendeds_bulk_update
Update a Guru card's content and settings, including its verifiers, in a single call. Returns the updated Card object with id, preferredPhrase, content, shareStatus, tags, verifiers, and verification state. Required: card_id, content, preferredPhrase. Omitting tags removes all existing tags from the card; shareStatus TEAM makes it team shared, PRIVATE restricts it to the owner.
list_all_guru_card_favoritelists
List the favorite lists in Guru that contain a specific card. Returns an array of favorite list objects. Required: card_id.
list_all_guru_card_folders
List the Guru folders a given card is organized under. Returns folder records with folder-specific fields (id plus content-specific attributes). Required: card_id.
create_a_guru_card_unverify
Unverify a card in Guru by marking the card with the given id as unverified, moving it back to the unverified state. Required: card_id.
list_all_guru_card_versions
List a Guru card's version history. Returns the list of recorded versions for the card, reflecting each revision made as the card is updated. Required: card_id.
get_single_guru_card_version_by_id
Get a specific historical version of a Guru card by id. Returns the card version snapshot including its id, content, version, preferredPhrase, and lastModified. Required: card_id and id.
create_a_guru_chat_ask
Ask a question to Guru and get an answer drawn from your team's knowledge. Returns the answer record for the submitted question. Note: writes through the Guru API require a User token — read-only Collection tokens cannot be used for this call.
create_a_guru_chat_ask_async
Ask a question asynchronously in Guru. Returns the chat answer object including its answer, status (COMPLETE, PENDING, or ERRORED), answerId, chatThreadId, turnId, and sources. Requires a JSON body with the question; while the answer is still processing the API returns 202 instead of the final result, so poll the question-ask operation until it reaches a final state.
get_single_guru_chat_ask_async_by_id
Get the result of an async ask operation in Guru. Returns the generated answer with its answer, status (COMPLETE, PENDING, or ERRORED), answerId, chatThreadId, turnId, sources, knowledgeAgent, and classification. Required: thread_id and id. A 202 response means the answer is still pending and can be polled again.
create_a_guru_chat_knowledge_agent_route
Route a chat question to a Guru knowledge agent. Sends the question as a JSON request body and returns the knowledge agent's response.
create_a_guru_message_action
Perform an action on a Guru chat message. Returns the resulting chat message object including its id, content, and type. Required: message_id and the action request body; invalid requests or unknown actions are rejected with 400.
list_all_guru_chat_plans
List chat plans in Guru. Returns each chat plan record including its id.
create_a_guru_chat_plan
Create a chat plan in Guru. Returns the created chat plan record including its id.
update_a_guru_chat_plan_by_id
Update a chat plan in Guru by id. Returns the updated chat plan record including its id. Required: id.
delete_a_guru_chat_plan_by_id
Delete a chat plan in Guru by id. Returns an empty 204 response on success. Required: id.
guru_chat_plans_pause
Pause a chat plan in Guru by its plan id. Returns the chat plan record including its id. Required: plan_id.
guru_chat_plans_resume
Resume a chat plan in Guru, continuing its execution from where it left off. Returns the resumed chat plan object. Required: plan_id.
list_all_guru_chat_threads
List Guru chat threads (conversations with the Guru AI assistant) for the connected workspace. Note: this endpoint is not in Guru's public API reference, so its parameters and response shape are unverified; expect thread records with an id. Takes no required parameters.
create_a_guru_chat_thread
Create a new chat thread in Guru. Returns an empty 204 response on success.
get_single_guru_chat_thread_by_id
Get a single Guru chat thread by id. Returns the chat thread record identified by its id; Guru IDs are UUID-formatted strings (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). Required: id.
update_a_guru_chat_thread_by_id
Update a chat thread in Guru by id. Returns an empty 204 response on success. Required: id.
delete_a_guru_chat_thread_by_id
Delete a chat thread in Guru by id. Returns an empty 204 response on success. Required: id.
list_all_guru_threads_reviews
List Guru chat threads queued for review. Returns review-ready chat thread records for the workspace, filterable by date range, group IDs, asker email, search assistant, plan, and sort direction. All filters are optional; no required parameters.
get_single_guru_thread_event_by_id
Get the chat message in a Guru chat thread that corresponds to a given agent event. Returns: id, content, role, dateCreated, chatMode, type, turnId, metadata, approvalAction, mcpToolApprovals, answerMode, documents, operatorMode. Required: id (the agent event id) and thread_id.
list_all_guru_collections
List all collections in Guru that are accessible to the authenticated user, including only undeleted collections. Returns each collection's id, created_at, and updated_at.
create_a_guru_collection
Create a new collection in Guru. Returns the created collection object including its id, created_at, and updated_at.
get_single_guru_collection_by_id
Get a single collection in Guru by id. Returns the collection record including its id plus collection-specific attribute fields defined upstream. Required: id.
update_a_guru_collection_by_id
Update an existing collection in Guru by id. Returns the updated collection object. Required: id.
delete_a_guru_collection_by_id
Delete a collection in Guru by id. Returns an empty 204 response on success. Required: id.
list_all_guru_collections_pinned_collections
List the collections the authenticated user has pinned in Guru. Returns: id, name, dateCreated.
list_all_guru_collection_authors
List the user groups that have author access to a Guru collection, optionally filtered by group name. Returns group records with id, name, numberOfMembers and role. Required: collection_id.
list_all_guru_collection_groups
List the user groups that have access to a Guru collection, with the role each group holds. Returns group records with id, name, numberOfMembers and role. Required: collection_id.
create_a_guru_collection_group
Give a group access to a collection in Guru. Requires collection_id, the id of the collection the group is being added to.
update_a_guru_collection_group_by_id
Update a group's access to a collection in Guru. Returns a success confirmation from the API; no response body fields are documented upstream. Required: collection_id (the collection's ID) and id (the group's ID).
delete_a_guru_collection_group_by_id
Delete a group's access to a collection in Guru. Returns an empty 204 response on success. Required: collection_id and id.
create_a_guru_collection_pin
Pin a Guru collection, adding it to the user's pinned collections list. Returns an empty 204 response on success. Required: collection_id (the id of the collection to pin).
create_a_guru_collection_unpin
Unpin a collection in Guru by removing it from the team's pinned collections. Returns an empty 204 response on success. Required: collection_id.
list_all_guru_comments
List Guru comment threads across all cards visible to the current user, ordered most recently active first. Returns an array of thread results, each with an id and schema-specific attributes holding a top-level comment plus all of its replies.
list_all_guru_search_drafts
Search Guru card drafts with a search payload posted in the request body. Note: this endpoint is not in Guru's public API reference, so its parameters and response shape are unverified; the documented alternative is search_queries.list with queryType=draft. Takes no required parameters.
list_all_guru_folders
List folders in Guru. Returns all undeleted folders the current user has access to, including their id and title. A maximum of 110 folders per page.
create_a_guru_folder
Create a folder in Guru. Returns the created folder object including its id and title. Required: title.
get_single_guru_folder_by_id
Get a single Guru folder by id, including its cards and sections. Pass the homeBoardSlug from the collection's response as id to return the collection's Home Folder, the structure listing the folders it contains. Required: id.
update_a_guru_folder_by_id
Update a Guru folder by id. Returns the updated folder object including its id, title, description, collection, lastModified, slug, and numberOfFacts. Required: id.
delete_a_guru_folder_by_id
Delete a Guru folder by id. Returns an empty 204 response on success. Required: id.
list_all_guru_search_folders
Search Guru folders accessible to the current user. Returns matching folder objects including id, title, description, slug, collection, and numberOfFacts.
list_all_guru_folder_effectivepermissions
Get the effective permissions applied to a folder in guru, including permissions configured on the folder itself and those inherited from folders higher up in the hierarchy. Returns permission records with id and upstream permission attributes. Required: folder_id.
list_all_guru_folder_items
List the cards and folders that live directly within a Guru folder. Returns each folder item object including its id and card- or folder-specific attributes. Required: folder_id. Max 50 items per page.
get_single_guru_folder_parent_by_id
Get the parent folder of a folder in Guru. Returns the parent folder object including id, title, description, slug, lastModified, lastModifiedBy, and numberOfFacts. Required: id.
get_single_guru_folder_pdf_by_id
Export a Guru folder as a PDF. Returns the folder rendered as a downloadable PDF file rather than a JSON object. Required: id (the folder's id). Requests can take up to 2 minutes before timing out.
list_all_guru_kcs
List kcs records from Guru. Returns card records including id, title, content, verificationState, and dateCreated.
create_a_guru_kc
Create a KCS entry in Guru by sending a JSON request body. Returns the created KCS entry object as JSON.
delete_a_guru_kc_by_id
Delete a KCS record in Guru by id. Required: id. Returns an empty 204 response on success.
update_a_guru_kcs_app_by_id
Enable a ticket linking platform for Guru's Knowledge-Centered Service. Returns the updated list of enabled platform types (ZENDESK, LIVEPERSON, SALESFORCE). Required: id (the ticketing platform type to enable).
delete_a_guru_kcs_app_by_id
Disable a ticket linking platform for Guru's Knowledge-Centered Service. Returns an empty 204 response on success. Required: id (the ticketing platform type to disable: ZENDESK, LIVEPERSON, or SALESFORCE).
list_all_guru_kcs_apps
List the ticket linking platforms currently enabled for Guru's Knowledge-Centered Service. Returns an array of enabled platform types (ZENDESK, LIVEPERSON, SALESFORCE).
list_all_guru_knowledgeagents
List Knowledge Agents (assistants) in guru. Returns the collection of knowledge agent records, each including its id.
create_a_guru_knowledgeagent
Create a new Knowledge Agent in guru. Returns the created knowledge agent record including its id. Sends a JSON request body; the upstream documentation does not enumerate its fields.
get_single_guru_knowledgeagent_by_id
Get a single Knowledge Agent in guru by id. Returns the knowledge agent record including its id. Required: id.
update_a_guru_knowledgeagent_by_id
Update an existing Knowledge Agent (assistant) in Guru by id. Returns the updated agent's id and its configuration attributes. Required: id.
delete_a_guru_knowledgeagent_by_id
Delete a Knowledge Agent in Guru by its id. Returns an empty 204 response on success. Required: id.
list_all_guru_knowledgeagents_routing_metadatas
List routing metadata for all Knowledge Agents (KAs) accessible to the caller in Guru. Returns per-agent routing records including id and an attributes object holding the agent's routing metadata.
list_all_guru_knowledgeagent_accessiblesources
List the sources a Knowledge Agent in guru can access. Returns the KnowledgeAgentAccessibleSources payload — the collection of accessible sources returned by the upstream API; its field names are defined in Guru's OpenAPI schema and not enumerated in the available documentation. Required: agent_id.
get_single_guru_knowledgeagent_config_by_id
Get a Guru Knowledge Agent's configuration by id. Returns the Knowledge Agent Config, whose attributes include the read-only model and miniModel fields; the remaining fields are schema-specific to Guru's KnowledgeAgentConfig. Required: id.
guru_knowledgeagent_configs_bulk_update
Update a Guru Knowledge Agent's configuration by agent_id with a Knowledge Agent Config body. Returns the updated config, whose attributes include the read-only model and miniModel fields; the remaining fields are schema-specific to Guru's KnowledgeAgentConfig. Required: agent_id and the config body. model, miniModel, and the fallback model fields are read-only — submitted values are ignored.
list_all_guru_config_versions
List the config version history for a Knowledge Agent in Guru, newest first. Returns config version records including their id. Required: agent_id.
get_single_guru_config_version_by_id
Get a single config version of a Knowledge Agent in Guru by version id. Returns the config version record including its id. Required: agent_id and id.
list_all_guru_knowledgeagent_experts
List the users and groups that an answer from a Guru Knowledge Agent can be assigned to. Returns collaborator entries with: id, type. Required: agent_id.
list_all_guru_knowledgeagent_groups
List the groups associated with a Knowledge Agent in guru. Returns the groups' access records for the agent. Required: agent_id.
create_a_guru_knowledgeagent_group
Grant a user group access to a Guru Knowledge Agent with a role of ADMIN, EXPERT or VIEWER. Returns the created access record with group, role and objectRole. Required: agent_id, group, role.
update_a_guru_knowledgeagent_group_by_id
Change the role a user group holds on a Guru Knowledge Agent (ADMIN, EXPERT or VIEWER). Returns the updated access record with group, role and objectRole. Required: agent_id, id (the group id), role.
delete_a_guru_knowledgeagent_group_by_id
Delete a group's access to a Knowledge Agent in Guru by removing the group from the agent. Returns an empty 204 response on success. Required: agent_id and id.
list_all_guru_knowledgeagent_guardrails
List the guardrails configured on a Knowledge Agent in Guru. Returns an array of KnowledgeAgentGuardrail objects, each including its id and name — Guru's docs reference the full guardrail schema without publishing its remaining field list. Required: agent_id.
create_a_guru_knowledgeagent_guardrail
Create a new guardrail on a Knowledge Agent in Guru. Returns the created KnowledgeAgentGuardrail object including its id and name — Guru's docs reference the full guardrail schema without publishing its remaining field list. Requires agent_id and a KnowledgeAgentGuardrail request body.
update_a_guru_knowledgeagent_guardrail_by_id
Update an existing guardrail on a Knowledge Agent in Guru. Returns the updated KnowledgeAgentGuardrail object including its id and name — Guru's docs reference the full guardrail schema without publishing its remaining field list. Requires agent_id, id, and a KnowledgeAgentGuardrail request body.
delete_a_guru_knowledgeagent_guardrail_by_id
Delete a guardrail from a Knowledge Agent in Guru. Returns an empty 204 response on success. Required: agent_id and id.
get_single_guru_knowledgeagent_guardrail_by_id
Get a single guardrail by id on a Knowledge Agent in Guru. Returns the KnowledgeAgentGuardrail object including its id. Required: agent_id and id.
create_a_guru_knowledgeagent_image
Upload an image for a Knowledge Agent in Guru, attaching it to the agent specified by agent_id. Required: agent_id.
guru_knowledgeagent_images_bulk_delete
Delete the image of a knowledge agent in Guru. Returns an empty 204 response on success. Required: agent_id.
list_all_guru_knowledgeagent_mcps
List the external MCP servers configured for a Guru Knowledge Agent. Returns an array of MCP server records, each identified by its id. Required: agent_id.
create_a_guru_knowledgeagent_mcp
Add an external MCP server to a Guru Knowledge Agent. Returns the added MCP server record, including its id. Required: agent_id and an MCP server configuration body.
update_a_guru_knowledgeagent_mcp_by_id
Update an external MCP server's configuration for a Guru Knowledge Agent. Returns the updated MCP server record, including its id. Required: agent_id, id, and an MCP server configuration body.
delete_a_guru_knowledgeagent_mcp_by_id
Remove an external MCP server from a Guru Knowledge Agent. Returns an empty 204 response on success. Required: agent_id and id.
get_single_guru_knowledgeagent_mcp_context_by_id
Get the MCP context for a routed Knowledge Agent in Guru. Returns the agent's MCP context as an opaque JSON payload whose fields are not enumerated in Guru's documentation. Required: id (the Knowledge Agent ID).
list_all_guru_mcp_status
Get MCP status for a Guru Knowledge Agent, including user connection status for its MCP servers. Returns an array of status records with id and upstream-defined attributes. Required: agent_id.
create_a_guru_knowledgeagent_migrate
Trigger a migration for a Knowledge Agent in guru, identified by its Knowledge Agent id. Returns an empty 204 response on success. Required: agent_id.
list_all_guru_knowledgeagent_pages
List the pages of a Guru Knowledge Agent. Returns the collection of pages belonging to the specified Knowledge Agent. Required: agent_id.
get_single_guru_knowledgeagent_qualityconfig_by_id
Get the quality configuration for a Knowledge Agent in Guru by id. Returns the agent's quality configuration object with settings-specific fields defined by Guru. Required: id.
guru_knowledgeagent_qualityconfigs_bulk_update
Update the quality configuration for a Knowledge Agent in Guru. Returns the agent's quality configuration object with settings-specific fields defined by Guru. Required: agent_id and a JSON quality configuration payload.
create_a_guru_qualityconfig_execute
Execute the quality configuration for a Knowledge Agent in Guru, triggering its configured quality checks. Returns an empty 204 response on success. Required: agent_id.
list_all_guru_qualityconfig_rules
List quality rules configured for a Knowledge Agent in guru. Returns quality rule objects including their id and name. Required: agent_id.
create_a_guru_qualityconfig_rule
Create a quality rule for a Knowledge Agent in guru by mode. Returns the created quality rule including its id and name. Required: agent_id, mode, and a QualityRule request body.
update_a_guru_qualityconfig_rule_by_id
Update a quality rule for a Knowledge Agent in guru. Returns the updated quality rule including its id and name. Required: agent_id, id, and a QualityRule request body.
delete_a_guru_qualityconfig_rule_by_id
Delete a quality rule by id for a Knowledge Agent in guru. Returns an empty 204 response on success. Required: agent_id and id.
get_single_guru_qualityconfig_rule_by_id
Get a single quality rule by id for a Knowledge Agent in guru. Returns the quality rule including its id. Required: agent_id and id.
create_a_guru_rules_revert
Revert a Knowledge Agent's quality rules back to their default settings in Guru. Returns the reverted quality rules as an array, including each rule's id and name. Required: agent_id, mode (one of VERIFY, UNVERIFY, or ARCHIVE).
get_single_guru_knowledgeagent_setup_by_id
Get the setup for a Knowledge Agent in Guru by id. Returns the setup record's id and setup attributes whose fields are defined by Guru's KnowledgeAgentSetup schema. Required: id (Knowledge Agent ID).
list_all_guru_knowledgeagent_skills
List all skills configured on a Guru Knowledge Agent. Returns skill records with id and attributes (the KnowledgeAgentSkill fields defined in Guru's API reference; not enumerated in the source docs). Required: agent_id.
create_a_guru_knowledgeagent_skill
Create a skill on a Guru Knowledge Agent. Returns the created skill record: id and attributes (the KnowledgeAgentSkill fields defined in Guru's API reference; not enumerated in the source docs). Required: agent_id.
update_a_guru_knowledgeagent_skill_by_id
Update a skill on a Guru Knowledge Agent by id. Returns the updated skill record: id and attributes (the KnowledgeAgentSkill fields defined in Guru's API reference; not enumerated in the source docs). Required: agent_id, id.
delete_a_guru_knowledgeagent_skill_by_id
Delete a skill from a Guru Knowledge Agent by id. Returns an empty 204 response on success. Required: agent_id, id.
guru_knowledgeagent_skills_disable
Disable a skill on a Guru Knowledge Agent by skill_id. Returns the skill record including id. Required: agent_id, skill_id.
guru_knowledgeagent_skills_enable
Enable a skill on a Knowledge Agent in guru. Returns the enabled skill record including its id and upstream-defined skill attributes. Required: agent_id, skill_id.
get_single_guru_knowledgeagent_skill_by_id
Get a single skill on a Knowledge Agent in guru by id. Returns the skill record including its id and upstream-defined skill attributes. Required: id, agent_id.
list_all_guru_knowledgeagent_skills_access_availables
List the users and groups eligible for skill access on a Guru Knowledge Agent. Returns a paged array of team entities, each with an id and a type distinguishing users from groups. Required: agent_id.
list_all_guru_skill_acceses
List skill access records for a Knowledge Agent skill in Guru. Returns records with id and access-specific fields under attributes. Required: agent_id, skill_id.
create_a_guru_skill_accese
Create a skill access record for a Knowledge Agent skill in Guru. Returns the created record with id and access-specific fields under attributes. Required: agent_id, skill_id. Body fields are not enumerated in the upstream documentation.
delete_a_guru_skill_accese_by_id
Delete a skill access entry for a Guru Knowledge Agent, removing the access granted on the specified skill. Returns an empty 204 response on success. Required: id, agent_id, skill_id.
list_all_guru_skill_files
List all files attached to a Knowledge Agent Skill in guru. Returns each skill file record: id plus an attributes object holding the content-type-specific file fields. Required: agent_id, skill_id.
create_a_guru_skill_file
Create a file on a Knowledge Agent Skill in guru. Returns the created skill file object: id plus an attributes object holding the content-type-specific file fields. Required: agent_id, skill_id, and the skill file payload as the request body.
update_a_guru_skill_file_by_id
Update a skill file on a Knowledge Agent Skill in guru. Returns the updated skill file object: id plus an attributes object holding the content-type-specific file fields. Required: agent_id, skill_id, id, and the skill file payload as the request body.
delete_a_guru_skill_file_by_id
Delete a skill file from a Knowledge Agent Skill in guru. Returns an empty 204 response on success. Required: agent_id, skill_id, id.
get_single_guru_skill_file_by_id
Get a single skill file by id from a Knowledge Agent Skill in guru. Returns the skill file record: id plus content-type-specific file attributes. Required: agent_id, skill_id, id.
list_all_guru_file_versions
List the version history of an inline Knowledge Agent Skill file in Guru, returned newest first. Returns each version's id, status, and dateCreated. Required: agent_id, skill_id, file_id.
get_single_guru_file_version_by_id
Get a single inline skill file version by id in Guru. Returns the skill file version object, including its id. Required: id (the version id), agent_id, skill_id, and file_id.
list_all_guru_skill_versions
List the version history for a skill on a Guru Knowledge Agent, newest first. Returns skill version records with an id and attributes (schema-specific version fields). Required: agent_id, skill_id.
get_single_guru_skill_version_by_id
Get a single skill version by id for a skill on a Guru Knowledge Agent. Returns the skill version record with an id and attributes (schema-specific version fields). Required: agent_id, skill_id, id.
list_all_guru_answersubscriptions
List answer subscriptions for a Knowledge Agent's Slack setup in guru. Returns: id, dateCreated, dateUpdated, openapi, info, externalDocs, servers, tags, paths, components, x-original-swagger-version. Required: agent_id, slack_setup_id.
create_a_guru_answersubscription
Create an answer subscription for a Knowledge Agent's Slack setup in guru. Returns: id, dateCreated, dateUpdated, openapi, info, externalDocs, servers, tags, paths, components, x-original-swagger-version. Required: agent_id, slack_setup_id.
create_a_guru_answersubscription_setting
Update a Slack Answer Channel Subscription's per-channel response settings in guru. Returns an empty 204 response on success. Required: agent_id, slack_setup_id, answersubscription_id, and a JSON body of per-channel response settings.
list_all_guru_channels
List the Slack channels connected to a Guru Knowledge Agent's Slack setup. Returns the collection of channels linked to that setup. Required: agent_id, slack_setup_id.
create_a_guru_knowledgeagent_testprompt
Run a test prompt against a Guru knowledge agent to check how it responds. Returns the prompt test result object with agent-specific fields (the upstream API does not enumerate the response shape). Required: agent_id.
list_all_guru_knowledgeagent_urls
List the URLs configured as sources for a Guru Knowledge Agent. Returns each URL record with its id and url. Required: agent_id.
create_a_guru_knowledgeagent_url
Add a URL as a source for a Guru Knowledge Agent. Returns the created URL record with its id and url. Required: agent_id.
update_a_guru_knowledgeagent_url_by_id
Update a URL attached to a Knowledge Agent in Guru. Returns the updated URL record including its id. Required: id (the URL record id) and agent_id (the Knowledge Agent id). Send the updated fields in the JSON body.
delete_a_guru_knowledgeagent_url_by_id
Delete a URL from a Guru knowledge agent by id. Returns an empty 204 response on success. Required: agent_id and id.
list_all_guru_navigationpins_pinnableobjects
List the guru objects that can be pinned to navigation. Returns an array of pinnable object records, each with its id and an attributes object containing the upstream-defined fields of the pinnable object.
list_all_guru_navigationpins_users
List the navigation pins saved by the authenticated user in Guru. Returns each pin record including its id.
create_a_guru_navigationpins_user
Create a navigation pin for the authenticated user in Guru. Returns the created pin record including its id.
update_a_guru_navigationpins_user_by_id
Update a navigation pin for the authenticated user in Guru. Returns the updated pin record including its id. Required: id.
delete_a_guru_navigationpins_user_by_id
Delete a navigation pin for the authenticated user in Guru. Returns an empty 204 response on success. Required: id.
list_all_guru_navigationpins_workspaces
List the navigation pins configured for the workspace in guru. Returns the collection of navigation pin records available to the authenticated user's workspace.
create_a_guru_navigationpins_workspace
Create a navigation pin on a workspace in Guru. Returns the created navigation pin record including its id. The request takes a JSON body; Guru's API reference does not enumerate its field-level payload.
update_a_guru_navigationpins_workspace_by_id
Update the navigation pins for a Guru workspace. Returns the updated record with its id. Required: id.
delete_a_guru_navigationpins_workspace_by_id
Delete the navigation pins for a Guru workspace. Returns an empty 204 response on success. Required: id.
create_a_guru_oauthclient_logo_url
Upload a logo image for a Guru OAuth client as a multipart/form-data file. Returns the updated OAuthClient including its id, logoUrl, and remaining client attributes. Required: client_id and logo.
get_single_guru_people_by_id
Get the profile for a specific person in Guru. Returns the person's profile with content-type-specific fields defined by Guru's People API. Required: id.
update_a_guru_people_by_id
Update the profile for a person in guru. Sends the profile changes as a JSON body and returns the updated profile's id. Required: id.
list_all_guru_directreports
List all users that report directly to the specified user in Guru. Returns each direct report as a person record with userId, displayName, manager, deleted, and startDate. Required: user_id.
list_all_guru_quality_runs
List quality runs in Guru. Returns each run's id, created_at, and updated_at.
guru_quality_runs_revert
Revert a quality run in Guru by id. Returns the reverted run's id, created_at, and updated_at. Required: run_id.
create_a_guru_runs_simulate
Simulate a quality agent run for a specific document in Guru. Returns the quality agent simulation response with schema-specific fields defined by Guru's QualityAgentSimulationResponse. Required: type, simulate_id, and id (the document ID); a JSON request body is required.
list_all_guru_agents
List the agents included in a specific Guru quality run simulation. Returns agent records with their id. Required: type, simulate_id.
list_all_guru_run_details
List the detail records of a quality agent run in Guru. Each entry is a QualityAgentRunDetail record, returned as id plus an attributes object (the upstream field set is not enumerated in the reference docs). Required: run_id.
get_single_guru_run_detail_by_id
Get the quality agent run detail for a specific document in Guru. Returns the QualityAgentRunDetail record as id plus an attributes object (the upstream field set is not enumerated in the reference docs). Required: run_id, mode (VERIFY, UNVERIFY, or ARCHIVE), type (GURU, SOURCE, GURU_ATTACHMENT, WEB, or MCP), and id (the document ID).
list_all_guru_roles
List the roles available in Guru. Returns a JSON array of role records, each with its id and name.
list_all_guru_roles_permissions
List the roles and their permissions available in Guru. Returns an array of role objects, each including its id.
list_all_guru_search_cardmgrs
Search for Guru cards matching a query and return the matching card records. Returns card fields such as id, phrase, content, verificationState, collection, and tags. A maximum of 50 cards is returned per call; when more results exist, a link to the next page is included in the Link header.
create_a_guru_search_cardmgr
Search Guru cards with a structured JSON query (the Card Manager query language): filter by title, tag, owner, verifier, verification state, folder ids, collection ids, dates and more, combined with search terms, sorting and paging. Returns up to 50 cards per page (id, preferredPhrase, content, verificationState, collection, owner, lastModified, tags, boards); the next page is linked via the Link header and the token parameter.
list_all_guru_search_documents
Search across Guru and your connected Sources. Returns a search result whose fields Guru publishes as a named schema without enumerating them in the public reference.
create_a_guru_search_document
Search across Guru and your connected Sources by posting a JSON query specification. Returns a document search result whose fields Guru publishes as a named schema without enumerating them in the public reference. Requires a SearchQuerySpec JSON body.
list_all_guru_search_queries
Search Guru cards by free-text query and search terms, with optional sorting, archived-card inclusion and card attributes. Returns up to 50 cards per page (id, preferredPhrase, content, verificationState, collection, owner, lastModified, tags, boards); the next page is linked via the Link header and the token parameter.
create_a_guru_search_sourcemgr
Search source records accessible to the user in Guru by submitting a JSON search query in the request body. Returns the DocumentSearchResponse payload, whose field-level structure is defined in Guru's upstream API reference; supply the query spec (SearchQuerySpec) as the JSON body.
list_all_guru_filters_sources
List the sources available to filter search results in Guru's Search with Sources API. Returns a source record including its id. No required parameters.
list_all_guru_sources_groups
List source groups in Guru. Returns the collection of source groups, each with its id and name.
get_single_guru_sources_group_by_id
Get a single source group in Guru by id. Returns the source group object with its id and source-group-specific attributes. Required: id.
list_all_guru_source_objecttypes
List the object types defined for a source in Guru. Returns each object type record including its id and source-specific attributes. Required: source_id.
update_a_guru_objecttype_object_by_id
Mark a Guru source object as part of the current full sync by its external id. Returns an empty 204 response on success. Required: id (object external id), source_id, object_type_id.
guru_object_files_bulk_update
Update the file attached to an external object in Guru, addressed by its source, object type, and external id. Sends a JSON request body with the file payload. Returns the stored object file record: id plus content-type-specific attributes defined by the object type. Required: source_id, object_type_id, external_id.
get_single_guru_metadatum_by_id
Get the metadata of a single object of an object type within a source in Guru. Returns the object's metadata with fields defined by the source's object type schema. Required: source_id, object_type_id, id.
list_all_guru_team_tagcategories
List the tag categories in a Guru team. Returns tag categories with their id. Required: team_id.
create_a_guru_team_tagcategory
Create a tag category in a Guru team. Returns the created tag category with its id. Required: team_id.
update_a_guru_team_tagcategory_by_id
Update a tag category in a Guru team by id. Returns the updated tag category with its id. Required: team_id, id.
delete_a_guru_team_tagcategory_by_id
Delete a tag category in a Guru team by id. Returns an empty 204 response on success. Required: team_id, id.
create_a_guru_tagcategories_tag
Create a new tag in a Guru team's tag categories. Returns the created tag object including its id, status, and dateCreated. Required: team_id and the tag config request body.
update_a_guru_tagcategories_tag_by_id
Update an existing tag in a Guru team. Returns the updated tag object including its id, status, and dateCreated. Required: id, team_id, and the tag config request body.
get_single_guru_tagcategories_tag_by_id
Get a single tag by id in a Guru team. Returns the tag object including its id, status, and dateCreated. Required: id and team_id.
list_all_guru_tasks_mentions
List user mention notifications in Guru. Returns mention notification records including their id and content-type-specific attributes fields. Supports sorting by sortField (cardTitle, creator, dateSent) and sortOrder (ASC, DESC).
list_all_guru_members
List all team members in Guru. Returns team member records (id) in a paginated array — a maximum of 50 members per page, with a Link header pointing to the next page when more exist.
list_all_guru_team_stats
Get a Guru team's stats. Returns the team's TeamStats object, which per Guru's docs carries counts of trusted and unverified cards, an overall trust score, and the team card count; the exact field-level keys are not documented upstream. Required: team_id, teamId.
list_all_guru_templates_cards
List card templates in Guru. Returns card template records, each including its id and template-definition attributes (the Guru API reference does not enumerate the template schema). No required parameters.
create_a_guru_templates_card
Create a card template in Guru by submitting its JSON template definition. Returns the created card template record including its id and template-definition attributes.
get_single_guru_templates_card_by_id
Get a single card template by id in Guru. Returns the card template record including its id and template-definition attributes (the template schema itself is not enumerated in the API reference). Required: id.
update_a_guru_templates_card_by_id
Update a card template by id in Guru by submitting its JSON template definition. Returns the updated card template record including its id and template-definition attributes. Required: id.
delete_a_guru_templates_card_by_id
Delete a card template by id in Guru. Returns an empty 204 response on success. Required: id.
list_all_guru_groups
List all user groups in Guru. Returns every group on the team with its id and name.
create_a_guru_group
Create a new user group in Guru. Returns the created group with its id and name.
get_single_guru_group_by_id
Get a single user group in Guru by id. Returns: id, attributes, openapi, info, externalDocs, servers, tags, paths, components, x-original-swagger-version. Required: id.
update_a_guru_group_by_id
Update a Guru user group: rename it or replace its members and their roles (ADMIN, AUTHOR, MEMBER, COLL_ADMIN). Returns the updated group with id, name, numberOfMembers, dateCreated and modifiable flags. Required: id.
delete_a_guru_group_by_id
Delete a user group in Guru by id. Returns an empty 204 response on success. Required: id.
list_all_guru_group_collections
List the collections a Guru group has access to. Returns each collection with its id. Required: group_id.
delete_a_guru_group_member_by_id
Delete a user group member from a Guru group. Returns an empty 204 response on success. Required: group_id and id.
create_a_guru_group_member
Add one or more members to a Guru user group by sending a JSON array of member objects. Returns the created member records including id, dateCreated, and dateLastModified. Required: group_id.
list_all_guru_group_members
List the members of a Guru user group. Returns member records including id, dateCreated, and dateLastModified. A maximum of 100 members is returned per page. Required: group_id.
list_all_guru_user_followers
List all followers of a Guru user. Returns follower records including: id, firstName, lastName, and followedDate; an empty result is returned when the user has no followers. Required: user_id.
list_all_guru_user_followings
List all users a Guru user follows. Returns an array of followed-user records, each with an id and an attributes object of the followed user's fields (the endpoint can sort by first name, last name, or followed date). Required: user_id. Returns an empty 204 response if the user follows no one.
list_all_guru_whoamis
Get the identity of the authenticated user in Guru via the whoami endpoint. Returns the user record tied to the API credentials used, including its id. Requires no parameters and takes no request body.
list_all_guru_widgets
List widgets in Guru. Returns an array of Widget objects, each with its id and type; the upstream API references the Widget schema without enumerating further fields. No required parameters.
update_a_guru_widget_by_id
Update a widget in Guru by id. Returns the updated Widget object including its id and type; the upstream API references the Widget schema without enumerating further fields. Required: id and a Widget data body.
create_a_guru_widget_widgetimage
Upload an image for a widget in Guru. Returns the updated Widget object including its id and its widget-specific attributes. Required: widget_id, image_id, and widgetImage (the image file to upload).
delete_a_guru_widget_widgetimage_by_id
Delete the image at a widget's image location in Guru. Returns an empty 204 response on success. Required: widget_id and id (the image location id).
list_all_guru_workspaces_permissions
List the workspace permissions accessible to the authenticated Guru API token. Returns the permission record object with content-type-specific fields; consult Guru's API reference for the field-level breakdown. No required parameters.
create_a_guru_workspaces_permission
Create a workspace permission in Guru. Returns the created permission record including its id and dateCreated. Requires a JSON request body.
update_a_guru_workspaces_permission_by_id
Update a workspace permission in Guru by its id. Returns: id. Required: id.
delete_a_guru_workspaces_permission_by_id
Delete a workspace permission in Guru by its id. Returns an empty 204 response on success. Required: id.
guru_card_contents_bulk_update
Update the content of an existing card in Guru, replacing its HTML or Markdown body. Returns an empty 204 response on success. Requires card_id and content.
list_all_guru_folder_permissions
List the permissions set directly on a Guru folder: which user groups can view or edit it and with what role. For permissions inherited from the collection use the effective-permissions endpoint. Returns permission records with the group (id, name) and role. Required: folder_id.
guru_source_object_contents_bulk_update
Update the content of a source object in Guru, replacing the record stored for external_id under a custom source's object type. Required: source_id, object_type_id, external_id. Returns a response whose shape is content-type-specific and depends on the object type's schema.
create_a_guru_thread_message
Add a new message to a Guru chat thread. The chat assistant's response is streamed back as a server-sent event (SSE) stream rather than a JSON body, and the stream events carry the ChatMessage record. Returns: id, content, role, dateCreated, chatMode, type, turnId, metadata, approvalAction, mcpToolApprovals, answerMode, documents, operatorMode. Required: thread_id and a message body.
list_all_guru_thread_messages
List all messages in a Guru chat thread in reverse chronological order. Returns message records with id, content, role, dateCreated, and turnId. Required: thread_id.
Why Truto
Why use Truto’s MCP server for Guru
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Guru in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Guru account
Use Truto’s frontend SDK to connect your customer’s Guru account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Guru
Truto’s Proxy API is a 1-to-1 mapping of the Guru API. You call us, we call Guru, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Guru’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Guru on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users authenticate their Guru account?
Truto handles the Guru auth flow for you — your end users connect via a hosted connect UI or token exchange, and Truto manages credential storage and refresh so you never touch secrets directly.
Can we both read and write knowledge in Guru?
Yes. The available tools cover full CRUD on Cards, Collections, Folders, Comments, Verifiers, Templates, and Announcements, plus write access for AI chat, threads, and external source content ingestion.
Does the integration support Guru's AI chat and Knowledge Agents?
Yes. You can call `create_a_guru_chat_ask` (sync) or `create_a_guru_chat_ask_async` for AI answers, manage chat threads and messages, and configure Knowledge Agents, skills, guardrails, and MCP connectors programmatically.
How do we keep Guru Cards fresh when source data changes in our product?
Use `create_a_guru_card_unverify` or `guru_cards_bulk_update` to flag Cards as needing review when related entities change, or push updated content via `guru_source_object_contents_bulk_update` for Cards sourced from your system.
How is pagination and rate limiting handled?
Truto normalizes Guru's pagination into a consistent cursor-based interface across all list endpoints, and transparently handles retries and backoff when Guru's rate limits are hit so your integration stays reliable.
Can we scope what our integration accesses in a customer's Guru workspace?
Yes. You can list Collections, Folders, Groups, and permissions to respect existing access boundaries, and use `list_all_guru_whoamis` plus role and permission endpoints to confirm what the connected user can see or modify.
Guru
Get Guru integrated into your app
Our team understands what it takes to make a Guru integration successful. A short, crisp 30 minute call with folks who understand the problem.