Skip to main content

Core Concepts

Understanding these fundamental concepts will help you build powerful AI-driven conversational experiences with Plati AI.

Overview

Business

Top-level entity that aggregates multiple workspaces

Workspace

Isolated environment with configurations, tokens, channels and workers

Workers

Conversational applications that can contain multiple assistants

Assistants

Configurable language models with specific instructions and capabilities

Channels

Communication endpoints connecting assistants to platforms like WhatsApp

Conversations

Message exchanges between identities and assistants, auto-created on first message

Identities

Aggregations of contacts representing users with stages and persistent memory

Contacts

Individual contact points (phone, email) aggregated into identities

MCP

Model Context Protocol for extending assistants with custom functions

Webhooks

HTTP callbacks for real-time event notifications and integrations

Business & Workspace

Business

A Business is the top-level entity in Plati AI that aggregates multiple workspaces. It represents your organization and provides:
  • Multi-workspace management: Organize different projects, environments, or departments
  • Centralized billing: Single billing account for all workspaces
  • Cross-workspace analytics: Unified view across all workspaces
  • Team management: Manage users across multiple workspaces

Workspace

A Workspace is an isolated environment within a Business that contains:
  • Workers: Your conversational applications
  • Assistants: AI models configured for specific tasks
  • Channels: Communication endpoints (WhatsApp, email, etc.)
  • API Keys: Programmatic access credentials
  • Users: Team members with specific permissions
  • Settings: Configuration and preferences
Isolation: Each workspace is completely isolated - resources, data, and configurations don’t leak between workspaces. This allows you to separate production, staging, and development environments.

Workers

Workers are conversational application containers that orchestrate conversations:
  • Multi-assistant support: Can contain multiple assistants for different purposes
  • Channel connections: Connect to multiple channels simultaneously
  • Memory scope: Has its own memory and function scope
  • Conversation routing: Routes incoming messages to appropriate assistants

Use Cases

  • Main Support Worker: Handles primary customer inquiries
  • Follow-up Worker: Manages scheduled tasks and reminders
  • Sales Worker: Focuses on conversion and upselling
  • Onboarding Worker: Guides new users through setup

Assistants

Assistants are configurable language models that power your conversations:
  • Model selection: Choose from GPT-4, GPT-3.5, and other models
  • Instructions: Define behavior, personality, and capabilities through prompts
  • Configuration: Temperature, top-p, max-tokens, and other model parameters
  • Memory: Enable or disable conversation memory
  • Functions: Connect MCP servers for custom capabilities

Assistant Configuration

{
  "name": "Support Assistant",
  "provider": "OPENAI",
  "model": "gpt-4",
  "instructions": "You are a helpful customer service assistant...",
  "configs": {
    "temperature": 0.7,
    "max_token_limit": 2000
  }
}

Channels

Channels are communication endpoints that connect your assistants to different platforms:
  • WhatsApp Business API: Official WhatsApp integration
  • Email: Traditional email channel
  • Webhooks: Custom integrations via HTTP callbacks
  • Webchat: Web-based chat widget (coming soon)

Channel Features

  • Message routing: Automatically routes messages to connected workers
  • Webhook configuration: Handles platform-specific webhooks
  • Template management: Manages message templates (WhatsApp)
  • Media support: Handles images, videos, documents, and other media

Conversations

Conversations are message exchanges between identities and assistants:
  • Auto-creation: Created automatically when a user sends the first message
  • Multi-channel: Single conversation can span multiple channels
  • Context preservation: Maintains context across messages
  • Streaming support: Real-time streaming responses available

Conversation Flow

  1. User sends message via channel
  2. Channel receives and routes to worker
  3. Worker processes with appropriate assistant
  4. Assistant generates response using context and memory
  5. Response sent back through channel
  6. Conversation and memory updated
No Manual Creation: You don’t need to manually create conversations. They’re automatically created when users interact with your channels.

Identities & Contacts

Contacts

Contacts are individual contact points:
  • Phone numbers: WhatsApp, SMS, voice calls
  • Email addresses: Email communications
  • External IDs: Custom identifiers from your systems

Identities

Identities aggregate multiple contacts into a single user profile:
  • Contact aggregation: Groups all contact points for the same user
  • Unified profile: Single view across all channels
  • Stage tracking: Current stage in customer journey (Lead, Consumer, Partner)
  • Memory: Persistent conversation history
  • Metadata: Custom attributes and preferences

Identity Stages

Identities can be in different stages to adapt behavior:

Lead

Potential customers who haven’t converted yet

Consumer

Qualified customers with active engagement

Partner

Business partners or active collaborators

Memory System

Memories are interaction records between identities and assistants:
  • Conversation history: Complete record of all interactions
  • Context base: Provides context for language models
  • Cross-session continuity: Maintains relationships across sessions
  • Multi-channel continuity: Unified history across all channels

MCP (Model Context Protocol)

MCP enables your assistants to call external functions and APIs:

What MCP Enables

  • Query external databases
  • Call third-party APIs
  • Send notifications or emails
  • Perform custom business logic
  • Access real-time data
  • Integrate with your existing systems

How MCP Works

1

Develop MCP Server

Create an HTTP server compatible with MCP protocol
2

Register with Plati

Register your MCP server in your workspace
3

Connect to Assistant

Link the MCP to specific assistants
4

Use in Prompts

Functions become available in the prompt context
Extensibility: MCP is Plati’s primary extensibility mechanism, allowing you to integrate any external system or service.

Webhooks

Webhooks are HTTP callbacks for real-time event notifications:

Webhook Events

  • Message received: When a user sends a message
  • Message sent: When a message is delivered
  • Conversation created: When a new conversation starts
  • Identity updated: When identity data changes
  • Custom events: Your own custom webhook events

Webhook Configuration

  • URL: Endpoint to receive webhook calls
  • Authentication: Token-based authentication
  • Retry logic: Automatic retries for failed deliveries
  • Event filtering: Subscribe to specific events

Platform Architecture

How Conversations Flow

Multi-Channel Architecture

WhatsApp Business

Full official WhatsApp integration with rich media support

Email

Traditional email channel for formal communications

Webhooks

Connect any platform via webhook integration

Webchat

Web-based chat widget (coming soon)

WhatsApp Capabilities

Plati supports all official WhatsApp message types:
  • Text messages with formatting
  • Audio messages and voice notes
  • Images with captions
  • Videos with descriptions
  • Documents (PDF, Word, etc.)
  • Contacts sharing
  • Location sharing
  • Stickers and custom stickers
  • Reactions (emoji responses)
  • Interactive buttons for quick actions
  • List messages with multiple options
  • WhatsApp Flows for complex interactions
  • Templates (HSM) for business messaging

Native Functions

Plati provides built-in functions available to all assistants:

Scheduled Tasks

Create reminders, follow-ups, and recurring messages

System Notifications

Send system messages and alerts to users

Advanced Prompt Engineering

Plati supports highly dynamic and programmable prompts:

Dynamic Variables

You are a {{assistant.role}} for {{channel.name}}.
User: {{user.name}} (Stage: {{user.stage}})
Last Order: {{user.last_order.id}}

{{#if user.stage == "lead"}}
Focus on qualification and conversion.
{{else}}
Provide comprehensive support.
{{/if}}

Function Calls

If the user asks about order status, call:
{{function.check_order_status(order_id)}}

For scheduling follow-ups:
{{function.schedule_followup(message, date)}}

Best Practices

Always clearly define the assistant’s role at the beginning of the prompt
Use {{variables}} to adapt to current context and user stage
Don’t rely solely on memory system - include explicit context when needed
Document function inputs and outputs within the prompt

Security & Compliance

Data Encryption

All data encrypted in transit and at rest

GDPR Compliant

Built-in tools for data management and privacy

Role-Based Access

Granular permissions for workspace members

Next Steps