Architecture & Key Concepts

System architecture, multi-tenancy, the tool loop, authentication, and model routing

Last updated: March 23, 2026

Module 2 of 18 · Foundation

System Architecture

OpenIntent has four main components that work together:

1. The Gateway

The gateway is the brain of the platform. It handles:

  • Chat routing — receives messages, picks the right AI model, returns responses
  • Tool execution — runs tools in a secure sandbox when the AI needs to take action
  • Authentication — secure login, API keys, admin keys
  • Background jobs — task scheduling, knowledge extraction, greeting generation
  • Usage metering — tracks every token and tool call for billing

The gateway exposes an API that both the mobile app and dashboard consume.

2. The Mobile App

Your clients’ primary interface. A chat-first experience where they talk to their AI assistant. Features:

  • Conversational AI with streaming responses
  • Conversation history
  • Integration management (connect Google, Slack, etc.)
  • Task and memory views
  • Personalized theming based on user preferences

3. The Dashboard

Your admin control panel. Manage:

  • Customers and their API keys
  • Tool catalog (approve, reject, configure)
  • Integration provider setup
  • Usage reports and billing data
  • Host approval for tool sandboxing

4. AI Models

The platform uses multiple AI models at different tiers:

Routing TierUse Case
FastQuick answers, greetings, simple lookups, standard conversations
AdvancedReasoning, planning, tool creation, nuanced analysis

Users can toggle between fast and advanced models from the app.

Key Concepts

Multi-Tenancy

OpenIntent supports two levels of multi-tenancy:

Customers — your business clients (the companies paying you)

  • Each customer gets API keys for programmatic access
  • Usage is tracked per customer for billing

Users — individual people within those companies

  • Authenticated via single sign-on
  • Each user gets their own conversations, memories, tasks, and integrations
  • Users are auto-provisioned on first login

The Tool Loop

This is what makes OpenIntent more than a chatbot. When the AI determines it needs to take action:

User: "Send a follow-up email to the leads from yesterday's meeting"

1. AI receives the message along with a list of available tools
2. AI decides: I need to check yesterday's calendar events
3. Gateway runs the calendar tool in a secure sandbox, returns event data
4. AI processes results, decides: now I need to send emails
5. Gateway runs the email tool, emails are sent
6. AI generates a confirmation response
7. → "Done! I sent follow-up emails to 3 attendees from yesterday's 2pm meeting."

This loop runs up to 10 iterations, allowing the AI to chain multiple actions together.

Authentication

There are three ways to authenticate with the platform:

  1. App login — for mobile app and dashboard users. Users sign in through a secure login screen, and the platform handles session management and automatic token refresh behind the scenes.

  2. API keys — for programmatic access. Each customer or user can be issued an API key for integrating OpenIntent into their own systems. Keys are generated through the admin dashboard and should be stored securely.

  3. Admin keys — for dashboard and administrative access. A separate credential that protects admin-only operations.

System Prompts (Dynamic Templates)

Every user’s AI assistant has a personalized system prompt built from:

  • User name (from their profile)
  • Current time (respects timezone preferences)
  • User preferences
  • Memories (facts the AI has learned about them)
  • Open tasks (with due dates)
  • Pending clarifications (questions the AI needs answered)

This means the AI “knows” each client’s context every time they start a conversation.

Model Routing

The platform automatically routes simple requests to fast models and complex ones to advanced models. This lets you optimize costs: most conversations use the affordable model, and only complex reasoning tasks use the more powerful (and more expensive) one.

Users can also manually select which tier they want from the app settings.

Edit on GitHub
Was this helpful?