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.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | snake_case tool name, max 64 characters. Used as the function name when the LLM calls the tool. | |
| agents | No | 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 | Yes | 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 | Yes | Natural-language description of what the tool does and when the LLM should call it. | |
| tool_config | No | Function schema sent to the LLM. Pass as an inline JSON object — do NOT serialize to a string. Use 'FormAPISchema' for form tools or 'APIToolConfig' for API-calling tools. Pass null to clear. | |
| function_arguments | No | Fixed runtime arguments NOT collected from the LLM (e.g. recipient email, rerank flag, knowledge-base ID). Pass as an inline JSON object — do NOT serialize to a string. Must include an 'object' discriminator field matching the tool type. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||