Skip to main content
Glama

create_assistant

Build a custom AI assistant with detailed settings, including name, welcome message, AI platform, and integrations like Google Calendar and Twilio for tailored voice or text interactions.

Instructions

Create a new assistant with comprehensive configuration

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
activeNoWhether assistant is active
ai_platformNoAI Provider
apiKeyYesOpenAI API Key
assistant_typeNoAI Type
booking_botNoIs booking bot
calendarNoCalendar ID
custom_fieldNoCustom field
elevenlabs_voice_idNoElevenLabs Voice ID
google_calendarNoGoogle Calendar Integration
limit_call_timeNoLimit call time in seconds
limit_call_tokensNoLimit call tokens
locationNoGoHighLevel Location
max_call_tokensNoMax call tokens
nameYesAssistant name
openai_modelNoAI Modelgpt-3.5-turbo
openai_realtimeNoOpenAI Realtime
openai_realtime_voiceNoOpenAI Realtime Voice
openai_temperatureNoAI Temperature (0-2)
openai_websitesNoOpenAI Websites
promptNoInstructions/Prompt for the assistant
timezoneNoTimezone
twilio_initial_delayNoTwilio Initial Delay
twilio_phoneNoTwilio Phone Number
twilio_sidNoTwilio SID
twilio_speech_timeoutNoTwilio Speech Timeout
twilio_tokenNoTwilio Token
twilio_welcomeNoTwilio Welcome Message
webhook_to_sendNoWebhook URL
welcome_messageNoWelcome messageHello how can I help you today?

Implementation Reference

  • index.js:166-204 (registration)
    Registers the 'create_assistant' tool including its description and detailed input schema in the ListTools response.
    { 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'] } },
  • Executes the 'create_assistant' tool by preparing a POST request to the backend /assistants endpoint with filtered arguments.
    case 'create_assistant': url = `${this.baseUrl}/assistants`; method = 'POST'; body = this.filterEmptyValues(args); break;
  • Utility function to remove undefined, null, or empty string values from the tool arguments object before API submission.
    filterEmptyValues(obj) { const cleaned = {}; for (const [key, value] of Object.entries(obj)) { if (value !== undefined && value !== null && value !== '') { cleaned[key] = value; } } return cleaned; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Business-On-Steroids/MCP-VoiceAI-WhiteLabel'

If you have feedback or need assistance with the MCP directory API, please join our Discord server