Skip to main content

Bot Object

A Bot represents the core agent that handles conversations for an organization. Each bot can be configured with specific training modules, workflows, and settings to match the organization’s needs.

Fields

FieldTypeDescription
idstringUnique identifier for the bot (UUID format)
external_idstringOptional external identifier to link a bot with your system (e.g., customer ID, practice ID)
namestringThe bot’s given name (e.g., “Annie”, “Marcus”, “Sophie”)
internalNamestringInternal identifier to categorize the bot type (e.g., “ortho_bot”, “default_bot”)
childBotsarrayArray of child bot IDs that this bot can delegate conversations to

Example Bot Object

{
  "id": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Annie",
  "internalName": "general_practice_bot",
  "external_id": "practice_123_main_bot",
  "childBots": ["550e8400-e29b-41d4-a716-446655440001", "550e8400-e29b-41d4-a716-446655440002"]
}

Parent-Child Bot Relationships

Bots can have parent-child relationships that enable sophisticated conversation delegation and specialization:

Many-to-Many Relationships

  • Multiple Parents: A bot can have multiple parent bots that delegate to it
  • Multiple Children: A parent bot can delegate to multiple specialized child bots

Conversation Delegation

Instead of having a single bot handle multiple locations or services, parent bots can delegate conversations to specialized child bots based on:
  • Service Type: Route orthodontic inquiries to an ortho-specialized bot
  • Location: Delegate to location-specific bots for multi-office practices
Note: This feature enables more sophisticated conversation routing than traditional multi-location setups. See the Structuring Bots guide for implementation patterns.

Relationships

Bots are central to the Annie platform and serve as the basis for many other objects:
  • Training modules: Workflows, Actions, FAQs, Templates
  • Configuration: Forwarding Numbers
  • Conversations: All conversations are handled by a specific bot
  • Organizations: Bots can be associated with multiple organizations for multi-location support

Organization Integration

Bots and organizations have a flexible many-to-many relationship:
  • Multi-Location Bots: A single bot can serve multiple organizations, allowing it to handle inquiries across different locations while accessing location-specific information (hours, staff, addresses)
  • Shared Organizations: Multiple bots can reference the same organization, enabling specialized bots for different services at a single location
  • Flexible Deployment: Mix and match bots and organizations to create the structure that best fits your business needs
This allows you to deploy bots that can seamlessly work across multiple locations while maintaining location-specific context when needed.