pipeshub_chat
Ask questions and get answers grounded in your organization's indexed data with citations. Search internal sources or the live web, and continue follow-up conversations.
Instructions
Ask a question, get an answer grounded in the org's indexed data with citations. It reads a few retrieved passages — never a whole document, never a complete list.
Three questions this tool gets WRONG. Check them first:
Structure — "what's under this epic?", "which pages are in this space?", "what links to this ticket?", "what's in this folder?" →
pipeshub_get_record_contentmode:"navigate". Ranking cannot see how records relate.Exhaustive — "how many X?", "list ALL the Y", "every Z" →
mode:"navigate", which reports the group's real total. This tool undercounts and will not say so.One named document — summarize it, extract from it, what does it say about X →
pipeshub_searchfor therecordId, thenmode:"content".
Everything else about the org's knowledge belongs here: policies, processes, decisions, history, "what do we know about X", and any question spanning several documents.
Internal search (default, chatMode: "internal_search"): the user's
documents, files, knowledge base, company policies — anything in their
PipesHub-indexed sources (Drive, Box, Confluence, Slack, Gmail, Jira, the
org's KB, ...).
Web search (chatMode: "web_search"): current events or public
information unlikely to be in the org's knowledge base.
Both are plain-chat modes. Agent chat — pass an agentId from
pipeshub_agents — runs against that agent's own prompt, tools and knowledge;
quick is its only mode, requires the agentId, and is sent automatically.
"What's our policy on Y?" →
pipeshub_chat(internal_search)"What's in the news about Z?" →
pipeshub_chat(web_search)"Find / locate the file named X" →
pipeshub_search(thenpipeshub_download_recordif the user wants the bytes).
Conversation lifecycle — one tool, both start and continue:
First turn: omit
conversationId. The server creates a new conversation; captureconversationIdfrom the response.Follow-up turn: pass the
conversationIdfrom the previous response. Server-side context is preserved — do NOT replay earlier messages, andfiltersis ignored on follow-ups (set once at creation).
Only re-omit conversationId (start a fresh conversation) when the
user explicitly asks to start over / clear context.
The response contains the AI's answer plus citations. To download a
cited document, take citations[*].recordId and call
pipeshub_download_record.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The user's question or message for this turn. | |
| agentId | No | Optional PipesHub agent to converse with — the `agentId` from `pipeshub_agents`. When set, this turn runs against that agent's configuration (prompt, tools, knowledge). On follow-up turns pass the SAME `agentId` together with the `conversationId` returned by the previous call. Omit for a plain (non-agent) conversation. If unsure which agent to use, call `pipeshub_agents` first to see the options. | |
| filters | No | Source scoping for retrieval. Pass `apps` ids from `pipeshub_sources`. Only meaningful on the FIRST turn (when starting a new conversation). | |
| chatMode | No | Response strategy. The valid values depend on whether `agentId` is set: - WITHOUT `agentId` (plain chat): `internal_search` — answer from the org's indexed knowledge (default) — or `web_search` — answer from the live web. - WITH `agentId` (agent chat): `quick` is the only supported mode and is sent automatically, so this argument can be omitted. | |
| modelKey | No | Model id to use (from `pipeshub_sources` `llmModels[*].modelKey`). Defaults to the org's default LLM. | |
| modelName | No | ||
| conversationId | No | Existing conversation id to continue. Omit on the FIRST turn; on every subsequent turn pass the `conversationId` returned by the previous call. Server-side message history is preserved — do NOT replay prior messages. | |
| modelFriendlyName | No |