The Chat Interface

How chat works end-to-end: message flow, model selection, streaming, system prompts, and greetings

Last updated: March 23, 2026

Module 4 of 18 · Foundation

Overview

The chat interface is the primary way your clients interact with OpenIntent. Understanding how it works — from message flow to model selection — is essential for configuring the best experience for each client.

How Chat Works

The Request Flow

When a user sends a message:

  1. The mobile app sends the message along with the current conversation
  2. The gateway verifies the user’s identity and loads their context
  3. A system prompt is built dynamically (memories, tasks, preferences, etc.)
  4. Message history for the conversation is loaded
  5. The AI model receives the system prompt, history, new message, and available tools
  6. The response streams back in real time for a word-by-word display
  7. Messages are saved for future reference
  8. Background processing: knowledge extraction runs to update memories and conversation metadata

Model Selection

Users choose between two tiers:

Fast Mode (Default)

  • Best for: Quick questions, lookups, simple tasks
  • Cost: Low
  • Speed: Fast response times

Advanced Mode

  • Best for: Multi-step reasoning, tool creation, nuanced analysis
  • Cost: Higher (premium token pricing)
  • Speed: Slower but more capable

Users toggle this in the app settings. As an agency, you might:

  • Default all clients to fast mode to control costs
  • Offer advanced mode as a premium tier
  • Use advanced mode only for specific automation tasks

Conversations

Conversation Lifecycle

New conversation → Messages exchanged → Knowledge extracted
                                       → Title generated
                                       → Summary written
                                       → Sentiment analyzed

Each conversation stores:

  • Title — AI-generated 3-8 word description
  • Summary — One-sentence factual summary
  • Sentiment — positive, neutral, negative, frustrated, or confused
  • Messages — Full history with roles (user, assistant, system)

Managing Conversations

Users can view and manage their conversations through the app:

  • Conversation history — browse all past conversations with titles and timestamps
  • Full message view — open any conversation to see the complete exchange, including tool actions taken
  • Delete — remove conversations they no longer need

The conversation list includes message counts and timestamps, making it easy to find past interactions.

Streaming Responses

The mobile app displays responses word-by-word as they stream in:

  • Words appear with a smooth fade-in animation
  • Markdown formatting is rendered in real time
  • Tool call progress is shown inline so users can see what the AI is doing

This creates a natural, responsive feel — users see the AI “thinking” and responding progressively rather than waiting for a complete response.

System Prompts

The system prompt is what makes each client’s AI assistant unique. It’s built automatically with real-time data injection.

Default Behavior

Every message the AI sees starts with context like:

You are an AI assistant for sarah@acmerealty.com.
Current time: 2026-03-23 10:30 AM EDT.

What you know about this user:
- Sarah runs a real estate agency in Portland
- She prefers brief, action-oriented responses
- Her main CRM is ERPNext
- She has 15 active property listings

Open tasks:
- Send weekly market report (due: Monday)
- Follow up with Johnson lead (due: tomorrow)

Pending questions:
- Which email template should I use for cold leads?

Customizing the Template

For agency use, you’ll want to customize templates per client type:

Real Estate Template:

You are a real estate assistant. You help [user] manage
property listings, schedule showings, follow up with leads, and
prepare market reports. Always check the calendar before suggesting
meeting times. When creating follow-up tasks, default to 48-hour
follow-up windows.

Marketing Agency Template:

You are a marketing operations assistant for [user]. You
manage campaign scheduling, content calendars, lead nurturing
sequences, and reporting. Always ask which campaign a task relates
to before proceeding.

The platform automatically fills in the user’s name, current time, memories, tasks, and other context — you just define the role and behavioral instructions.

The Greeting System

When a user opens the app, they see a personalized greeting instead of a blank screen:

  • Generated by the AI in the background
  • Incorporates unread notifications and upcoming tasks
  • Creates a warm, engaging first impression

Example greetings:

  • “Good morning, Sarah! You have 2 showings today and a lead follow-up due at 3pm.”
  • “Welcome back! The weekly report ran successfully — 12 new leads captured this week.”

Hands-On Exercise

  1. Send a message through the chat interface and observe the streaming response
  2. Switch between fast and advanced models — notice the difference in response quality and speed
  3. View a conversation’s metadata (title, summary, sentiment) after a few exchanges
  4. Customize the system prompt template for a specific business vertical
  5. Observe how the greeting changes based on pending tasks and notifications
Edit on GitHub
Was this helpful?