Evergreen Enterprises wholesales home, garden, gift, and seasonal décor — 24,000+ SKUs across four seasonal cycles a year — to thousands of retailers nationwide. Their sales teams relied on slow, static Power BI dashboards that couldn't answer deal-closing questions on the go. RTS Labs built PAL: a conversational AI assistant connected directly to Evergreen's reporting database. Reps ask plain-language questions and get instant visual answers — no filters, no dashboards. PAL is now extending to ~3,000 retailers as a self-service assistant for orders, loyalty, and product info.
Conversational Sales Intelligence (NL → SQL + RAG)
Vanna
Mastra
Azure
OpenAI
A Few Months
Our engineers will map your workflow and define a ship date in a 2-week Discovery Sprint.
Evergreen’s wholesale catalog — 24,000+ SKUs released across four seasonal cycles a year (Early Spring, Spring-Summer, Summer, Fall, Winter Holiday) — was too big and too dynamic for canned dashboards. Sales reps on the road needed answers in seconds during live client conversations, but most deal-closing questions — “Who hasn’t bought Cycle X yet?”, “What’s customer X’s last order date?”, “What are my district’s top sellers this cycle?” — weren’t in any canned report. Power BI couldn’t deliver that, and pinging analysts didn’t scale across hundreds of reps.
The fix wasn’t more dashboards. It was removing them entirely from the path between a rep’s question and the data that answered it. The system had to understand Evergreen’s database schema — product cycles, customer history, loyalty tiers, district-level reporting — translate natural language into accurate SQL, and respect strict per-account access controls so reps only saw their own accounts. After Phase 1 proved the model worked for internal sales, Evergreen extended PAL to ~3,000 retailer customers as a self-service assistant for orders, loyalty, and product info.
24,000+ SKUs released across four seasonal cycles a year. Canned reports couldn’t keep up with cycle-specific questions, district-level comparisons, or customer-by-customer history. Reps needed answers in the moment — Power BI couldn’t deliver them.
Every sales rep had the same need and the same workaround — pinging analysts, waiting for custom reports, or skipping the question entirely. The bottleneck scaled with the team.
Translating natural language into accurate SQL meant the system had to understand Evergreen’s domain — Item Cycle vs. Order Date Cycle, district-level scope defaults, loyalty tier rules, “recently” = last 90 days. Off-the-shelf chatbots couldn’t do that.
RTS Labs built PAL on a hybrid architecture: Vanna (text-to-SQL framework) for structured database queries, and a RAG knowledge base for unstructured content like product manuals, FAQs, and loyalty program rules. The Mastra agentic framework routes between them — the agent decides whether a question needs SQL or document retrieval, then executes the right tool call. SSO integration and per-account access control ensure reps and retailers only see data they’re authorized to see. Phase 1 (Internal PAL) shipped in late 2024; Phase 2 is extending the system to ~3,000 retailers, with RTS Labs co-developing alongside Evergreen’s in-house engineers as a deliberate enablement model.
Defined the Vanna knowledge base with Evergreen's table structures and sample SQL queries to guide generation — Top Sellers, Order Status, Loyalty tiers, Customer Info, Invoice retrieval. The KB captures schema semantics (Item Cycle vs. Order Date Cycle, district-level scope defaults, "recently" = last 90 days) so the agent generates accurate queries even on ambiguous phrasing.
Set up a complementary RAG knowledge base for content that doesn't fit SQL — product manuals, care info, loyalty program rules, FAQs. Schema alignment between Vanna and RAG prevents overlap and ambiguity. RAG handles questions like "Could I have a link to the manual for this product?" or "What do I need to spend to reach the next loyalty tier?"
Mastra orchestrates the agent: classifies each incoming query, routes it to either the Vanna SQL pipeline or the RAG retriever, and calls dedicated functions for sensitive operations (invoice lookup, payment-method updates) where free-form SQL would be too risky. Fallback logic: ambiguous product references trigger a clarifying question instead of guessing.
Integrated with SSO; strict per-account data access rules ensure reps only see their own accounts and retailers see only their own data. Azure alerts catch bad SQL, missing data, and latency regressions. User-friendly fallback messages ("Sorry, couldn't find that. Did you mean...?") replace raw error states. Production logging captures query, response, and latency for ongoing tuning.
Sales reps relied on slow, static Power BI dashboards
Canned reports couldn't answer novel cycle-specific or customer-specific questions
Reps lacked critical info during live client conversations
Every new question required extra time, analyst help, or multiple steps
Reps ask questions in plain language and get instant visual answers
Mastra orchestrates routing between Vanna NL-to-SQL and RAG over docs
SSO + per-account access ensures reps see only their own accounts
Extending to ~3,000 retailers for self-service orders, loyalty, and product info
Stop strategizing. Start building. Let’s map your workflow and get your AI integration into production in 90 days.