Zero-entry conversation intelligence, 5-stage AI lifecycle state machine, deterministic SLA automation, and role-differentiated dispatches across omnichannel customer inboxes.
Modern B2B sales teams rely on fragmented customer messaging channels (Zalo OA, WhatsApp, Telegram) and enterprise mailboxes (Gmail, Outlook). Traditional CRMs fail because sales reps prioritize customer replies over manual data entry, creating three fatal failure points:
Shared messaging inboxes suffer from bystander apathy. Inbound enquiries go unreplied during the critical 30-minute window.
A quotation is delivered, then silence. Reps fail to bump prospects after 2 days, assuming silence means rejection.
Management lacks visibility into which quotes are in Negotiations vs. Lost without manually reading raw chat logs.
Every conversation is ingested, reconciled, and processed through two independent parallel lanes: a deterministic timing/rules engine and an LLM semantic understanding lane.
The system classifies each customer enquiry into one of 5 canonical stages based on conversation intent, document attachments, and commercial cues:
| From Stage | To Stage | Primary Trigger Conditions | Automated Fallback / Timeout |
|---|---|---|---|
New Enquiry |
Quotation Stage |
Staff provides price breakdown, sends quotation PDF/image attachment | If no staff reply in 2h β Flag Inbound SLA Breach |
Quotation Stage |
Negotiations |
Customer counters on price, discount, payment terms, or MOQ | If quiet for 48h β Trigger 48h Follow-up Nudge |
Quotation / Nego |
Won |
PO issued, signed agreement, or deposit payment verified | Logs deal value & cycle velocity automatically |
Any Stage |
Closed |
Customer explicitly declines, budget cancelled, or manual archiving | Silent for 21β30 days without response β Auto-Dormant |
Closed |
New Enquiry |
Customer initiates a brand-new RFQ after previous deal closed | Starts new enquiry lifecycle ticket |
Single static LLM prompts fail on chat logs due to stage regression (e.g. classifying a negotiation question as a "New Enquiry") and token bloat. RY:ACT deploys a 3-Tier Incremental State Machine:
Regex for PO patterns, attachment extractors (PDF quotes, image invoices), and cron time-decay (21d silence = Closed/Dormant).
Receives current_stage + sliding window of 5β8 delta messages. Evaluates state transition validity with confidence score.
Enforces legal state transitions (rejects illegal jumps like Won β New) and gates low-confidence classifications (<0.85).
quotation["negotiations", "won", "closed"]true / falsenegotiations0.96 (Gated ≥ 0.85)msg_104 (Timestamped source citation)Deterministic rules operate 24/7 independently of LLM availability, preventing lost revenue caused by team lapses.
Trigger: Customer sends the last message in a conversation thread.
Trigger: Staff sent the last message (quote, proposal, terms) with zero customer reply.
Environmental Guardrails: Timers calculate elapsed time strictly against company business hours (MonβFri 08:30β17:30, Sat 08:30β12:00) and automatically pause during Lunar New Year (Tet) and national holidays.
A single underlying conversation database powers two completely distinct daily experiences:
Delivered every morning at 08:00 via Telegram / Web Console.
Personal morning action list β zero noise, only actionable to-dos.
Users and executives can query the unified database in plain natural language (Vietnamese, English, Chinese) without complex SQL or dashboard configuration:
| Query Type | Natural Language Prompt Example | AI Engine Resolution Mechanism |
|---|---|---|
| Pipeline Health | "How many deals are in Negotiations, and quiet > 3 days?" | Filters by stage = 'Negotiations' and last_activity < NOW() - 3d with conversation deep links. |
| Promise Verification | "What delivery schedule did we promise Acme Vina in March?" | Scans historical messages and PDF/image attachments across channels, citing the exact timestamped message. |
| Staff Response Audit | "What was our median first-response time to new enquiries this week?" | Calculates delta between inbound message and staff's first reply during verified business hours. |
The Admin Web Console provides a single-pane control center for channel onboarding, deep pipeline analytics, and data governance overrides.
1-click OAuth & webhook setup for Zalo OA, Google Workspace (Gmail), and WhatsApp Business API with working hours and Tet holiday schedules.
Aggregated chronological timeline unifying all messages, quotes, spec PDFs, and photos across Zalo, Email, and WhatsApp into a single client record.
Manually override enquiry stages (force to Won/Closed), merge cross-channel duplicate contacts, re-assign account owners, and set VIP SLA rules.
| Control Surface | Admin Action & Mechanism | Data Integrity & Audit Trail |
|---|---|---|
| Manual Stage Override | Admin can force-advance or revert an enquiry stage (e.g. Quotation β Won or Closed) if an offline deal occurs. |
Logs admin ID, timestamp, and override reason. AI respects manual lock until next active customer reply. |
| Cross-Channel Contact Merging | Merge a Zalo contact ID, phone number, and corporate email into a single canonical Account entity. | Unifies historical messages into one timeline without losing original source channel IDs or thread links. |
| Rep Re-assignment & Routing | Re-assign account ownership between sales reps or adjust shared inbox routing rules. | Updates assigned rep immediately; dispatches subsequent action items to the new owner's morning queue. |
| Custom SLA & VIP Rules | Override default 48-hour follow-up or 2-hour inbound SLAs for specific key accounts or enterprise deals. | Allows custom timer rules (e.g., 24h follow-up cadence or 30m urgent inbound SLA for Tier-1 clients). |
The system operates strictly in read/ingest mode. It never sends automated outgoing messages to customers, ensuring zero accidental customer communication.
Customer enterprise API keys are used directly with Anthropic / OpenAI / Google. Training on customer data is strictly disabled by contract.
Designed to meet regional Personal Data Protection regulations (Vietnam PDPD Decree 13/2023) and enterprise data residency standards.
| Phase | Milestone | Key Deliverables | Validation Criteria |
|---|---|---|---|
| Phase 1 | 3-Tier State-Transition Engine | Incremental transition classifier with guardrails for the 5 canonical stages. | >95% classification accuracy across test fixtures; <500ms latency. |
| Phase 2 | Admin Rule & SLA Engine | Inbound urgency trigger (ASAP reply) and 48-hour follow-up cadence engine with holiday calendar support. | Accurate SLA calculation ignoring weekend and quiet hour windows. |
| Phase 3 | Dual Dispatch Reporting | Manager Executive Daily Summary + Rep Personal Action Queue via Telegram Bot and Web. | Clear separation of role permissions and 1-tap deep links to messaging apps. |
| Phase 4 | Omnichannel Ingestion Adapters | Generic webhook adapter interface supporting messaging channels (Zalo, WA) and enterprise mailboxes (Gmail). | Sub-second ingestion latency with automatic deduplication. |
< 600 ms average classification latency using lightweight models (Gemini 1.5 Flash, Claude 3.5 Haiku, GPT-4o-mini).
~350 tokens per classification pass via sliding delta window, keeping LLM costs below $0.0002 / check.
Zero LLM cost on dormant deals: database cron transitions silent quotes (>21 days) to Closed automatically.