Skip to main content
Glama

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

Implementation Reference

  • 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;
  • 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'] } },
  • 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; }

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