dash_get_examples
ChatGPTGet the required filter schema for a specific source type. This tool is read-only and does not modify any data. This is the ONLY source of truth for valid filter field names, values, and query patterns. You MUST call this before using filters in dash_search — do not guess or invent field names. WORKFLOW: dash_get_sources → dash_get_examples (this tool) → dash_search PARAMETERS: - connector_type (string, required): Must be obtained from dash_get_sources. Do not guess or hardcode connector types — they use inconsistent casing and vary per user. RETURNS: Unstructured text describing: - Available label_filters with field names (use these EXACTLY in dash_search filters) - Valid values for each filter field - Example queries and filter combinations - Best practices for searching this source EXAMPLE: First call dash_get_sources to get connector_type values, then call dash_get_examples with a connector_type from that response to learn its filters before calling dash_search.
dash_get_sources
ChatGPTList all connected sources available to the user. This tool is read-only and does not modify any data. Returns source types, display names, and connection IDs needed by other tools. Call this FIRST before using connector_type in any other tool — available connectors vary per user and types use inconsistent casing that cannot be guessed. If the user's query references "me", "my", "mine", or "own", also call dash_whoami to resolve the user's identity before searching. RETURNS: Array of connections, each with: - connector_type: Source type identifier (use this value exactly in other tools) - name: Display name - description: Source capabilities - icon_src: URL to the source's icon (SVG format) - connection_id: Encrypted identifier for this specific connection - supports_actions: Whether this connection supports search actions WORKFLOWS starting from this tool: - Filtered search: dash_get_sources → dash_get_examples → dash_search - Search actions (only for connections with supports_actions=true): dash_get_sources → dash_list_search_actions → dash_invoke_search_action
dash_invoke_search_action
ChatGPTExecute a read-only search action on a source using its native API. This tool only reads data — it does not create, update, or delete anything. It requires no write permissions. WORKFLOW: dash_get_sources → dash_list_search_actions → dash_invoke_search_action (this tool) PARAMETERS: - connection_id (string, required): Connection ID from dash_get_sources (must have supports_actions=true) - tool_name (string, required): Action name from dash_list_search_actions - tool_params (object, required): Parameters matching the action's inputSchema RETURNS: Action-specific result object. Structure varies by action; see outputSchema from dash_list_search_actions.
dash_list_search_actions
ChatGPTList available search actions for a source. This tool is read-only and does not modify any data. Discovers source-specific read-only actions that query data from a source. These actions use the source's native API, unlike dash_search which provides a unified search across all sources. Both this tool and the actions it lists are strictly read-only. WORKFLOW: dash_get_sources → dash_list_search_actions (this tool) PARAMETERS: - connection_id (string, required): Connection ID from dash_get_sources (must have supports_actions=true) RETURNS: Array of search actions with name, description, inputSchema, and optional outputSchema. All actions are read-only.
dash_read_binary_content
ChatGPTRead raw binary content (images, video, audio files) from a Dash document as base64-encoded data. This tool is read-only and does not modify any data. Use for non-text files where you need the actual binary data. For text documents, use dash_read_markdown_content instead. For visual page renderings, use dash_read_visual_page instead. WORKFLOW: dash_search → dash_read_binary_content (this tool) IMPORTANT: Exactly one of uuid or uri must be set. Use offset and limit for range queries on large files. Pass consistency_token from the response to subsequent calls to detect content changes across chunked reads.
dash_read_document
ChatGPTGet document metadata and optionally extract text content for a specific Dash document. This tool is read-only and does not modify any data. Returns metadata (title, URL, type, timestamps) and optionally extracted text content via include_body. If the body response has has_more=true, use dash_read_markdown_content with the returned next_offset to fetch remaining content. For visual page renderings (PDFs, slides), use dash_read_visual_page. For raw binary files (images, video, audio), use dash_read_binary_content. WORKFLOW: dash_search → dash_read_document (this tool) → dash_read_markdown_content (if has_more) IMPORTANT: Exactly one of uuid or uri must be set — not both.
dash_read_markdown_content
ChatGPTRead document content as markdown, with chunked transfer support for large files. This tool is read-only and does not modify any data. Typically used as a follow-up to dash_read_document with include_body=true when the body response has has_more=true — use next_offset from that response to continue reading. Can also be called directly to read content from scratch. For visual page renderings (PDFs, slides), use dash_read_visual_page instead. For raw binary files (images, video, audio), use dash_read_binary_content instead. WORKFLOW: dash_search → dash_read_document (include_body=true) → dash_read_markdown_content (this tool, if has_more) IMPORTANT: Exactly one of uuid or uri must be set. Use offset and limit for chunked reads. Pass consistency_token from the response to subsequent calls to detect content changes across paginated reads. If has_more is true in the response body, use next_offset to fetch the next chunk.
dash_read_visual_page
ChatGPTRead visual page renderings (PDF pages, presentation slides) from a Dash document as images. This tool is read-only and does not modify any data. Returns page-by-page visual content. Use for layout-dependent content where markdown extraction loses formatting. Not suitable for text extraction — use dash_read_markdown_content instead. WORKFLOW: dash_search → dash_read_visual_page (this tool) IMPORTANT: Exactly one of uuid or uri must be set. Use page_start and page_limit to paginate (max 20 pages per request). Use next_page from the response to fetch subsequent pages. Pass consistency_token to detect content changes across paginated reads.
dash_resolve_urls
ChatGPTResolve URLs to Dash entity UUIDs with metadata. This tool is read-only and does not modify any data. Maps URLs to their corresponding Dash entities, if the document has been ingested by a connected source. WORKFLOW: dash_resolve_urls (this tool) → dash_read_document (to get full content) PARAMETERS: - urls (string[], required): URLs to resolve (max 100). Example: ["https://docs.google.com/document/d/abc123", "https://dropbox.com/s/xyz/file.pdf"] RETURNS: Array of results, each containing: - url: Original input URL - status: "ok", "not_found", "invalid_url", or "internal_error" - entities: Array of resolved entities, each with uuid (string) and doc_type (string) A single URL may resolve to multiple entities (e.g., separate personal and team sources, or different entity types like a ZoomMeeting and its ZoomMeetingTranscript). Link resolution is best effort — failure to resolve does not mean the document does not exist, and a returned UUID does not guarantee subsequent tool calls will succeed.
dash_search
ChatGPTSearch company content across all connected sources. This tool is read-only and does not modify any data. REQUIRED PREREQUISITE WORKFLOW (must complete before calling this tool): 1. dash_get_sources — get available connector_type values (do NOT guess) 2. dash_get_examples(connector_type) — get valid filter fields and values for that source 3. dash_whoami — if the query references "me", "my", "mine", "own", or "assigned to me" Then call dash_search with the discovered values. WARNING: Do NOT invent or guess filter field names (e.g., "assignee", "status", "priority"). Filter fields are source-specific and MUST come from dash_get_examples output. Guessed fields are silently ignored, producing incorrect or empty results. READING WORKFLOW (after search): dash_search → dash_read_document (include_body=true) → dash_read_markdown_content (if has_more) IMPORTANT BEHAVIORS: - query_text is a keyword or phrase search field — do NOT pass full sentences, user prompts, or conversational text. Use 1-3 focused keywords only. Do NOT list many synonyms or loosely related terms — additional keywords narrow results (AND behavior), not broaden them. Pick the most specific terms for what you need. Use double quotes for exact phrase matching (e.g., "quarterly report"). Boolean operators (AND/OR/NOT) are not supported. Use filters for structured constraints (dates, status, assignee, etc.) rather than embedding them in query_text - By default, returns documents and files only. To find images, videos, or audio, you MUST specify doc_category - Multimedia categories (image, video, audio) CANNOT be combined with document categories (pdf, document, spreadsheet, presentation) in a single call — make separate calls - Multiple top-level filters are combined with AND. Use logical_filter with "or" operator for OR logic - Filters support nesting up to 5 levels deep - Returns ignored_filter_fields listing any unrecognized filter fields that were ignored - Filter field names and values are source-specific — always call dash_get_examples to discover them FILTER SYNTAX (field names are illustrative only — call dash_get_examples for actual fields): Simple: filters=[{"labels_filter": {"field": "example.status", "values": ["Done"]}}] Numeric: filters=[{"labels_filter": {"field": "example.priority", "values": [2], "operation": "lte"}}] OR: filters=[{"logical_filter": {"operator": "or", "filters": [{"labels_filter": {"field": "example.status", "values": ["Done"]}}, {"labels_filter": {"field": "example.status", "values": ["In Progress"]}}]}}] Nested: filters=[{"logical_filter": {"operator": "and", "filters": [{"labels_filter": {"field": "example.status", "values": ["Done"]}}, {"logical_filter": {"operator": "or", "filters": [{"labels_filter": {"field": "example.priority", "values": [2], "operation": "lte"}}, {"labels_filter": {"field": "example.points", "values": [8], "operation": "gte"}}]}}]}}] QUERY EXAMPLES: Good (focused): query_text="launch tracker" Good (exact phrase): query_text="\"project kickoff meeting\"" Good (keywords + filter): query_text="onboarding guide", connector_type=["confluence"] Good (filters only): connector_type=["jira"], filters=[{"labels_filter": {"field": "jira.is_resolved", "values": [false]}}] BAD (too many keywords): query_text="deadline due deliverable launch review April project" — this narrows results too much EXAMPLE — "show me my open Jira tickets": 1. dash_get_sources → find connector_type "jira" 2. dash_get_examples("jira") → discover fields: jira.is_resolved, relation.assigned_to 3. dash_whoami → get email: "user@company.com" 4. dash_search(connector_type=["jira"], filters=[ {"labels_filter": {"field": "jira.is_resolved", "values": [false]}}, {"labels_filter": {"field": "relation.assigned_to", "values": ["user@company.com"]}} ])
dash_whoami
ChatGPTGet the current user's identity information. This tool is read-only and does not modify any data. WHEN TO CALL: Whenever the user's request contains personal references like "me", "my", "mine", "own", "assigned to me", or "I created". Call this BEFORE dash_search to get the user's email for use in filters like relation.assigned_to or relation.creator. PARAMETERS: None required. RETURNS: - display_name: User's full name (e.g., "John Smith") - email: User's email address (e.g., "john.smith@company.com") EXAMPLE: When user asks "find my documents", first call dash_whoami to get their email, then search with that email as a filter or in the query.
fetch
ChatGPTFetch a document’s metadata and extracted text by document ID. Use this after the search tool has returned a document ID and the assistant needs to read that specific document’s contents or inspect its metadata. This tool is read-only and does not modify any data. Returns metadata and extracted text content. If the response has has_more=true, use dash_read_markdown_content to fetch remaining content. For visual page renderings (PDFs, slides), use dash_read_visual_page instead. For raw binary files (images, video, audio), use dash_read_binary_content instead. Do NOT use this tool to discover documents by keyword or topic; use the search tool first. Do NOT invent document IDs. WORKFLOW: search -> fetch (this tool) -> dash_read_markdown_content (if has_more) RETURNS: - id: Document ID - title: Document title - text: Extracted document text. May be truncated for large documents. - url: Direct link to the document. - metadata: Document metadata, including connector_type, doc_type, mime_type, and updated_at. Use mime_type to determine if the document requires visual or binary content tools. - has_more (boolean): True if additional document text is available beyond this response.
search
ChatGPTSearch company content across all connected sources. This tool is read-only and does not modify any data. Available data sources vary per user. Do NOT assume which data sources a user has connected — use dash_get_sources to discover them. If advanced filtering by data source, label, or date is needed, use the search workflow that supports those filters (using dash_search tool). WORKFLOW: search (this tool) → fetch IMPORTANT BEHAVIORS: - query is a keyword or phrase search field — do NOT pass full sentences, user prompts, or conversational text. Use 1-3 focused keywords only. Do NOT list many synonyms or loosely related terms — additional keywords narrow results (AND behavior), not broaden them. Pick the most specific terms for what you need. Use double quotes for exact phrase matching (e.g., "quarterly report"). Boolean operators (AND/OR/NOT) are not supported. - For structured constraints (dates, status, assignee), use the dash_search tool which supports filters. - By default, returns documents and files only. To find images, videos, or audio, you MUST specify doc_category - Multimedia categories (image, video, audio) CANNOT be combined with document categories (pdf, document, spreadsheet, presentation) in a single call — make separate calls RETURNS: An array of matching results. Each result is a lightweight reference to a document or item and includes: - id: Unique identifier to pass to the fetch tool - title: Document or item title - url: Direct link to the item - connector_type: The data source the item came from - mime_type: The MIME type of the item (e.g., "application/pdf", "image/png"). Use this to decide whether to call fetch (text documents), dash_read_visual_page (PDFs, slides), or dash_read_binary_content (images, video, audio).