update_assistant
Modify an existing VoiceAI assistant's configuration, including name, prompt, AI model, and voice/text settings for customized AI interactions.
Instructions
Update an existing assistant
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| assistant_id | Yes | Assistant ID | |
| name | No | Assistant name | |
| apiKey | No | OpenAI API Key | |
| welcome_message | No | Welcome message | |
| prompt | No | Instructions/Prompt | |
| active | No | Whether assistant is active | |
| assistant_type | No | ||
| ai_platform | No | ||
| openai_model | No | AI Model | |
| openai_temperature | No | AI Temperature (0-2) | |
| booking_bot | No | Is booking bot | |
| location | No | GoHighLevel Location | |
| calendar | No | Calendar ID | |
| timezone | No | Timezone | |
| custom_field | No | Custom field |
Implementation Reference
- index.js:562-567 (handler)Handler logic for the 'update_assistant' tool: prepares and sends a PATCH request to the backend API to update the assistant identified by assistant_id with the provided parameters, filtering empty values.case 'update_assistant': url = `${this.baseUrl}/assistants/${args.assistant_id}`; method = 'PATCH'; const { assistant_id, ...updateData } = args; body = this.filterEmptyValues(updateData); break;
- index.js:205-229 (schema)Schema definition for the 'update_assistant' tool, including input parameters and validation rules, provided in the listTools response.{ 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)Utility function that removes undefined, null, and empty string values from the update data object 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; }