update_assistant
Modify and customize an existing AI assistant by updating its ID, name, API key, welcome message, prompt, AI model, and other parameters for enhanced functionality on the VoiceAI-MCP-VAVicky server.
Instructions
Update an existing assistant
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Whether assistant is active | |
| ai_platform | No | ||
| apiKey | No | OpenAI API Key | |
| assistant_id | Yes | Assistant ID | |
| assistant_type | No | ||
| booking_bot | No | Is booking bot | |
| calendar | No | Calendar ID | |
| custom_field | No | Custom field | |
| location | No | GoHighLevel Location | |
| name | No | Assistant name | |
| openai_model | No | AI Model | |
| openai_temperature | No | AI Temperature (0-2) | |
| prompt | No | Instructions/Prompt | |
| timezone | No | Timezone | |
| welcome_message | No | Welcome message |
Implementation Reference
- index.js:562-567 (handler)Handler implementation for the 'update_assistant' tool. Constructs a PATCH request to the API endpoint `/assistants/{assistant_id}` using filtered arguments excluding the assistant_id.case 'update_assistant': url = `${this.baseUrl}/assistants/${args.assistant_id}`; method = 'PATCH'; const { assistant_id, ...updateData } = args; body = this.filterEmptyValues(updateData); break;
- index.js:208-227 (schema)Input schema definition for the 'update_assistant' tool, specifying the parameters and their types, with 'assistant_id' as required.inputSchema: { type: 'object', properties: { assistant_id: { type: 'string', description: 'Assistant ID' }, name: { type: 'string', description: 'Assistant name' }, apiKey: { type: 'string', description: 'OpenAI API Key' }, welcome_message: { type: 'string', description: 'Welcome message' }, prompt: { type: 'string', description: 'Instructions/Prompt' }, active: { type: 'boolean', description: 'Whether assistant is active' }, assistant_type: { type: 'string', enum: ['Text Only', 'Voice Only', 'Text & Voice', 'Voice & Text'] }, ai_platform: { type: 'string', enum: ['openai', 'gemini', 'openrouter', 'deepseek'] }, openai_model: { type: 'string', description: 'AI Model' }, openai_temperature: { type: 'number', description: 'AI Temperature (0-2)' }, booking_bot: { type: 'boolean', description: 'Is booking bot' }, location: { type: 'string', description: 'GoHighLevel Location' }, calendar: { type: 'string', description: 'Calendar ID' }, timezone: { type: 'string', description: 'Timezone' }, custom_field: { type: 'string', description: 'Custom field' } }, required: ['assistant_id']
- index.js:205-228 (registration)Registration of the 'update_assistant' tool in the list of available tools returned by ListToolsRequestSchema handler.{ name: 'update_assistant', description: 'Update an existing assistant', inputSchema: { type: 'object', properties: { assistant_id: { type: 'string', description: 'Assistant ID' }, name: { type: 'string', description: 'Assistant name' }, apiKey: { type: 'string', description: 'OpenAI API Key' }, welcome_message: { type: 'string', description: 'Welcome message' }, prompt: { type: 'string', description: 'Instructions/Prompt' }, active: { type: 'boolean', description: 'Whether assistant is active' }, assistant_type: { type: 'string', enum: ['Text Only', 'Voice Only', 'Text & Voice', 'Voice & Text'] }, ai_platform: { type: 'string', enum: ['openai', 'gemini', 'openrouter', 'deepseek'] }, openai_model: { type: 'string', description: 'AI Model' }, openai_temperature: { type: 'number', description: 'AI Temperature (0-2)' }, booking_bot: { type: 'boolean', description: 'Is booking bot' }, location: { type: 'string', description: 'GoHighLevel Location' }, calendar: { type: 'string', description: 'Calendar ID' }, timezone: { type: 'string', description: 'Timezone' }, custom_field: { type: 'string', description: 'Custom field' } }, required: ['assistant_id'] }
- index.js:722-730 (helper)Helper function used by update_assistant handler to remove empty values from the update data before sending the API request.filterEmptyValues(obj) { const cleaned = {}; for (const [key, value] of Object.entries(obj)) { if (value !== undefined && value !== null && value !== '') { cleaned[key] = value; } } return cleaned; }