MCP 服务器

branchly

io.branchly/branchly

此 MCP 可以做什么

Manages an AI application’s knowledge-base content, prompts, tools, data sources, retrieval context, sessions, and usage analytics.

create_data_source
Create a new data source for the authenticated application. The 'settings' object must match the given 'type'. Returns the created data source. Creating a data source does not sync any content — use run_data_source to start a sync.
输入模式
{'type': 'object', 'required': ['name', 'type', 'settings'], 'properties': {'name': {'type': 'string', 'description': "Human-readable display name of the data source (e.g. 'Company Website')."}, 'type': {'enum': ['website_crawler', 'file_upload', 'node_editor', 'default_node', 'openAPI', 'helpspace', 'custom_website_crawler', 'webhook', 'wordpress'], 'type': 'string', 'description': "Must match the 'type' discriminator of the 'settings' object when both are provided."}, 'schedule': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Cron expression (e.g. '0 3 * * *') or null to disable scheduled re-sync."}, 'settings': {'oneOf': [{'anyOf': [{'type': 'object', 'required': ['urls'], 'properties': {'type': {'type': 'string', 'const': 'website_crawler', 'default': 'website_crawler'}, 'urls': {'type': 'object', 'required': ['start_urls'], 'properties': {'start_urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri', 'minLength': 1}}}}, 'actor': {'enum': ['apify/website-content-crawler'], 'type': 'string', 'default': 'apify/website-content-crawler'}, 'filters': {'anyOf': [{'type': 'object', 'properties': {'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'condition'], 'properties': {'field': {'enum': ['published_time', 'modified_time'], 'type': 'string'}, 'condition': {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'enum': ['max_age_days', 'contains'], 'type': 'string'}, 'value': {'anyOf': [{'type': 'integer'}, {'type': 'string'}]}}}}}}}}, {'type': 'null'}], 'default': None}, 'custom_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags defined by the user that are displayed as badges in frontend. Applies to all pages crawled with this data source.'}, 'crawler_type': {'enum': ['playwright:firefox', 'playwright:adaptive', 'cheerio'], 'type': 'string', 'default': 'cheerio'}, 'ignore_errors': {'type': 'boolean', 'default': False, 'description': 'Ignore any page-specific errors (Lang-Tab not available, status code etc.) and continue crawling.'}, 'max_crawl_depth': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 20}, 'exclude_url_globs': {'type': 'array', 'items': {'type': 'string'}}, 'include_url_globs': {'type': 'array', 'items': {'type': 'string'}}, 'max_pages_per_crawl': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 30}, 'ignore_canonical_url': {'type': 'boolean', 'default': False, 'description': 'Ignore canonical URLs when crawling if they are incorrectly defined or the crawler should consider Query Parameters as well.'}, 'remove_html_elements': {'type': 'string', 'default': 'footer, div.footer, #footer, header, div.pageheader, #pageheader, script, style, noscript, svg, [role="alert"], [role="banner"], [role="dialog"], [role="alertdialog"], [role="region"][aria-label*="skip" i], [aria-modal="true"], #branchly-chat-widget-container, #branchly-embed-container, #branchly-chat-embed-container, #branchly-search-interface-container', 'description': 'List of CSS selectors to remove from the HTML content. List should be separated by commas.'}, 'title_suffix_to_remove': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Remove suffix or prefix from page titles.'}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'delete_unavailable', 'description': 'Policy for handling unavailable Sources/URLs during data source run.'}}}, {'type': 'object', 'required': ['files'], 'properties': {'type': {'type': 'string', 'const': 'file_upload', 'default': 'file_upload'}, 'files': {'type': 'array', 'items': {'type': 'object', 'required': ['file_name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'minLength': 1}, 'file_name': {'type': 'string'}, 'is_external': {'type': 'boolean', 'default': False}}}}}}, {'type': 'object', 'required': ['openapi_spec', 'operation_id', 'data_template_mapping'], 'properties': {'type': {'type': 'string', 'const': 'openAPI', 'default': 'openAPI'}, 'openapi_spec': {'type': 'string'}, 'operation_id': {'type': 'string'}, 'extra_options': {'anyOf': [{'type': 'object', 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'boolean'}, {'type': 'number'}, {'type': 'integer'}, {'type': 'null'}]}}, {'type': 'null'}], 'default': None}, 'data_template_mapping': {'type': 'object', 'required': ['text', 'title', 'source'], 'properties': {'text': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'page_metadata': {'anyOf': [{'type': 'object', 'properties': {'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'images': {'anyOf': [{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'article': {'anyOf': [{'type': 'object', 'properties': {'tags': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'modified_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'published_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'custom_metadata': {'anyOf': [{'type': 'object', 'properties': {'tags': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'score_boost': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}}}, 'response_content_path': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'delete_unavailable', 'description': 'Policy for handling unavailable Sources/URLs during data source run.'}}}, {'type': 'object', 'required': ['client_id', 'api_token', 'site_id'], 'properties': {'type': {'type': 'string', 'const': 'helpspace', 'default': 'helpspace'}, 'site_id': {'type': 'integer'}, 'api_token': {'type': 'string'}, 'client_id': {'type': 'string'}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'delete_unavailable', 'description': 'Policy for handling unavailable Sources/URLs during data source run.'}}}, {'type': 'object', 'required': ['urls', 'main_content_marker', 'graph_builder'], 'properties': {'type': {'type': 'string', 'const': 'custom_website_crawler', 'default': 'custom_website_crawler'}, 'urls': {'type': 'object', 'required': ['start_urls'], 'properties': {'start_urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri', 'minLength': 1}}}}, 'actor': {'enum': ['apify/website-content-crawler'], 'type': 'string', 'default': 'apify/website-content-crawler'}, 'custom_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags defined by the user that are displayed as badges in frontend. Applies to all pages crawled with this data source.'}, 'crawler_type': {'enum': ['playwright:firefox', 'playwright:adaptive', 'cheerio'], 'type': 'string', 'default': 'cheerio'}, 'graph_builder': {'type': 'object', 'required': ['navigation_builder'], 'properties': {'tool_node_ids': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, {'type': 'null'}], 'default': None}, 'contact_node_ids': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, {'type': 'null'}], 'default': None}, 'navigation_builder': {'oneOf': [{'type': 'object', 'required': ['breadcrumb_selector', 'type'], 'properties': {'type': {'type': 'string', 'const': 'breadcrumbs', 'default': 'breadcrumbs'}, 'breadcrumb_selector': {'type': 'string'}}}]}, 'nodes_wo_edges_to_root': {'type': 'boolean', 'default': False, 'description': 'Nodes without incoming/outgoing edges to the root node/start url. Prevents orphan nodes'}, 'nodes_wo_out_edges_to_tool': {'type': 'boolean', 'default': False, 'description': 'Nodes without outgoing edges to tool nodes. Uses tool_node_ids if available, otherwise all tool nodes'}, 'connect_start_urls_to_entry': {'type': 'boolean', 'default': True, 'description': 'Connect start URLs to entry node'}, 'nodes_wo_out_edges_to_contact': {'type': 'boolean', 'default': False, 'description': 'Nodes without outgoing edges to contact nodes. Uses contact_node_ids if available, otherwise all contact nodes'}}}, 'ignore_errors': {'type': 'boolean', 'default': False}, 'exclude_url_globs': {'type': 'array', 'items': {'type': 'string'}}, 'include_url_globs': {'type': 'array', 'items': {'type': 'string'}}, 'main_content_marker': {'type': 'object', 'required': ['selector_filter', 'start_marker', 'end_marker'], 'properties': {'type': {'type': 'string', 'const': 'comments', 'default': 'comments'}, 'end_marker': {'type': 'string'}, 'start_marker': {'type': 'string'}, 'selector_filter': {'type': 'string'}}}, 'fetch_image_captions': {'type': 'boolean', 'default': False, 'description': 'Fetch and generate captions for images found during crawling.'}, 'title_suffix_to_remove': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Remove suffix or prefix from page titles.'}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'ignore', 'description': 'Policy for handling unavailable Sources/URLs during data source run.'}}}, {'type': 'object', 'properties': {'type': {'type': 'string', 'const': 'webhook', 'default': 'webhook'}, 'data_template_mapping': {'anyOf': [{'type': 'object', 'required': ['text', 'title', 'source'], 'properties': {'text': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'page_metadata': {'anyOf': [{'type': 'object', 'properties': {'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'images': {'anyOf': [{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'article': {'anyOf': [{'type': 'object', 'properties': {'tags': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'modified_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'published_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'custom_metadata': {'anyOf': [{'type': 'object', 'properties': {'tags': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'score_boost': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None, 'description': 'Optional template mapping for custom webhook payloads. If provided, incoming data will be mapped to internal format.'}}, 'description': 'Settings for webhook data source.'}, {'type': 'object', 'properties': {'type': {'type': 'string', 'const': 'wordpress', 'default': 'wordpress'}, 'filters': {'anyOf': [{'type': 'object', 'properties': {'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'condition'], 'properties': {'field': {'enum': ['published_time', 'modified_time'], 'type': 'string'}, 'condition': {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'enum': ['max_age_days', 'contains'], 'type': 'string'}, 'value': {'anyOf': [{'type': 'integer'}, {'type': 'string'}]}}}}}}}}, {'type': 'null'}], 'default': None}, 'timeout': {'type': 'integer', 'default': 30, 'maximum': 120, 'minimum': 5}, 'api_path': {'type': 'string', 'default': '/wp-json/wp/v2'}, 'post_types': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'verify_ssl': {'type': 'boolean', 'default': True}, 'post_status': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'locale_mapping': {'type': 'object', 'description': "Map detected URL language codes to app locales. e.g. {'en': 'en', 'de': 'de', 'fr_FR': 'fr'}. Applied after locale_detection; unmatched codes are used as-is. Falls back to default_locale when no locale is detected.Locale mapping is used to filter posts in 'wpml' language detection mode.", 'additionalProperties': {'type': 'string'}}, 'locale_detection': {'enum': ['static', 'path_prefix', 'subdomain', 'query_param', 'wpml'], 'type': 'string', 'default': 'static', 'description': "Strategy for inferring the locale from a post's URL. 'static' uses default_locale for all posts. 'path_prefix' reads the first path segment (domain.com/en/page). 'subdomain' reads the subdomain (en.domain.com). 'query_param' reads the ?lang= query parameter. 'wpml' queries the WPML REST API per language (?lang=xx) and tags each post with the queried language code."}, 'default_site_locale': {'type': 'string', 'default': 'de', 'description': "Locale assigned to all posts in 'static' mode, or used as fallback in detection modes."}, 'excluded_categories': {'type': 'array', 'items': {'type': 'integer'}}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'delete_unavailable'}}}], 'required': ['type']}], 'description': "Type-specific config. Pass as an inline JSON object â\x80\x94 do NOT serialize to a string. Must include a 'type' discriminator field: 'website_crawler', 'pdf_upload', 'open_api', 'helpspace', 'custom_webcrawler', or 'webhook'."}, 'integration_id': {'anyOf': [{'type': 'string', 'format': 'uuid'}, {'type': 'null'}], 'default': None, 'description': 'Integration UUID for connected data sources. Required for WordPress data sources.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
create_node
Create a new content node in the knowledge base. Label defaults to 'content'.
输入模式
{'type': 'object', 'required': ['title', 'text'], 'properties': {'text': {'type': 'object', 'description': 'Locale-keyed body content (HTML) map, e.g. {"de": "<p>Inhalt</p>", "en": "<p>Content</p>"}.', 'additionalProperties': {'type': 'string'}}, 'label': {'enum': ['entry', 'content', 'contact', 'tool', 'fallback', 'integration', 'style', 'chat_navigator_style', 'search_style', 'search_result', 'navigator', 'feedback'], 'type': 'string', 'default': 'content'}, 'title': {'type': 'object', 'description': 'Locale-keyed title map, e.g. {"de": "Titel", "en": "Title"}.', 'additionalProperties': {'type': 'string'}}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Source URL for the node content.'}, 'score_boost': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None, 'description': 'Boost value for search ranking. Higher is better. Use null for no boost.'}, 'custom_metadata': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
create_prompt
Create a new prompt version for the authenticated application. The new prompt is automatically set as active and the previously active prompt of the same type and subtype is deactivated. Use this whenever you want to change prompt text.
输入模式
{'type': 'object', 'required': ['prompt', 'type'], 'properties': {'type': {'enum': ['chat', 'search_answering', 'suggested_questions', 'chat_evaluation'], 'type': 'string', 'description': 'Types of prompts in the system.'}, 'prompt': {'type': 'string'}, 'subtype': {'anyOf': [{'enum': ['routing_instructions', 'output_instructions'], 'type': 'string', 'description': 'Subtypes for prompts - used for routing vs output instructions.'}, {'type': 'null'}], 'default': None, 'description': "'routing_instructions' or 'output_instructions'. Returns all when omitted."}, 'interface_type': {'anyOf': [{'enum': ['chat', 'navigator', 'search', 'api', 'form'], 'type': 'string', 'description': 'Coarser grouping of EmbedType for prompt scoping.\n\nFollows the same pattern as StyleType in the interface_styles domain.\nEach value maps to one or more EmbedType values via ``embed_type_to_interface_type``.'}, {'type': 'null'}], 'default': None, 'description': "Interface scope of the prompt: 'chat', 'navigator', 'search', or 'api'. Required for 'chat' and 'search_answering' prompt types; omit for 'suggested_questions' and 'chat_evaluation'."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
create_tool
Create a new tool (AI action) for the authenticated application. Tool names must be unique per application, snake_case, max 64 chars. 'tool_config' and 'function_arguments' must match the given 'tool_type'. Returns the created tool.
输入模式
{'type': 'object', 'required': ['name', 'description', 'tool_type'], 'properties': {'name': {'type': 'string', 'description': 'snake_case tool name, max 64 characters. Used as the function name when the LLM calls the tool.'}, 'agents': {'anyOf': [{'type': 'array', 'items': {'enum': ['chat_routing', 'chat_output', 'search_answer', 'form_answer', 'form_routing', 'follow_up_actions', 'suggested_questions', 'web_mcp'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': "Optional list of agent types that may use this tool: 'chat_routing', 'chat_output', 'search_answer', 'form_answer', 'form_routing', 'follow_up_actions', 'suggested_questions'."}, 'tool_type': {'enum': ['knowledge_base', 'openAPI', 'node_lookup', 'send_email', 'form', 'contact_information', 'web_search', 'web_page_reader', 'weather', 'venus_knowledge_graph', 'regiondo', 'mcp_server', 'api', 'buttons', 'google_maps_link', 'google_maps_embed', 'calendly'], 'type': 'string', 'description': "Type of the tool: 'knowledge_base', 'openAPI', 'node_lookup', 'send_email', 'form', 'contact_information', 'web_search', 'web_page_reader', 'weather', 'venus_knowledge_graph', 'regiondo', 'mcp_server', 'api', 'buttons', 'google_maps_link', 'google_maps_embed', or 'calendly'."}, 'description': {'type': 'string', 'description': 'Natural-language description of what the tool does and when the LLM should call it.'}, 'tool_config': {'anyOf': [{'type': 'object', 'required': ['properties'], 'properties': {'properties': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'format': {'enum': ['text', 'email', 'tel'], 'type': 'string', 'default': 'text', 'description': 'HTML input type'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'string', 'default': 'string'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'format': {'type': 'string', 'const': 'text', 'default': 'text', 'description': 'HTML input type'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'text_area', 'default': 'text_area'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'minimum': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'number', 'default': 'number'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'enum', 'field_type'], 'properties': {'enum': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'select', 'default': 'select'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'format': {'type': 'string', 'const': 'date', 'default': 'date'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'date', 'default': 'date'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'format': {'type': 'string', 'const': 'time', 'default': 'time'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'time', 'default': 'time'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'checkbox', 'default': 'checkbox'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}]}}}}, {'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'api_tool_config', 'default': 'api_tool_config'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'description'], 'properties': {'name': {'type': 'string', 'description': 'Name of the parameter. Used as a variable placeholder in URL, headers, or body with {{name}} notation.'}, 'type': {'enum': ['text', 'number', 'boolean'], 'type': 'string', 'default': 'text', 'description': 'Type of the parameter.'}, 'required': {'type': 'boolean', 'default': True, 'description': 'Whether this parameter is required for the API call.'}, 'description': {'type': 'string', 'description': 'Description of the parameter to help the AI understand what data to collect from the user.'}}, 'description': 'Parameter collected from the user for use in API requests.\n\nParameters can be used as placeholders in URL, headers, or body using {{parameter_name}} notation.'}, 'description': 'List of parameters to collect from the user for use in the API request.'}}, 'description': 'Configuration for the API tool sent to the LLM as a function.\n\nContains the parameters that the AI collects from users, which are then\nsubstituted into the URL, headers, and body using {{parameter_name}} notation.'}, {'type': 'null'}], 'default': None, 'description': "Function schema sent to the LLM. Pass as an inline JSON object â\x80\x94 do NOT serialize to a string. Use 'FormAPISchema' for form tools or 'APIToolConfig' for API-calling tools. Pass null to clear."}, 'function_arguments': {'anyOf': [{'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'knowledge_base_tool_arguments', 'default': 'knowledge_base_tool_arguments'}, 'rerank': {'type': 'boolean', 'default': False}, 'formatter': {'enum': ['chunks_with_source', 'numbered_chunks_with_source', 'grouped_chunks', 'grouped_chunks_with_custom_metadata', 'grouped_chunks_with_page_metadata'], 'type': 'string', 'default': 'grouped_chunks'}, 'sources_filter': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}, 'node_ids_filter': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}, 'retrieval_method': {'enum': ['default', 'parent_context'], 'type': 'string', 'default': 'default'}, 'node_labels_filter': {'anyOf': [{'type': 'array', 'items': {'enum': ['entry', 'content', 'contact', 'tool', 'fallback', 'integration', 'style', 'chat_navigator_style', 'search_style', 'search_result', 'navigator', 'feedback'], 'type': 'string'}}, {'type': 'null'}], 'default': None}, 'document_limit_rerank': {'type': 'integer', 'default': 25}, 'data_source_ids_filter': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}, 'document_limit_default': {'type': 'integer', 'default': 15}, 'data_source_types_filter': {'anyOf': [{'type': 'array', 'items': {'enum': ['website_crawler', 'file_upload', 'node_editor', 'default_node', 'openAPI', 'helpspace', 'custom_website_crawler', 'webhook', 'wordpress'], 'type': 'string'}}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'node_lookup_tool_arguments', 'default': 'node_lookup_tool_arguments'}, 'node_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of node IDs to look up in the graph.'}}}, {'type': 'object', 'required': ['sender_email'], 'properties': {'object': {'type': 'string', 'const': 'send_email_tool_arguments', 'default': 'send_email_tool_arguments'}, 'sender_email': {'type': 'string', 'format': 'email'}}}, {'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 5}, 'object': {'type': 'string', 'const': 'web_search_tool_arguments', 'default': 'web_search_tool_arguments'}}}, {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string'}, 'object': {'type': 'string', 'const': 'web_page_reader_tool_arguments', 'default': 'web_page_reader_tool_arguments'}, 'target_selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Only returns elements from CSS selector.'}, 'wait_for_selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Wait for a specific element to appear before returning. For dynamic content.'}}}, {'type': 'object', 'required': ['form_title', 'submit_message', 'submit_button_text'], 'properties': {'object': {'type': 'string', 'const': 'form_tool_arguments', 'default': 'form_tool_arguments'}, 'form_title': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'submit_message': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'data_privacy_text': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Optional data privacy text. If provided, a checkbox should be displayed to the user.'}, 'notification_email': {'anyOf': [{'type': 'string', 'format': 'email'}, {'type': 'array', 'items': {'type': 'string', 'format': 'email'}}, {'type': 'null'}], 'default': None, 'description': 'Used for email forwarding of form submissions. If not provided, no email will be forwarded'}, 'submit_button_text': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'show_data_privacy_text': {'type': 'boolean', 'default': False}}}, {'type': 'object', 'required': ['projects', 'channels', 'domain'], 'properties': {'event': {'anyOf': [{'type': 'object', 'required': ['event_type', 'mapping'], 'properties': {'mapping': {'type': 'object', 'properties': {'id': {'type': 'string', 'default': '{{event_id}}'}, 'tags': {'type': 'string', 'default': '{{tags}}'}, 'type': {'type': 'string', 'const': 'carousel_v1', 'default': 'carousel_v1'}, 'title': {'type': 'string', 'default': '{{event_name}}'}, 'detail': {'type': 'string', 'default': '{{event_date_time.0.start_date}} - {{event_date_time.0.end_date}}<br>{{address.city}}<br>'}, 'image_url': {'type': 'string', 'default': '{{first_image.url}}'}, 'resource_url': {'type': 'string', 'default': '{{link}}'}}}, 'event_type': {'enum': ['carousel_v1'], 'type': 'string'}}}, {'type': 'null'}], 'default': None, 'description': 'Optional frontend event mapping.'}, 'domain': {'type': 'string'}, 'object': {'type': 'string', 'const': 'venus_knowledge_graph_tool_arguments', 'default': 'venus_knowledge_graph_tool_arguments'}, 'channels': {'type': 'string'}, 'projects': {'type': 'string'}, 'entity_type': {'type': 'string', 'const': 'Event', 'default': 'Event'}}}, {'type': 'object', 'required': ['secret_key', 'public_key'], 'properties': {'event': {'anyOf': [{'type': 'object', 'required': ['event_type', 'mapping'], 'properties': {'mapping': {'type': 'object', 'properties': {'id': {'type': 'string', 'default': '{{event_id}}'}, 'tags': {'type': 'string', 'default': '{{tags}}'}, 'type': {'type': 'string', 'const': 'carousel_v1', 'default': 'carousel_v1'}, 'title': {'type': 'string', 'default': '{{event_name}}'}, 'detail': {'type': 'string', 'default': '{{event_date_time.0.start_date}} - {{event_date_time.0.end_date}}<br>{{address.city}}<br>'}, 'image_url': {'type': 'string', 'default': '{{first_image.url}}'}, 'resource_url': {'type': 'string', 'default': '{{link}}'}}}, 'event_type': {'enum': ['carousel_v1'], 'type': 'string'}}}, {'type': 'null'}], 'default': None, 'description': 'Optional frontend event mapping.'}, 'object': {'type': 'string', 'const': 'regiondo_tool_arguments', 'default': 'regiondo_tool_arguments'}, 'public_key': {'type': 'string'}, 'secret_key': {'type': 'string'}}}, {'type': 'object', 'required': ['mcp_url'], 'properties': {'events': {'type': 'array', 'items': {'type': 'object', 'required': ['event_type', 'mapping'], 'properties': {'mapping': {'type': 'object', 'properties': {'id': {'type': 'string', 'default': '{{event_id}}'}, 'tags': {'type': 'string', 'default': '{{tags}}'}, 'type': {'type': 'string', 'const': 'carousel_v1', 'default': 'carousel_v1'}, 'title': {'type': 'string', 'default': '{{event_name}}'}, 'detail': {'type': 'string', 'default': '{{event_date_time.0.start_date}} - {{event_date_time.0.end_date}}<br>{{address.city}}<br>'}, 'image_url': {'type': 'string', 'default': '{{first_image.url}}'}, 'resource_url': {'type': 'string', 'default': '{{link}}'}}}, 'event_type': {'enum': ['carousel_v1'], 'type': 'string'}, 'mcp_tool_names': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of tool names this frontend event should be mapped to. If empty, map to all tools of the MCP server.'}, 'mcp_tool_entities': {'anyOf': [{'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'The key to use to identify the entity from the MCP server response'}, 'values': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The specific entities (values) that should be mapped to the frontend event'}}}, {'type': 'null'}], 'default': None, 'description': 'Mapping to distinguish entities from the MCP server response. If None, map to all entities'}}}, 'description': 'List of frontend events to be triggered by this tool'}, 'object': {'type': 'string', 'const': 'mcp_server_tool_arguments', 'default': 'mcp_server_tool_arguments'}, 'headers': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Optional headers to be sent with the request to the MCP server.'}, 'mcp_url': {'type': 'string', 'format': 'uri', 'minLength': 1}, 'image_url': {'anyOf': [{'type': 'string', 'format': 'uri', 'minLength': 1}, {'type': 'null'}], 'default': None, 'description': 'Optional image URL to be shown in the Dashboard. Only for frontend display.'}}}, {'type': 'object', 'required': ['method', 'url'], 'properties': {'url': {'type': 'string', 'description': 'URL of the API endpoint. Can include parameter placeholders using mustache notation like {{parameter_name}}.'}, 'body': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'Request body. Values can include parameter placeholders using mustache notation like {{parameter_name}}.'}, 'event': {'anyOf': [{'type': 'object', 'required': ['event_type', 'mapping'], 'properties': {'mapping': {'type': 'object', 'properties': {'id': {'type': 'string', 'default': '{{event_id}}'}, 'tags': {'type': 'string', 'default': '{{tags}}'}, 'type': {'type': 'string', 'const': 'carousel_v1', 'default': 'carousel_v1'}, 'title': {'type': 'string', 'default': '{{event_name}}'}, 'detail': {'type': 'string', 'default': '{{event_date_time.0.start_date}} - {{event_date_time.0.end_date}}<br>{{address.city}}<br>'}, 'image_url': {'type': 'string', 'default': '{{first_image.url}}'}, 'resource_url': {'type': 'string', 'default': '{{link}}'}}}, 'event_type': {'enum': ['carousel_v1'], 'type': 'string'}}}, {'type': 'null'}], 'default': None, 'description': 'Optional frontend event mapping.'}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'], 'type': 'string', 'description': 'HTTP method for the API request.'}, 'object': {'type': 'string', 'const': 'api_tool_arguments', 'default': 'api_tool_arguments'}, 'headers': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'HTTP headers for the request. Values can include parameter placeholders using mustache notation like {{parameter_name}}.'}, 'timeout': {'type': 'integer', 'default': 5, 'maximum': 30, 'minimum': 1, 'description': 'Request timeout in seconds.'}, 'query_params': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Query parameters for the request. Values can include parameter placeholders using mustache notation like {{parameter_name}}.'}, 'response_path': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Optional dot notation to extract specific data from the API response.'}, 'integration_id': {'anyOf': [{'type': 'string', 'format': 'uuid'}, {'type': 'null'}], 'default': None, 'description': 'ID of the integration used to obtain an auth token for the request.'}, 'body_content_type': {'enum': ['application/json', 'application/x-www-form-urlencoded'], 'type': 'string', 'default': 'application/json', 'description': 'Content type of the request body.'}}, 'description': 'Arguments for the API tool that define how to make HTTP requests.\n\nContains the static configuration for executing API requests.\nUse {{parameter_name}} mustache notation in url, query_params, headers, and body\nto reference parameters defined in tool_config.'}, {'type': 'object', 'required': ['buttons'], 'properties': {'object': {'type': 'string', 'const': 'buttons_tool_arguments', 'default': 'buttons_tool_arguments'}, 'buttons': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'text'], 'properties': {'url': {'anyOf': [{'type': 'string', 'format': 'uri', 'minLength': 1}, {'type': 'null'}], 'default': None, 'description': 'URL for link_button type. Required for link_button, not used for button type. Allow mailto: and tel: links as well.'}, 'text': {'type': 'string', 'maxLength': 50, 'description': 'Button text to display. Should be short and descriptive.'}, 'type': {'enum': ['link_button', 'button'], 'type': 'string', 'description': 'Type of the button'}}, 'description': 'Individual button in the buttons tool.\n\n- link_button: Opens URL in new tab (if external) or navigates (like follow-up actions)\n- button: Uses text as input for sending new request'}, 'maxItems': 10, 'minItems': 1, 'description': 'List of buttons to display. Maximum 10 buttons.'}}, 'description': 'Arguments for the Buttons tool.\n\nThis tool allows AI to send buttons as a frontend event to users.\nNo inputs are required from the AI when executing this tool.\nMaximum 3 buttons can be sent.'}, {'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'google_maps_link_tool_arguments', 'default': 'google_maps_link_tool_arguments'}, 'icon_url': {'anyOf': [{'type': 'string', 'format': 'uri', 'minLength': 1}, {'type': 'null'}], 'default': None, 'description': 'Optional URL of an icon to display inside the link button.'}, 'default_travelmode': {'anyOf': [{'enum': ['driving', 'walking', 'bicycling', 'transit'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Default travel mode used when the AI does not specify one.'}}}, {'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'google_maps_embed_tool_arguments', 'default': 'google_maps_embed_tool_arguments'}, 'default_mode': {'anyOf': [{'enum': ['driving', 'walking', 'bicycling', 'transit', 'flying'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Default travel mode used when the AI does not specify one.'}}}, {'type': 'object', 'required': ['integration_id'], 'properties': {'object': {'type': 'string', 'const': 'calendly_tool_arguments', 'default': 'calendly_tool_arguments'}, 'integration_id': {'type': 'string', 'format': 'uuid', 'description': 'ID of the connected Calendly integration to use for scheduling.'}}}, {'type': 'null'}], 'default': None, 'description': "Fixed runtime arguments NOT collected from the LLM (e.g. recipient email, rerank flag, knowledge-base ID). Pass as an inline JSON object â\x80\x94 do NOT serialize to a string. Must include an 'object' discriminator field matching the tool type."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_active_sessions_by_embed
Time series of active sessions broken down by embed type (chat, chat_widget, navigator, search_interface, voice, api). Use this to understand which interfaces are driving usage.
只读
输入模式
{'type': 'object', 'properties': {'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_active_sessions_over_time
Time series of active sessions, bucketed by day or week (auto-chosen from the time window). Each row breaks the total down by interaction type (chat / search / navigation / form_submission / voice). Gaps are zero-filled, so the series is safe to plot directly. Use this to spot spikes, dips, or trends.
只读
输入模式
{'type': 'object', 'properties': {'embed_types': {'anyOf': [{'type': 'array', 'items': {'enum': ['chat', 'search', 'chat_widget', 'search_interface', 'voice', 'api', 'form'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Restrict to sessions initiated through these embed type(s). Omit to include all embeds.'}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_answer_type_distribution
Distribution of chat answer types (e.g. 'answered', 'no_answer', 'tool_call', 'human_handoff'), ranked by occurrence count. Use this to monitor answer quality: a high 'no_answer' share signals content gaps; a high 'human_handoff' share signals where the bot is escalating.
只读
输入模式
{'type': 'object', 'properties': {'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_application
Return the full configuration of the authenticated application.
只读
输入模式
{'type': 'object', 'properties': {}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_sentiment_distribution
Sentiment distribution of chat answers as counts of 'positive', 'negative', and 'neutral'. Optionally restrict to specific answer types. Use this as a quick quality signal — a rising 'negative' share usually warrants drilling into individual sessions via read_sessions.
只读
输入模式
{'type': 'object', 'properties': {'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}, 'answer_types': {'anyOf': [{'type': 'array', 'items': {'enum': ['complete', 'no_knowledge', 'outside_scope', 'small_talk', 'follow_up_question'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Restrict to chat requests whose final answer matched one of these types. Omit to include all answer types.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_top_cited_sources
Knowledge-base nodes most frequently cited in chat answers, ranked by citation count. Each row carries the node UUID (vertex_id), its title, optional source URL, and citation_count. Use this to understand which knowledge is actually load-bearing; pair with read_node(vertex_id) to inspect cited content.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 15, 'description': 'Maximum number of rows to return, ordered by count descending.', 'exclusiveMinimum': 0}, 'embed_types': {'anyOf': [{'type': 'array', 'items': {'enum': ['chat', 'search', 'chat_widget', 'search_interface', 'voice', 'api', 'form'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Restrict to sessions initiated through these embed type(s). Omit to include all embeds.'}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_top_clicked_urls
URLs users actually clicked from inside the embed (search results, citation links, follow-ups, etc.), ranked by click count. Optionally filter by click event type. Use this to see what users find useful enough to click through to.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 15, 'description': 'Maximum number of rows to return, ordered by count descending.', 'exclusiveMinimum': 0}, 'event_types': {'anyOf': [{'type': 'array', 'items': {'enum': ['search_result', 'link', 'contact', 'tool', 'follow_up_navigation', 'follow_up_question', 'custom', 'analytics'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': "Restrict to specific click-event type(s): 'search_result', 'link', 'contact', 'tool', 'follow_up_navigation', 'follow_up_question'. Omit to include all."}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_top_devices
Top device categories (e.g. 'desktop', 'mobile', 'tablet') across all request types, ranked by occurrence count. Use this to understand the device mix of real users interacting with the embed.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 15, 'description': 'Maximum number of rows to return, ordered by count descending.', 'exclusiveMinimum': 0}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_top_geographies
Top (country, region) combinations across all request types, ranked by occurrence count. Country is an ISO country code; region may be null when unavailable. Use this to understand geographic distribution of users.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 15, 'description': 'Maximum number of rows to return, ordered by count descending.', 'exclusiveMinimum': 0}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_top_interaction_sources
Page URLs the user was ON when they interacted with the embed (chat, search, navigation, form submission), ranked by occurrence count. Differs from get_top_clicked_urls: this is the ORIGIN page, not the destination. Use this to find which pages of the host site drive the most embed engagement.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 15, 'description': 'Maximum number of rows to return, ordered by count descending.', 'exclusiveMinimum': 0}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_top_languages
Top detected natural languages of user CHAT questions, ranked by occurrence count. Differs from get_top_locales: locale reflects the embed/browser setting, language is detected from the actual query text. Use both to spot mismatches (e.g. German-speaking users hitting an English-only embed).
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 15, 'description': 'Maximum number of rows to return, ordered by count descending.', 'exclusiveMinimum': 0}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_top_locales
Top locales (BCP-47 style, e.g. 'de_DE', 'en_US') across chat, search, and navigation requests, ranked by occurrence count. Use this to understand which languages/regions are being served and where content gaps may exist.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 15, 'description': 'Maximum number of rows to return, ordered by count descending.', 'exclusiveMinimum': 0}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_top_searches
Top user search queries (normalized: lowercased, trimmed), ranked by occurrence count. Use this to discover dominant user intents and content gaps; pair with read_sessions(search_query=...) to inspect specific sessions.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 15, 'description': 'Maximum number of rows to return, ordered by count descending.', 'exclusiveMinimum': 0}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_top_tags
Top tags attached to chat answers (auto-derived classifications), ranked by occurrence count. Optionally restrict to specific answer types. Use this for a quick topical breakdown of chat traffic.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 15, 'description': 'Maximum number of rows to return, ordered by count descending.', 'exclusiveMinimum': 0}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}, 'answer_types': {'anyOf': [{'type': 'array', 'items': {'enum': ['complete', 'no_knowledge', 'outside_scope', 'small_talk', 'follow_up_question'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Restrict to chat requests whose final answer matched one of these types. Omit to include all answer types.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
get_trending_classifications
Time series of trending classifications (topics OR intents inferred from chat content), one series per classification id. Each series item carries a period timestamp and count. Use this to see how topical or intent demand shifts over time. Choose 'topic' for subject-matter trends, 'intent' for user-goal trends.
只读
输入模式
{'type': 'object', 'required': ['classification_type'], 'properties': {'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}], 'default': 'last_30_days', 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}, 'classification_type': {'enum': ['topic', 'intent'], 'type': 'string', 'description': "Which classification dimension to trend: 'topic' or 'intent'. Topics = subject matter inferred from chat content; intents = user goal inferred from chat content."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
list_data_sources
List data sources for the authenticated application. Optionally filter by data source type(s). Returns paginated results ordered by last update.
只读
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'exclusiveMinimum': 0}, 'limit': {'type': 'integer', 'default': 50, 'exclusiveMinimum': 0}, 'data_source_types': {'anyOf': [{'type': 'array', 'items': {'enum': ['website_crawler', 'file_upload', 'node_editor', 'default_node', 'openAPI', 'helpspace', 'custom_website_crawler', 'webhook', 'wordpress'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': "Filter by data source type(s): 'website_crawler', 'pdf_upload', 'open_api', 'helpspace', 'custom_webcrawler', 'webhook'. Returns all when omitted."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
list_nodes
List nodes in the knowledge base. Optionally filter by vertex label(s), data source type(s), or data source IDs. Optionally sort by updated_at ('asc' or 'desc'). Provide 'query' and 'locale' to perform a full-text search across node content (requires both parameters). Returns paginated results with total count.
只读
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'exclusiveMinimum': 0}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 10, 'exclusiveMinimum': 0}, 'query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Full-text search query across node content. When provided, 'locale' must also be provided. Leave empty to list without search."}, 'labels': {'anyOf': [{'type': 'array', 'items': {'enum': ['entry', 'content', 'contact', 'tool', 'fallback', 'integration', 'style', 'chat_navigator_style', 'search_style', 'search_result', 'navigator', 'feedback'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': "Filter by vertex label(s) (e.g. 'content'). Returns all when omitted."}, 'locale': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Valid Locale configured in the application for full-text search (e.g. 'de', 'en'). Required when 'query' is provided. Ignored otherwise."}, 'data_source_ids': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, {'type': 'null'}], 'default': None, 'description': 'Filter by data source UUID(s). Returns all when omitted.'}, 'sort_parameters': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'required': ['field', 'direction'], 'properties': {'field': {'enum': ['updated_at'], 'type': 'string'}, 'direction': {'enum': ['asc', 'desc'], 'type': 'string'}}}}, {'type': 'null'}], 'default': None, 'description': 'Sort order, e.g. [{"field": "updated_at", "direction": "desc"}].'}, 'data_source_types': {'anyOf': [{'type': 'array', 'items': {'enum': ['website_crawler', 'file_upload', 'node_editor', 'default_node', 'openAPI', 'helpspace', 'custom_website_crawler', 'webhook', 'wordpress'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': "Filter by data source type(s): 'website_crawler', 'pdf_upload', 'open_api', 'helpspace', 'custom_webcrawler', 'webhook'. Returns all when omitted."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
list_prompts
List prompts for the authenticated application. Optionally filter by type, subtype, or active status. Returns paginated results ordered by active status then last update.
只读
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'exclusiveMinimum': 0}, 'limit': {'type': 'integer', 'default': 20, 'exclusiveMinimum': 0}, 'subtype': {'anyOf': [{'enum': ['routing_instructions', 'output_instructions'], 'type': 'string', 'description': 'Subtypes for prompts - used for routing vs output instructions.'}, {'type': 'null'}], 'default': None, 'description': "'routing_instructions' or 'output_instructions'. Returns all when omitted."}, 'is_active': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': True, 'description': 'Activating a prompt automatically deactivates other prompts of the same type.'}, 'prompt_type': {'anyOf': [{'enum': ['chat', 'search_answering', 'suggested_questions', 'chat_evaluation'], 'type': 'string', 'description': 'Types of prompts in the system.'}, {'type': 'null'}], 'default': None, 'description': "'chat', 'search_answering', 'suggested_questions', or 'chat_evaluation'. Returns all when omitted."}, 'interface_type': {'anyOf': [{'enum': ['chat', 'navigator', 'search', 'api', 'form'], 'type': 'string', 'description': 'Coarser grouping of EmbedType for prompt scoping.\n\nFollows the same pattern as StyleType in the interface_styles domain.\nEach value maps to one or more EmbedType values via ``embed_type_to_interface_type``.'}, {'type': 'null'}], 'default': None, 'description': "Interface scope of the prompt: 'chat', 'navigator', 'search', or 'api'. Required for 'chat' and 'search_answering' prompt types; omit for 'suggested_questions' and 'chat_evaluation'."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
list_tools
List tools configured for the authenticated application. Optionally filter by active status. Returns all matching tools.
只读
输入模式
{'type': 'object', 'properties': {'active': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': True, 'description': 'true = active only, false = inactive only, omit = all.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
read_chat_request_documents
Read the full document chunks retrieved for a single chat request (QA or SA). Returns chunk_id, vertex_id, title, full text, score, source, data source type, page metadata, and whether the chunk was cited in the final answer. Use this after read_session_detail to inspect the exact context the assistant grounded its answer in. Ordered by score descending.
只读
输入模式
{'type': 'object', 'required': ['chat_request_id'], 'properties': {'chat_request_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
read_chat_request_tool_calls
Read the full tool calls executed for a single chat request. Returns tool_call_id, tool_id, tool_name, tool_type, full arguments (JSON), and full content/response (JSON). Use this to inspect what the assistant invoked and how the tool responded. Ordered by timestamp ascending.
只读
输入模式
{'type': 'object', 'required': ['chat_request_id'], 'properties': {'chat_request_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
read_data_source_runs
List data source runs for the authenticated application, latest first. Optionally filter by data source ID or run status. Returns the latest runs (default 5) and the total matching count. Use this to track the progress of a run triggered via run_data_source.
只读
输入模式
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'exclusiveMinimum': 0}, 'status': {'anyOf': [{'enum': ['started', 'succeeded', 'aborted', 'timeout', 'cancelled'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Filter runs by status: 'started', 'succeeded', 'aborted', 'timeout', or 'cancelled'. Returns all when omitted."}, 'data_source_id': {'anyOf': [{'type': 'string', 'format': 'uuid'}, {'type': 'null'}], 'default': None, 'description': 'Filter runs by data source UUID. Returns all runs when omitted.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
read_node
Read a node by its ID. Returns full node details.
只读
输入模式
{'type': 'object', 'required': ['node_id'], 'properties': {'node_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
read_search_request_results
Read the full search results returned for a single instant-search request. Returns chunk_id, vertex_id, title, full text, and relevance score. Use this to inspect the exact results a user saw for their search query. Ordered by score descending.
只读
输入模式
{'type': 'object', 'required': ['search_request_id'], 'properties': {'search_request_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
read_session_detail
Read a single session with its full history in token-dense form. Returns all interactions (chat, navigation, search, form, voice). Document chunks and tool calls are returned as references (IDs + titles) - use read_node(vertex_id) or read_tool(tool_id) to fetch full content.
只读
输入模式
{'type': 'object', 'required': ['session_id'], 'properties': {'session_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
read_sessions
List sessions for application. Filter by interaction types (chat, search, navigation, form_submission, voice), embed types, answer types, tool IDs, or a full-text search query. Each session includes its full history, but document chunks and tool calls are returned as references (IDs + titles) rather than full content.Returns paginated results ordered by start time descending.
只读
输入模式
{'type': 'object', 'properties': {'page': {'type': 'integer', 'default': 1, 'exclusiveMinimum': 0}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 10, 'exclusiveMinimum': 0}, 'tool_ids': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, {'type': 'null'}], 'default': None, 'description': 'Filter sessions that involved specific tool UUID(s). Only exists for chat sessions.'}, 'embed_types': {'anyOf': [{'type': 'array', 'items': {'enum': ['chat', 'search', 'chat_widget', 'search_interface', 'voice', 'api', 'form'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Filter by embed type(s) through which sessions were initiated.'}, 'time_filter': {'anyOf': [{'enum': ['this_month', 'this_year', 'last_month', 'last_30_days', 'last_6_months', 'last_12_months'], 'type': 'string'}, {'type': 'string', 'pattern': '^\\d{4}-\\d{2}-\\d{2},\\d{4}-\\d{2}-\\d{2}$'}, {'type': 'null'}], 'default': None, 'description': "Time window for the analytics query. Accepts either: (a) a preset enum value: 'this_month', 'this_year', 'last_month', 'last_30_days' (default), 'last_6_months', 'last_12_months'; or (b) an explicit ISO date range as 'YYYY-MM-DD,YYYY-MM-DD' (inclusive)."}, 'answer_types': {'anyOf': [{'type': 'array', 'items': {'enum': ['complete', 'no_knowledge', 'outside_scope', 'small_talk', 'follow_up_question'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Filter by answer type(s) returned to users. Only exists for chat sessions.'}, 'interactions': {'anyOf': [{'type': 'array', 'items': {'enum': ['navigation', 'search', 'chat', 'form_submission', 'voice'], 'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': "'chat', 'search', 'navigation', 'form_submission', or 'voice'."}, 'search_query': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Full-text search across session content. Returns all when omitted.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
read_tool
Read a tool by its ID. Returns full tool details.
只读
输入模式
{'type': 'object', 'required': ['tool_id'], 'properties': {'tool_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
run_data_source
Trigger an asynchronous run (sync/crawl) of a data source by its ID. The run is queued as a background job. Returns the accepted status. Track progress with read_data_source_runs.
输入模式
{'type': 'object', 'required': ['data_source_id'], 'properties': {'data_source_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
update_chat_request_analytics
Update analytics fields on a chat request: summary, tags, answer_type, sentiment, classification_topic_id, or classification_intent_id. Only provided fields are updated. Use this to annotate or reclassify chat interactions after the fact.
幂等
输入模式
{'type': 'object', 'required': ['chat_request_id'], 'properties': {'tags': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'List of tags to attach to the chat request.'}, 'summary': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Short summary or annotation for the chat request.'}, 'sentiment': {'anyOf': [{'enum': ['positive', 'negative', 'neutral'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Sentiment classification: 'positive', 'negative', or 'neutral'."}, 'answer_type': {'anyOf': [{'enum': ['complete', 'no_knowledge', 'outside_scope', 'small_talk', 'follow_up_question'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Answer type classification: 'complete', 'no_knowledge', 'outside_scope', 'small_talk', or 'follow_up_question'."}, 'chat_request_id': {'type': 'string', 'format': 'uuid'}, 'classification_topic_id': {'anyOf': [{'type': 'string', 'format': 'uuid'}, {'type': 'null'}], 'default': None, 'description': 'UUID of the classification topic to assign to this chat request.'}, 'classification_intent_id': {'anyOf': [{'type': 'string', 'format': 'uuid'}, {'type': 'null'}], 'default': None, 'description': 'UUID of the classification intent to assign to this chat request.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
update_data_source
Update a data source by its ID. Only provided fields will be updated (partial update). Returns the updated data source.
幂等
输入模式
{'type': 'object', 'required': ['data_source_id'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'type': {'anyOf': [{'enum': ['website_crawler', 'file_upload', 'node_editor', 'default_node', 'openAPI', 'helpspace', 'custom_website_crawler', 'webhook', 'wordpress'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Must match the 'type' discriminator of the 'settings' object when both are provided."}, 'schedule': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Cron expression (e.g. '0 3 * * *') or null to disable scheduled re-sync."}, 'settings': {'anyOf': [{'oneOf': [{'type': 'object', 'required': ['urls', 'type'], 'properties': {'type': {'type': 'string', 'const': 'website_crawler', 'default': 'website_crawler'}, 'urls': {'type': 'object', 'required': ['start_urls'], 'properties': {'start_urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri', 'minLength': 1}}}}, 'actor': {'enum': ['apify/website-content-crawler'], 'type': 'string', 'default': 'apify/website-content-crawler'}, 'filters': {'anyOf': [{'type': 'object', 'properties': {'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'condition'], 'properties': {'field': {'enum': ['published_time', 'modified_time'], 'type': 'string'}, 'condition': {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'enum': ['max_age_days', 'contains'], 'type': 'string'}, 'value': {'anyOf': [{'type': 'integer'}, {'type': 'string'}]}}}}}}}}, {'type': 'null'}], 'default': None}, 'custom_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags defined by the user that are displayed as badges in frontend. Applies to all pages crawled with this data source.'}, 'crawler_type': {'enum': ['playwright:firefox', 'playwright:adaptive', 'cheerio'], 'type': 'string', 'default': 'cheerio'}, 'ignore_errors': {'type': 'boolean', 'default': False, 'description': 'Ignore any page-specific errors (Lang-Tab not available, status code etc.) and continue crawling.'}, 'max_crawl_depth': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 20}, 'exclude_url_globs': {'type': 'array', 'items': {'type': 'string'}}, 'include_url_globs': {'type': 'array', 'items': {'type': 'string'}}, 'max_pages_per_crawl': {'anyOf': [{'type': 'integer'}, {'type': 'null'}], 'default': 30}, 'ignore_canonical_url': {'type': 'boolean', 'default': False, 'description': 'Ignore canonical URLs when crawling if they are incorrectly defined or the crawler should consider Query Parameters as well.'}, 'remove_html_elements': {'type': 'string', 'default': 'footer, div.footer, #footer, header, div.pageheader, #pageheader, script, style, noscript, svg, [role="alert"], [role="banner"], [role="dialog"], [role="alertdialog"], [role="region"][aria-label*="skip" i], [aria-modal="true"], #branchly-chat-widget-container, #branchly-embed-container, #branchly-chat-embed-container, #branchly-search-interface-container', 'description': 'List of CSS selectors to remove from the HTML content. List should be separated by commas.'}, 'title_suffix_to_remove': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Remove suffix or prefix from page titles.'}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'delete_unavailable', 'description': 'Policy for handling unavailable Sources/URLs during data source run.'}}}, {'type': 'object', 'required': ['files', 'type'], 'properties': {'type': {'type': 'string', 'const': 'file_upload', 'default': 'file_upload'}, 'files': {'type': 'array', 'items': {'type': 'object', 'required': ['file_name', 'url'], 'properties': {'url': {'type': 'string', 'format': 'uri', 'minLength': 1}, 'file_name': {'type': 'string'}, 'is_external': {'type': 'boolean', 'default': False}}}}}}, {'type': 'object', 'required': ['openapi_spec', 'operation_id', 'data_template_mapping', 'type'], 'properties': {'type': {'type': 'string', 'const': 'openAPI', 'default': 'openAPI'}, 'openapi_spec': {'type': 'string'}, 'operation_id': {'type': 'string'}, 'extra_options': {'anyOf': [{'type': 'object', 'additionalProperties': {'anyOf': [{'type': 'string'}, {'type': 'boolean'}, {'type': 'number'}, {'type': 'integer'}, {'type': 'null'}]}}, {'type': 'null'}], 'default': None}, 'data_template_mapping': {'type': 'object', 'required': ['text', 'title', 'source'], 'properties': {'text': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'page_metadata': {'anyOf': [{'type': 'object', 'properties': {'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'images': {'anyOf': [{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'article': {'anyOf': [{'type': 'object', 'properties': {'tags': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'modified_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'published_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'custom_metadata': {'anyOf': [{'type': 'object', 'properties': {'tags': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'score_boost': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}}}, 'response_content_path': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'delete_unavailable', 'description': 'Policy for handling unavailable Sources/URLs during data source run.'}}}, {'type': 'object', 'required': ['client_id', 'api_token', 'site_id', 'type'], 'properties': {'type': {'type': 'string', 'const': 'helpspace', 'default': 'helpspace'}, 'site_id': {'type': 'integer'}, 'api_token': {'type': 'string'}, 'client_id': {'type': 'string'}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'delete_unavailable', 'description': 'Policy for handling unavailable Sources/URLs during data source run.'}}}, {'type': 'object', 'required': ['urls', 'main_content_marker', 'graph_builder', 'type'], 'properties': {'type': {'type': 'string', 'const': 'custom_website_crawler', 'default': 'custom_website_crawler'}, 'urls': {'type': 'object', 'required': ['start_urls'], 'properties': {'start_urls': {'type': 'array', 'items': {'type': 'string', 'format': 'uri', 'minLength': 1}}}}, 'actor': {'enum': ['apify/website-content-crawler'], 'type': 'string', 'default': 'apify/website-content-crawler'}, 'custom_tags': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Tags defined by the user that are displayed as badges in frontend. Applies to all pages crawled with this data source.'}, 'crawler_type': {'enum': ['playwright:firefox', 'playwright:adaptive', 'cheerio'], 'type': 'string', 'default': 'cheerio'}, 'graph_builder': {'type': 'object', 'required': ['navigation_builder'], 'properties': {'tool_node_ids': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, {'type': 'null'}], 'default': None}, 'contact_node_ids': {'anyOf': [{'type': 'array', 'items': {'type': 'string', 'format': 'uuid'}}, {'type': 'null'}], 'default': None}, 'navigation_builder': {'oneOf': [{'type': 'object', 'required': ['breadcrumb_selector', 'type'], 'properties': {'type': {'type': 'string', 'const': 'breadcrumbs', 'default': 'breadcrumbs'}, 'breadcrumb_selector': {'type': 'string'}}}]}, 'nodes_wo_edges_to_root': {'type': 'boolean', 'default': False, 'description': 'Nodes without incoming/outgoing edges to the root node/start url. Prevents orphan nodes'}, 'nodes_wo_out_edges_to_tool': {'type': 'boolean', 'default': False, 'description': 'Nodes without outgoing edges to tool nodes. Uses tool_node_ids if available, otherwise all tool nodes'}, 'connect_start_urls_to_entry': {'type': 'boolean', 'default': True, 'description': 'Connect start URLs to entry node'}, 'nodes_wo_out_edges_to_contact': {'type': 'boolean', 'default': False, 'description': 'Nodes without outgoing edges to contact nodes. Uses contact_node_ids if available, otherwise all contact nodes'}}}, 'ignore_errors': {'type': 'boolean', 'default': False}, 'exclude_url_globs': {'type': 'array', 'items': {'type': 'string'}}, 'include_url_globs': {'type': 'array', 'items': {'type': 'string'}}, 'main_content_marker': {'type': 'object', 'required': ['selector_filter', 'start_marker', 'end_marker'], 'properties': {'type': {'type': 'string', 'const': 'comments', 'default': 'comments'}, 'end_marker': {'type': 'string'}, 'start_marker': {'type': 'string'}, 'selector_filter': {'type': 'string'}}}, 'fetch_image_captions': {'type': 'boolean', 'default': False, 'description': 'Fetch and generate captions for images found during crawling.'}, 'title_suffix_to_remove': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Remove suffix or prefix from page titles.'}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'ignore', 'description': 'Policy for handling unavailable Sources/URLs during data source run.'}}}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'webhook', 'default': 'webhook'}, 'data_template_mapping': {'anyOf': [{'type': 'object', 'required': ['text', 'title', 'source'], 'properties': {'text': {'type': 'string'}, 'title': {'type': 'string'}, 'source': {'type': 'string'}, 'page_metadata': {'anyOf': [{'type': 'object', 'properties': {'title': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'images': {'anyOf': [{'type': 'object', 'properties': {'url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'article': {'anyOf': [{'type': 'object', 'properties': {'tags': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'modified_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'published_time': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}, 'custom_metadata': {'anyOf': [{'type': 'object', 'properties': {'tags': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'score_boost': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None}}}, {'type': 'null'}], 'default': None, 'description': 'Optional template mapping for custom webhook payloads. If provided, incoming data will be mapped to internal format.'}}, 'description': 'Settings for webhook data source.'}, {'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'wordpress', 'default': 'wordpress'}, 'filters': {'anyOf': [{'type': 'object', 'properties': {'criteria': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'condition'], 'properties': {'field': {'enum': ['published_time', 'modified_time'], 'type': 'string'}, 'condition': {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'enum': ['max_age_days', 'contains'], 'type': 'string'}, 'value': {'anyOf': [{'type': 'integer'}, {'type': 'string'}]}}}}}}}}, {'type': 'null'}], 'default': None}, 'timeout': {'type': 'integer', 'default': 30, 'maximum': 120, 'minimum': 5}, 'api_path': {'type': 'string', 'default': '/wp-json/wp/v2'}, 'post_types': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'verify_ssl': {'type': 'boolean', 'default': True}, 'post_status': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}, 'locale_mapping': {'type': 'object', 'description': "Map detected URL language codes to app locales. e.g. {'en': 'en', 'de': 'de', 'fr_FR': 'fr'}. Applied after locale_detection; unmatched codes are used as-is. Falls back to default_locale when no locale is detected.Locale mapping is used to filter posts in 'wpml' language detection mode.", 'additionalProperties': {'type': 'string'}}, 'locale_detection': {'enum': ['static', 'path_prefix', 'subdomain', 'query_param', 'wpml'], 'type': 'string', 'default': 'static', 'description': "Strategy for inferring the locale from a post's URL. 'static' uses default_locale for all posts. 'path_prefix' reads the first path segment (domain.com/en/page). 'subdomain' reads the subdomain (en.domain.com). 'query_param' reads the ?lang= query parameter. 'wpml' queries the WPML REST API per language (?lang=xx) and tags each post with the queried language code."}, 'default_site_locale': {'type': 'string', 'default': 'de', 'description': "Locale assigned to all posts in 'static' mode, or used as fallback in detection modes."}, 'excluded_categories': {'type': 'array', 'items': {'type': 'integer'}}, 'unavailable_source_policy': {'anyOf': [{'enum': ['ignore', 'delete_unavailable'], 'type': 'string', 'description': 'Policy for handling unavailable URLs during data source sync.'}, {'type': 'null'}], 'default': 'delete_unavailable'}}}], 'description': 'Settings for data source, used for DB and creating models'}, {'type': 'null'}], 'default': None, 'description': "Type-specific config. Pass as an inline JSON object â\x80\x94 do NOT serialize to a string. Must include a 'type' discriminator field: 'website_crawler', 'pdf_upload', 'open_api', 'helpspace', 'custom_webcrawler', or 'webhook'."}, 'data_source_id': {'type': 'string', 'format': 'uuid'}, 'integration_id': {'anyOf': [{'type': 'string', 'format': 'uuid'}, {'type': 'null'}], 'default': None, 'description': 'Integration UUID for connected data sources. Required for WordPress data sources.'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
update_node
Update a content node by its ID. Only provided fields are updated. Title and text are locale dicts (e.g. {"de": "Titel"}) — provided keys are merged, others preserved. custom_metadata keys are likewise merged into the existing metadata.
幂等
输入模式
{'type': 'object', 'required': ['node_id'], 'properties': {'text': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Locale-keyed body content (HTML) map, e.g. {"de": "<p>Inhalt</p>", "en": "<p>Content</p>"}.'}, 'title': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Locale-keyed title map, e.g. {"de": "Titel", "en": "Title"}.'}, 'source': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Source URL for the node content.'}, 'node_id': {'type': 'string', 'format': 'uuid'}, 'score_boost': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None, 'description': 'Boost value for search ranking. Higher is better. Use null for no boost.'}, 'custom_metadata': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'default': None}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
update_prompt
Activate or deactivate a prompt by its ID. Use is_active=true to restore a previous prompt version — the currently active prompt of the same type and subtype is deactivated automatically. To change prompt text, use create_prompt instead.
幂等
输入模式
{'type': 'object', 'required': ['prompt_id'], 'properties': {'is_active': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None, 'description': 'Activating a prompt automatically deactivates other prompts of the same type.'}, 'prompt_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
update_tool
Update an existing tool by its ID. Fetches the current tool and applies partial updates to name, description, or active status.
幂等
输入模式
{'type': 'object', 'required': ['tool_id'], 'properties': {'name': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'snake_case tool name, max 64 characters. Used as the function name when the LLM calls the tool.'}, 'active': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}], 'default': None}, 'tool_id': {'type': 'string', 'format': 'uuid'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'tool_config': {'anyOf': [{'type': 'object', 'required': ['properties'], 'properties': {'properties': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'format': {'enum': ['text', 'email', 'tel'], 'type': 'string', 'default': 'text', 'description': 'HTML input type'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'string', 'default': 'string'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'format': {'type': 'string', 'const': 'text', 'default': 'text', 'description': 'HTML input type'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'text_area', 'default': 'text_area'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'minimum': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'default': None}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'number', 'default': 'number'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'enum', 'field_type'], 'properties': {'enum': {'type': 'array', 'items': {'type': 'string'}}, 'name': {'type': 'string'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'select', 'default': 'select'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'format': {'type': 'string', 'const': 'date', 'default': 'date'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'date', 'default': 'date'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'format': {'type': 'string', 'const': 'time', 'default': 'time'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'time', 'default': 'time'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'required': ['name', 'field_type'], 'properties': {'name': {'type': 'string'}, 'required': {'type': 'boolean', 'default': False}, 'field_type': {'type': 'string', 'const': 'checkbox', 'default': 'checkbox'}, 'description': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}]}}}}, {'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'api_tool_config', 'default': 'api_tool_config'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'required': ['name', 'description'], 'properties': {'name': {'type': 'string', 'description': 'Name of the parameter. Used as a variable placeholder in URL, headers, or body with {{name}} notation.'}, 'type': {'enum': ['text', 'number', 'boolean'], 'type': 'string', 'default': 'text', 'description': 'Type of the parameter.'}, 'required': {'type': 'boolean', 'default': True, 'description': 'Whether this parameter is required for the API call.'}, 'description': {'type': 'string', 'description': 'Description of the parameter to help the AI understand what data to collect from the user.'}}, 'description': 'Parameter collected from the user for use in API requests.\n\nParameters can be used as placeholders in URL, headers, or body using {{parameter_name}} notation.'}, 'description': 'List of parameters to collect from the user for use in the API request.'}}, 'description': 'Configuration for the API tool sent to the LLM as a function.\n\nContains the parameters that the AI collects from users, which are then\nsubstituted into the URL, headers, and body using {{parameter_name}} notation.'}, {'type': 'null'}], 'default': None, 'description': "Function schema sent to the LLM. Pass as an inline JSON object â\x80\x94 do NOT serialize to a string. Use 'FormAPISchema' for form tools or 'APIToolConfig' for API-calling tools. Pass null to clear."}, 'function_arguments': {'anyOf': [{'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'knowledge_base_tool_arguments', 'default': 'knowledge_base_tool_arguments'}, 'rerank': {'type': 'boolean', 'default': False}, 'formatter': {'enum': ['chunks_with_source', 'numbered_chunks_with_source', 'grouped_chunks', 'grouped_chunks_with_custom_metadata', 'grouped_chunks_with_page_metadata'], 'type': 'string', 'default': 'grouped_chunks'}, 'sources_filter': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}, 'node_ids_filter': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}, 'retrieval_method': {'enum': ['default', 'parent_context'], 'type': 'string', 'default': 'default'}, 'node_labels_filter': {'anyOf': [{'type': 'array', 'items': {'enum': ['entry', 'content', 'contact', 'tool', 'fallback', 'integration', 'style', 'chat_navigator_style', 'search_style', 'search_result', 'navigator', 'feedback'], 'type': 'string'}}, {'type': 'null'}], 'default': None}, 'document_limit_rerank': {'type': 'integer', 'default': 25}, 'data_source_ids_filter': {'anyOf': [{'type': 'array', 'items': {'type': 'string'}}, {'type': 'null'}], 'default': None}, 'document_limit_default': {'type': 'integer', 'default': 15}, 'data_source_types_filter': {'anyOf': [{'type': 'array', 'items': {'enum': ['website_crawler', 'file_upload', 'node_editor', 'default_node', 'openAPI', 'helpspace', 'custom_website_crawler', 'webhook', 'wordpress'], 'type': 'string'}}, {'type': 'null'}], 'default': None}}}, {'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'node_lookup_tool_arguments', 'default': 'node_lookup_tool_arguments'}, 'node_ids': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of node IDs to look up in the graph.'}}}, {'type': 'object', 'required': ['sender_email'], 'properties': {'object': {'type': 'string', 'const': 'send_email_tool_arguments', 'default': 'send_email_tool_arguments'}, 'sender_email': {'type': 'string', 'format': 'email'}}}, {'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 5}, 'object': {'type': 'string', 'const': 'web_search_tool_arguments', 'default': 'web_search_tool_arguments'}}}, {'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string'}, 'object': {'type': 'string', 'const': 'web_page_reader_tool_arguments', 'default': 'web_page_reader_tool_arguments'}, 'target_selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Only returns elements from CSS selector.'}, 'wait_for_selector': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Wait for a specific element to appear before returning. For dynamic content.'}}}, {'type': 'object', 'required': ['form_title', 'submit_message', 'submit_button_text'], 'properties': {'object': {'type': 'string', 'const': 'form_tool_arguments', 'default': 'form_tool_arguments'}, 'form_title': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'submit_message': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'data_privacy_text': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Optional data privacy text. If provided, a checkbox should be displayed to the user.'}, 'notification_email': {'anyOf': [{'type': 'string', 'format': 'email'}, {'type': 'array', 'items': {'type': 'string', 'format': 'email'}}, {'type': 'null'}], 'default': None, 'description': 'Used for email forwarding of form submissions. If not provided, no email will be forwarded'}, 'submit_button_text': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'show_data_privacy_text': {'type': 'boolean', 'default': False}}}, {'type': 'object', 'required': ['projects', 'channels', 'domain'], 'properties': {'event': {'anyOf': [{'type': 'object', 'required': ['event_type', 'mapping'], 'properties': {'mapping': {'type': 'object', 'properties': {'id': {'type': 'string', 'default': '{{event_id}}'}, 'tags': {'type': 'string', 'default': '{{tags}}'}, 'type': {'type': 'string', 'const': 'carousel_v1', 'default': 'carousel_v1'}, 'title': {'type': 'string', 'default': '{{event_name}}'}, 'detail': {'type': 'string', 'default': '{{event_date_time.0.start_date}} - {{event_date_time.0.end_date}}<br>{{address.city}}<br>'}, 'image_url': {'type': 'string', 'default': '{{first_image.url}}'}, 'resource_url': {'type': 'string', 'default': '{{link}}'}}}, 'event_type': {'enum': ['carousel_v1'], 'type': 'string'}}}, {'type': 'null'}], 'default': None, 'description': 'Optional frontend event mapping.'}, 'domain': {'type': 'string'}, 'object': {'type': 'string', 'const': 'venus_knowledge_graph_tool_arguments', 'default': 'venus_knowledge_graph_tool_arguments'}, 'channels': {'type': 'string'}, 'projects': {'type': 'string'}, 'entity_type': {'type': 'string', 'const': 'Event', 'default': 'Event'}}}, {'type': 'object', 'required': ['secret_key', 'public_key'], 'properties': {'event': {'anyOf': [{'type': 'object', 'required': ['event_type', 'mapping'], 'properties': {'mapping': {'type': 'object', 'properties': {'id': {'type': 'string', 'default': '{{event_id}}'}, 'tags': {'type': 'string', 'default': '{{tags}}'}, 'type': {'type': 'string', 'const': 'carousel_v1', 'default': 'carousel_v1'}, 'title': {'type': 'string', 'default': '{{event_name}}'}, 'detail': {'type': 'string', 'default': '{{event_date_time.0.start_date}} - {{event_date_time.0.end_date}}<br>{{address.city}}<br>'}, 'image_url': {'type': 'string', 'default': '{{first_image.url}}'}, 'resource_url': {'type': 'string', 'default': '{{link}}'}}}, 'event_type': {'enum': ['carousel_v1'], 'type': 'string'}}}, {'type': 'null'}], 'default': None, 'description': 'Optional frontend event mapping.'}, 'object': {'type': 'string', 'const': 'regiondo_tool_arguments', 'default': 'regiondo_tool_arguments'}, 'public_key': {'type': 'string'}, 'secret_key': {'type': 'string'}}}, {'type': 'object', 'required': ['mcp_url'], 'properties': {'events': {'type': 'array', 'items': {'type': 'object', 'required': ['event_type', 'mapping'], 'properties': {'mapping': {'type': 'object', 'properties': {'id': {'type': 'string', 'default': '{{event_id}}'}, 'tags': {'type': 'string', 'default': '{{tags}}'}, 'type': {'type': 'string', 'const': 'carousel_v1', 'default': 'carousel_v1'}, 'title': {'type': 'string', 'default': '{{event_name}}'}, 'detail': {'type': 'string', 'default': '{{event_date_time.0.start_date}} - {{event_date_time.0.end_date}}<br>{{address.city}}<br>'}, 'image_url': {'type': 'string', 'default': '{{first_image.url}}'}, 'resource_url': {'type': 'string', 'default': '{{link}}'}}}, 'event_type': {'enum': ['carousel_v1'], 'type': 'string'}, 'mcp_tool_names': {'type': 'array', 'items': {'type': 'string'}, 'description': 'List of tool names this frontend event should be mapped to. If empty, map to all tools of the MCP server.'}, 'mcp_tool_entities': {'anyOf': [{'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'The key to use to identify the entity from the MCP server response'}, 'values': {'type': 'array', 'items': {'type': 'string'}, 'description': 'The specific entities (values) that should be mapped to the frontend event'}}}, {'type': 'null'}], 'default': None, 'description': 'Mapping to distinguish entities from the MCP server response. If None, map to all entities'}}}, 'description': 'List of frontend events to be triggered by this tool'}, 'object': {'type': 'string', 'const': 'mcp_server_tool_arguments', 'default': 'mcp_server_tool_arguments'}, 'headers': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Optional headers to be sent with the request to the MCP server.'}, 'mcp_url': {'type': 'string', 'format': 'uri', 'minLength': 1}, 'image_url': {'anyOf': [{'type': 'string', 'format': 'uri', 'minLength': 1}, {'type': 'null'}], 'default': None, 'description': 'Optional image URL to be shown in the Dashboard. Only for frontend display.'}}}, {'type': 'object', 'required': ['method', 'url'], 'properties': {'url': {'type': 'string', 'description': 'URL of the API endpoint. Can include parameter placeholders using mustache notation like {{parameter_name}}.'}, 'body': {'anyOf': [{'type': 'object', 'additionalProperties': True}, {'type': 'null'}], 'default': None, 'description': 'Request body. Values can include parameter placeholders using mustache notation like {{parameter_name}}.'}, 'event': {'anyOf': [{'type': 'object', 'required': ['event_type', 'mapping'], 'properties': {'mapping': {'type': 'object', 'properties': {'id': {'type': 'string', 'default': '{{event_id}}'}, 'tags': {'type': 'string', 'default': '{{tags}}'}, 'type': {'type': 'string', 'const': 'carousel_v1', 'default': 'carousel_v1'}, 'title': {'type': 'string', 'default': '{{event_name}}'}, 'detail': {'type': 'string', 'default': '{{event_date_time.0.start_date}} - {{event_date_time.0.end_date}}<br>{{address.city}}<br>'}, 'image_url': {'type': 'string', 'default': '{{first_image.url}}'}, 'resource_url': {'type': 'string', 'default': '{{link}}'}}}, 'event_type': {'enum': ['carousel_v1'], 'type': 'string'}}}, {'type': 'null'}], 'default': None, 'description': 'Optional frontend event mapping.'}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE'], 'type': 'string', 'description': 'HTTP method for the API request.'}, 'object': {'type': 'string', 'const': 'api_tool_arguments', 'default': 'api_tool_arguments'}, 'headers': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'HTTP headers for the request. Values can include parameter placeholders using mustache notation like {{parameter_name}}.'}, 'timeout': {'type': 'integer', 'default': 5, 'maximum': 30, 'minimum': 1, 'description': 'Request timeout in seconds.'}, 'query_params': {'anyOf': [{'type': 'object', 'additionalProperties': {'type': 'string'}}, {'type': 'null'}], 'default': None, 'description': 'Query parameters for the request. Values can include parameter placeholders using mustache notation like {{parameter_name}}.'}, 'response_path': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Optional dot notation to extract specific data from the API response.'}, 'integration_id': {'anyOf': [{'type': 'string', 'format': 'uuid'}, {'type': 'null'}], 'default': None, 'description': 'ID of the integration used to obtain an auth token for the request.'}, 'body_content_type': {'enum': ['application/json', 'application/x-www-form-urlencoded'], 'type': 'string', 'default': 'application/json', 'description': 'Content type of the request body.'}}, 'description': 'Arguments for the API tool that define how to make HTTP requests.\n\nContains the static configuration for executing API requests.\nUse {{parameter_name}} mustache notation in url, query_params, headers, and body\nto reference parameters defined in tool_config.'}, {'type': 'object', 'required': ['buttons'], 'properties': {'object': {'type': 'string', 'const': 'buttons_tool_arguments', 'default': 'buttons_tool_arguments'}, 'buttons': {'type': 'array', 'items': {'type': 'object', 'required': ['type', 'text'], 'properties': {'url': {'anyOf': [{'type': 'string', 'format': 'uri', 'minLength': 1}, {'type': 'null'}], 'default': None, 'description': 'URL for link_button type. Required for link_button, not used for button type. Allow mailto: and tel: links as well.'}, 'text': {'type': 'string', 'maxLength': 50, 'description': 'Button text to display. Should be short and descriptive.'}, 'type': {'enum': ['link_button', 'button'], 'type': 'string', 'description': 'Type of the button'}}, 'description': 'Individual button in the buttons tool.\n\n- link_button: Opens URL in new tab (if external) or navigates (like follow-up actions)\n- button: Uses text as input for sending new request'}, 'maxItems': 10, 'minItems': 1, 'description': 'List of buttons to display. Maximum 10 buttons.'}}, 'description': 'Arguments for the Buttons tool.\n\nThis tool allows AI to send buttons as a frontend event to users.\nNo inputs are required from the AI when executing this tool.\nMaximum 3 buttons can be sent.'}, {'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'google_maps_link_tool_arguments', 'default': 'google_maps_link_tool_arguments'}, 'icon_url': {'anyOf': [{'type': 'string', 'format': 'uri', 'minLength': 1}, {'type': 'null'}], 'default': None, 'description': 'Optional URL of an icon to display inside the link button.'}, 'default_travelmode': {'anyOf': [{'enum': ['driving', 'walking', 'bicycling', 'transit'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Default travel mode used when the AI does not specify one.'}}}, {'type': 'object', 'properties': {'object': {'type': 'string', 'const': 'google_maps_embed_tool_arguments', 'default': 'google_maps_embed_tool_arguments'}, 'default_mode': {'anyOf': [{'enum': ['driving', 'walking', 'bicycling', 'transit', 'flying'], 'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Default travel mode used when the AI does not specify one.'}}}, {'type': 'object', 'required': ['integration_id'], 'properties': {'object': {'type': 'string', 'const': 'calendly_tool_arguments', 'default': 'calendly_tool_arguments'}, 'integration_id': {'type': 'string', 'format': 'uuid', 'description': 'ID of the connected Calendly integration to use for scheduling.'}}}, {'type': 'null'}], 'default': None, 'description': "Fixed runtime arguments NOT collected from the LLM (e.g. recipient email, rerank flag, knowledge-base ID). Pass as an inline JSON object â\x80\x94 do NOT serialize to a string. Must include an 'object' discriminator field matching the tool type."}}, 'additionalProperties': False}
输出模式
{'type': 'object', 'additionalProperties': True}
已更改
update_tool
2026年10月1日 02:44
已更改
create_tool
2026年10月1日 02:44
已更改
update_tool
2026年9月23日 02:42
已更改
create_tool
2026年9月23日 02:42
已更改
create_tool
2026年9月19日 02:41
已添加
update_chat_request_analytics
2026年9月17日 12:40
已添加
get_active_sessions_by_embed
2026年9月17日 12:40
已添加
read_search_request_results
2026年9月17日 12:40
已添加
read_chat_request_tool_calls
2026年9月17日 12:40
已添加
read_chat_request_documents
2026年9月17日 12:40
已添加
get_trending_classifications
2026年9月17日 12:40
已添加
get_answer_type_distribution
2026年9月17日 12:40
已添加
get_top_tags
2026年9月17日 12:40
已添加
get_top_searches
2026年9月17日 12:40
已添加
get_top_interaction_sources
2026年9月17日 12:40
已添加
get_top_clicked_urls
2026年9月17日 12:40
已添加
get_top_cited_sources
2026年9月17日 12:40
已添加
get_sentiment_distribution
2026年9月17日 12:40
已添加
get_top_geographies
2026年9月17日 12:40
已添加
get_top_devices
2026年9月17日 12:40
已添加
get_top_languages
2026年9月17日 12:40
已添加
get_top_locales
2026年9月17日 12:40
已添加
get_active_sessions_over_time
2026年9月17日 12:40
已添加
read_session_detail
2026年9月17日 12:40
已添加
read_sessions
2026年9月17日 12:40
已添加
update_tool
2026年9月17日 12:40
已添加
create_tool
2026年9月17日 12:40
已添加
read_tool
2026年9月17日 12:40
已添加
list_tools
2026年9月17日 12:40
已添加
update_prompt
2026年9月17日 12:40