Contact Intelligence (CI) is the memory and relationship layer behind your Vlozi chatbot. While the chatbot processes individual messages, Contact Intelligence tracks what customers say over time, how they feel, and how strong your relationship with them is growing.
When the bot responds to a customer, it automatically draws on CI to:
- Know the customer's name, preferences, and past topics — without asking again
- Adapt its tone and empathy based on the customer's current mood
- Recognise that today's message is part of a ongoing relationship, not a new conversation
What CI tracks
| Concept | What it stores | Example |
|---|---|---|
| Contact | Who the customer is (channel + identifier) | WhatsApp +91-9876543210 |
| Mood | Current emotional state (7 moods + energy level) | frustrated, high energy |
| Memories | Things said across all conversations | "Has a golden retriever named Bruno" |
| Entities | Named things the customer mentioned | pet: Bruno, workplace: Infosys |
| Relationship stage | How deep the relationship is (6 stages) | established (20+ messages, active daily) |
| Churn risk | Probability the customer will stop engaging | 0.72 (high risk — 14 days inactive) |
| Outreach triggers | Scheduled messages to re-engage or celebrate | Inactivity check-in, 7-day streak celebration |
How it works with the chatbot
Every message your customer sends flows through this pipeline:
Customer sends message
│
▼
Chat Engine calls CI: GET /context/:id
│ Returns mood, memories, relationship state, entities
▼
Bot generates a response that knows who this person is
│
▼
Chat Engine calls CI: POST /ingest
│ CI classifies mood, extracts new memories, updates state
▼
Customer receives a personalised, context-aware replyThis happens automatically when your chatbot's memory mode is set to deep (see Bot configuration).
Channels
CI creates one contact per customer per channel. A customer on WhatsApp and a customer on Telegram are tracked separately unless you have built a cross-channel merge on your end.
| Channel | Contact identifier |
|---|---|
| Phone number | |
| Telegram | Telegram user ID |
| Website widget | Session-based (anonymous until name is shared) |
| Instagram user ID |
Relationship stages
CI tracks six relationship stages automatically — no configuration required:
| Stage | When | What it means for the bot |
|---|---|---|
new |
< 5 messages | Introduce yourself, ask questions, learn basics |
building |
5+ messages, active recently | Growing rapport, reference shared topics |
established |
20+ messages, 5+ day streak | Familiar tone, recall preferences naturally |
deep |
50+ messages, 14+ day streak | Full personalisation, treat as a trusted contact |
fading |
7–29 days inactive | Reduced context; re-engagement tone |
dormant |
30+ days inactive | Minimal context; no proactive outreach |
Key concepts
Memory — A single piece of information CI learned from a conversation. Memories have a type (fact, preference, episode, pattern), an importance score (0.0–1.0), and decay over time if not re-accessed. The bot can retrieve the most relevant memories before generating a reply.
Entity — A named thing attached to a contact: a pet, a person they mentioned, their workplace, a hobby, a place they live. Entities help group related memories ("all Bruno-related memories") and give the bot a structured understanding of the customer's world.
Mood — Classified on every customer message using an LLM (with keyword-based fallback). The current mood — happy, neutral, frustrated, sad, anxious, excited, or confused — is injected as a hint into the system prompt so the bot adapts its tone automatically.
Outreach trigger — A scheduled message to a contact: a re-engagement after inactivity, a milestone celebration (7-day streak, 100th message), or a manually scheduled check-in. Triggers are created automatically by CI and require no manual action.