Create Bot
neuron_create_botCreate a new AI bot with specified name, model, and behavior instructions. Returns the created bot object.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name for the bot | |
| llmModel | No | OpenRouter model ID (e.g., 'deepseek/deepseek-v4.1-flash' (default), 'google/gemini-2.5-flash') | |
| metadata | No | Arbitrary metadata object stored with the bot. Known keys: 'communityExitFollowUp' (auto-DM users who leave watched groups — { enabled: boolean, groupJids: string[], message: string with {name} placeholder }), 'learningConfig' (self-learning from conversations — { enabled: boolean, folder: string, groupChats: string[], dmPhones: string[], useAdminPhones: boolean }), 'loadBalancing' (multi-channel round-robin — { enabled: boolean, strategy: string }), 'welcomeNewMembers' (fine-tune welcome behavior — { batchWindowSeconds: number, groupJids: string[] }). Additional custom keys are preserved as-is. | |
| maxTokens | No | Maximum number of tokens the bot can generate per response | |
| assignment | No | One-sentence role definition for the bot (max 2000 chars) | |
| systemPrompt | Yes | System prompt that defines the bot's behavior, personality, and response guidelines | |
| throttleMode | No | While paused: 'hold' (default) queues sends and delivers them when safe — the bot API returns success with throttle.status 'held'; 'drop' refuses them — the bot API returns 429 THROTTLED with Retry-After. | |
| llmTemperature | No | Temperature parameter controlling response randomness (0 = deterministic, 2 = creative) | |
| welcomeMessage | No | Welcome message sent to new members joining groups the bot manages. Setting this field activates the batched welcome feature — new members are accumulated over a window (default 60s) and welcomed in a single message with @mentions. Set to null to disable. | |
| fallbackMessage | No | Message sent when the bot cannot understand user input (max 2000 chars) | |
| greetingMessage | No | Automatic greeting sent when a new conversation starts (max 2000 chars) | |
| throttleEnabled | No | "Protect my number": slow down, then pause, the bot's proactive WhatsApp sends (API, flows, tasks) when the number nears volume that gets numbers suspended, and resume automatically. Replies to inbound messages are never held. WhatsApp doesn't publish its limits: these are conservative estimates that cut the risk but can't guarantee no suspension; content and spam reports matter as much as volume. | |
| escalationPrompt | No | Prompt template used when escalating to a human agent (max 5000 chars) | |
| responsibilities | No | Array of responsibility descriptions defining what the bot handles | |
| throttleHoldHours | No | Hold mode: give up on a held message after this many hours (default 24); it then appears under failed messages. | |
| whatsappChannelId | No | Unique identifier (UUID) of the WhatsApp channel to associate with the bot |