create_assistant
Configure and deploy AI assistants for voice or text interactions by setting parameters like provider, model, voice, and integration options.
Instructions
Create a new assistant with comprehensive configuration
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Assistant name | |
| apiKey | Yes | OpenAI API Key | |
| welcome_message | No | Welcome message | Hello how can I help you today? |
| prompt | No | Instructions/Prompt for the assistant | |
| active | No | Whether assistant is active | |
| assistant_type | No | AI Type | |
| ai_platform | No | AI Provider | |
| openai_model | No | AI Model | gpt-3.5-turbo |
| 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 | |
| limit_call_time | No | Limit call time in seconds | |
| limit_call_tokens | No | Limit call tokens | |
| max_call_tokens | No | Max call tokens | |
| elevenlabs_voice_id | No | ElevenLabs Voice ID | |
| twilio_sid | No | Twilio SID | |
| twilio_token | No | Twilio Token | |
| twilio_phone | No | Twilio Phone Number | |
| twilio_welcome | No | Twilio Welcome Message | |
| twilio_speech_timeout | No | Twilio Speech Timeout | |
| twilio_initial_delay | No | Twilio Initial Delay | |
| google_calendar | No | Google Calendar Integration | |
| webhook_to_send | No | Webhook URL | |
| openai_realtime | No | OpenAI Realtime | |
| openai_realtime_voice | No | OpenAI Realtime Voice | |
| openai_websites | No | OpenAI Websites |
Implementation Reference
- index.js:556-560 (handler)Switch case handling the 'create_assistant' tool: constructs a POST request to `${baseUrl}/assistants` with body from filtered arguments.case 'create_assistant': url = `${this.baseUrl}/assistants`; method = 'POST'; body = this.filterEmptyValues(args); break;
- index.js:166-204 (schema)Tool definition including name, description, and detailed inputSchema for 'create_assistant' parameters.{ name: 'create_assistant', description: 'Create a new assistant with comprehensive configuration', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Assistant name' }, apiKey: { type: 'string', description: 'OpenAI API Key' }, welcome_message: { type: 'string', description: 'Welcome message', default: 'Hello how can I help you today?' }, prompt: { type: 'string', description: 'Instructions/Prompt for the assistant' }, active: { type: 'boolean', description: 'Whether assistant is active', default: true }, assistant_type: { type: 'string', enum: ['Text Only', 'Voice Only', 'Text & Voice', 'Voice & Text'], description: 'AI Type' }, ai_platform: { type: 'string', enum: ['openai', 'gemini', 'openrouter', 'deepseek'], description: 'AI Provider' }, openai_model: { type: 'string', description: 'AI Model', default: 'gpt-3.5-turbo' }, openai_temperature: { type: 'number', description: 'AI Temperature (0-2)', default: 0.8 }, booking_bot: { type: 'boolean', description: 'Is booking bot', default: false }, location: { type: 'string', description: 'GoHighLevel Location' }, calendar: { type: 'string', description: 'Calendar ID' }, timezone: { type: 'string', description: 'Timezone' }, custom_field: { type: 'string', description: 'Custom field' }, limit_call_time: { type: 'number', description: 'Limit call time in seconds', default: 240 }, limit_call_tokens: { type: 'number', description: 'Limit call tokens', default: 2000 }, max_call_tokens: { type: 'number', description: 'Max call tokens', default: 18000 }, elevenlabs_voice_id: { type: 'string', description: 'ElevenLabs Voice ID' }, twilio_sid: { type: 'string', description: 'Twilio SID' }, twilio_token: { type: 'string', description: 'Twilio Token' }, twilio_phone: { type: 'string', description: 'Twilio Phone Number' }, twilio_welcome: { type: 'string', description: 'Twilio Welcome Message' }, twilio_speech_timeout: { type: 'number', description: 'Twilio Speech Timeout', default: 3 }, twilio_initial_delay: { type: 'number', description: 'Twilio Initial Delay', default: 1 }, google_calendar: { type: 'boolean', description: 'Google Calendar Integration', default: false }, webhook_to_send: { type: 'string', description: 'Webhook URL' }, openai_realtime: { type: 'boolean', description: 'OpenAI Realtime', default: false }, openai_realtime_voice: { type: 'string', enum: ['alloy', 'echo', 'fable', 'nova', 'onyx', 'shimmer'], description: 'OpenAI Realtime Voice' }, openai_websites: { type: 'array', items: { type: 'string' }, description: 'OpenAI Websites' } }, required: ['name', 'apiKey'] } },
- index.js:722-730 (helper)Utility function used by create_assistant (and others) to filter out empty/undefined values from the request body.filterEmptyValues(obj) { const cleaned = {}; for (const [key, value] of Object.entries(obj)) { if (value !== undefined && value !== null && value !== '') { cleaned[key] = value; } } return cleaned; }