Your AI Business Assistants
QuotyAI Assistants are purpose-built AI agents that work for your business around the clock. Unlike generic chatbots that guess answers, our assistants use your actual business rules to give 100% accurate responses, process orders, and manage appointments across all your customer channels.
The Story Behind QuotyAI Assistants
Our founder was traveling in Bali, trying to book a $20/night homestay. What should have been a 5-minute conversation took 3 days of back-and-forth messages, because the owner couldnโt reply quickly to pricing and availability questions. Thatโs why we built QuotyAI: to make sure no small business loses a customer because they canโt respond fast, or gives wrong pricing because their chatbot guesses.
Two Assistants, One Platform
QuotyAI gives you two specialized assistants that work together:
- Sales Assistant: Your 24/7 customer-facing agent that talks to customers, gives quotes, books appointments, and processes orders.
- Management Assistant: Your internal operations agent that tracks receipts, manages expenses, and alerts you when a customer needs a human touch.
Sales Assistant: Your 24/7 Customer Agent
Your Sales Assistant works across all your customer channels: Facebook Messenger, Telegram, WhatsApp, Instagram, your website, and even voice calls. It speaks 80+ languages, responds in 1-2 seconds, and sounds like a natural human.
What It Does For You
- Instant Answers: Replies to customer questions about your products, services, hours, and policies instantly.
- Accurate Quotes: Calculates pricing using your actual business rules, never guesses, never gives unauthorized discounts.
- Appointment Booking: Checks your calendar in real time, books appointments, and sends confirmations.
- Order Processing: Takes customer orders, validates all details, and confirms with the customer.
- Smart Handover: Knows when to pass a conversation to a human team member, and sends you a notification with full context so you can pick up right where the AI left off.
A Real Business Story
A small homestay owner in Bali uses QuotyAI to handle all booking inquiries. Now, when a traveler asks โHow much for 3 nights next week?โ, the assistant checks availability, gives the exact price (with discounts for longer stays, applied correctly every time), and lets them book immediately. No more 3-day delays, no more lost bookings.
Management Assistant: Your Internal Operations Agent
Your Management Assistant handles the behind-the-scenes work so you can focus on your business. Itโs designed for business owners and managers, not customers.
What It Does For You
- Receipt Tracking: Snap a photo of a receipt, and the assistant processes it, categorizes expenses, and stores it for you.
- Financial Reports: Get daily or monthly income/expense summaries with a simple command:
/today: See todayโs sales and expenses/categories: Breakdown of expenses by category (supplies, rent, utilities)/help: See all available commands
- Handover Alerts: Get notified immediately when your Sales Assistant passes a conversation to a human, with a summary of the customerโs issue so you can respond fast.
- Multi-Business Support: If you own multiple businesses, get consolidated reports across all of them.
A Real Business Story
A small cafe owner uses the Management Assistant to track all daily receipts. Instead of spending hours at the end of the week sorting through paper receipts, they snap a photo of each receipt when they get it, and the assistant automatically tracks their daily sales, supply costs, and profit. At the end of the month, they get a full breakdown of expenses by category to help with tax filing.
How It Works (High-Level)
We built QuotyAI Assistants to be reliable, transparent, and easy to update:
- Your Business Rules, Captured: Tell us your pricing, availability, and policies in plain English. Our AI writes actual math formulas (not just text prompts) to make sure your assistant follows your rules exactly, every time.
- Always Up-to-Date: Every time you update your business rules (e.g., change your pricing, add new services), we automatically create a new, immutable version of your assistant so itโs never using old information.
- Safe & Secure: All the code our AI writes runs in a secure, sandboxed environment, so it canโt access your private data or make unauthorized changes.
- Gets Better Over Time: Your assistant learns from every conversation. If it gets a question wrong, you can correct it, and it will improve for next time.
Why QuotyAI Assistants Are Different
| What Matters To You | Generic Chatbots | QuotyAI Assistants |
|---|---|---|
| Pricing Accuracy | Often gives wrong prices or unauthorized discounts | 100% accurate, follows your exact pricing rules |
| Response Time | 20-60 seconds per reply | 1-2 seconds per reply |
| Transparency | You canโt see how it got an answer | Full audit trail: see exactly how every price was calculated |
| Setup | Needs a developer to update rules | You update rules in plain English, live in seconds |
| Channels | Limited channel support | Works on 10+ channels: Facebook, Telegram, WhatsApp, voice, and more |
| Improvement | Stays the same forever | Learns from your corrections and gets better over time |
Built For Your Industry
QuotyAI Assistants work for any small business, with pre-built workflows for:
- Restaurants & Cafes: AI maรฎtre dโ that handles reservations, menu questions, and daily specials in 80+ languages.
- Spas & Wellness: Books appointments, calculates service pricing with add-ons, and sends reminders.
- Real Estate: Schedules property viewings, gives accurate pricing and availability, answers neighborhood questions.
- Retail & E-Commerce: Tracks orders, checks inventory, handles returns and exchanges.
- Hospitality: Hotel booking, guest service questions, local recommendations.
- Professional Services: Schedules consultations, sends intake forms, confirms appointments.
Get Started Today
Setting up your QuotyAI Assistants takes minutes:
- Tell us about your business (pricing, services, hours) in plain English.
- Connect your customer channels (Facebook, Telegram, etc.).
- Your assistant is live and ready to talk to customers immediately.
No developers, no long setup, no hidden fees. Just an AI assistant that works for your business.
Technical Implementation Details
Architecture Overview
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Assistant Builder โ
โ (sales-assistant.builder.ts / management-assistant.builder.ts) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1. Extract Business Facts (PRICE, ORDER, AVAILABILITY) โ
โ 2. Generate JSON Schemas (Offerings, Order) โ
โ 3. Validate Schemas (retry logic with feedback) โ
โ 4. Generate Executable Code (Pricing, Scheduling, Validation) โ
โ 5. Create Snapshots (Instructions, Config, Business Data) โ
โ 6. Persist Immutable Version to MongoDB โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Runtime Execution โ
โ (unified-sales-assistant-chatbot.service.ts) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โข Channel Adapters (Chatwoot, Facebook, Telegram, API) โ
โ โข Skills System (8 modular skills with LangChain tools) โ
โ โข Dynamic Runner (Sandboxed TypeScript execution) โ
โ โข Observability (Full audit trails & backtraces) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Core Concepts
Immutable Versioning
Each assistant build creates a new MongoDB document โ existing assistants are never modified. New versions are created when:
| Trigger | Description |
|---|---|
| Fact Changes | Business facts (pricing, availability, order rules) are newer than the last assistant build |
| Explicit Build | Manually triggered via the build API |
| Clone Operation | Copying an existing assistant as a new version |
The builder implements smart schema reuse: schemas and generated code are reused from the previous version if business facts have not changed, unless forced regeneration is requested.
const shouldReuseSchemas = !forceSchemaRegeneration && !factsAreNewer && !!previousAssistant?.aiExecutableSource;
Assistant Snapshots
Each assistant version packages frozen snapshots to ensure deterministic, reproducible behavior:
| Snapshot | Description |
|---|---|
aiExecutableSource | AI-generated TypeScript code: JSON schemas, pricing formula, scheduling function, validation function |
instructionsSnapshot | Active business instructions (FAQ, policies) captured at build time |
attachmentsInstructionsSnapshot | Instructions with linked file attachments |
businessSnapshot | Frozen metadata (timezone, currency, industries, language) |
userConfig | User settings (pitch intensity, handover sensitivity, feature toggles) |
llmByokSnapshot | LLM โBring Your Own Keyโ credentials (primary/fallback) |
Deterministic Code Execution
AI-generated code in aiExecutableSource runs in a sandboxed environment via DynamicRunnerService:
Sandbox Security:
- Uses Bunโs native
Functionconstructor to execute TypeScript directly - Exposes only safe globals (no file system, network, or real environment variables)
- Overrides
consolemethods to use the application logger - No access to
fs,fetch, or network modules
Three Core Functions:
quoteOrder(order)โ Calculates pricing with full audit backtracestransformToCheckAvailability(order)โ Processes scheduling/availability logicvalidateOrder(order, pricingParams, schedulingParams)โ Validates order parameters against business rules
Sales Assistant (Technical Details)
The Sales Assistant is the primary customer-facing agent, handling end-to-end sales conversations with:
- 80+ languages with native quality
- 24ms low-latency voice conversations via LiveKit
- Natural human-like fluency with emotion detection
Build Pipeline
The SalesAssistantBuilderService automates assistant creation:
Business Entity Fetch
โ
Schema Reuse Check โโโ Yes โโโ Reuse Previous Schemas
โ No
Generate New Schemas:
โข Offerings JSON Schema (with validation retry)
โข Order JSON Schema (with validation retry)
โข Compile to TypeScript interfaces (json-schema-to-typescript)
โ
Generate Executable Code:
โข Pricing Formula (AiPricingFormulaGenerationAgent)
โข Scheduling Function (AiSchedulingTransformationFunctionGenerationAgent)
โข Order Validation (AiOrderParameterValidationGenerationAgent)
โ
Build Snapshots (Instructions, Business, Config, LLM)
โ
Persist Immutable Version โ MongoDB
Schema Validation Loop:
- Generate schema via AI coding agent
- Validate using dedicated validation agents
- If invalid, provide feedback and retry (up to 2 attempts)
- Return valid schema or throw error after all attempts fail
Runtime Execution
Incoming messages are processed by UnifiedSalesAssistantChatbotService:
- Validate assistant and resolve LLM configuration (with fallback model support)
- Route messages to the appropriate channel adapter
- Build
SkilledAgentRunContextwith conversation history, snapshots, and executable code - Invoke
LangchainChatSkilledSalesAgentServiceto generate responses
Channel Adapters
| Channel | Adapter Class | Features |
|---|---|---|
| Chatwoot | ChatwootChatAdapter | Two-way inbox bridge, handover events, conversation state |
FacebookChatAdapter | Messenger integration | |
| Telegram | TelegramChatAdapter | Bot API integration |
| Stateless API | StatelessApiAdapter | REST API for custom integrations |
| LiveKit Voice | LiveKitVoiceAdapter | Low-latency voice with speech-to-text |
LangChain Agent
The LangchainChatSkilledSalesAgentService:
- Loads active skills via
SkillsDirectoryService - Builds system/human prompts via
SalesAgentPromptBuilder - Creates a LangChain agent with registered tools from active skills
- Supports model fallback middleware for high availability
- Integrates with
LangChainObservabilityTracerfor full decision traceability
Skills System
The Sales Assistant uses a modular, pluggable skills architecture. All skills implement the BaseSkill interface and are registered in SkillsDirectoryService.
| Skill | Tool Name | Activation | Function |
|---|---|---|---|
| QuotationSkill | calculateTotal | Pricing formula exists, canQuote enabled | Generates accurate quotes using PricingHandler with deterministic calculation |
| SchedulingSkill | checkAvailability | Google Calendar configured, scheduling function exists | Checks availability and manages reservations via CalendarHandler |
| OrderSkill | canOrder, confirmOrder | Always active | Validates orders, checks pricing/availability, finalizes bookings |
| OfferingsSkill | getAvailableOfferings | Offerings JSON schema exists | Returns product/service catalog to the agent |
| FaqFactsSkill | getFAQFacts | Always active | Answers FAQs using tagged business facts |
| AttachmentSkill | sendAttachments | Unsent attachments exist, non-voice channel | Sends file attachments to customers |
| HandoverSkill | handoverRequest | Non-voice channel | Escalates conversations to human agents with context summary |
| EvolutionSkill | triggerEvolutionAnalysis | Non-voice channel | Analyzes conversations to generate improvement suggestions |
Skill Activation Flow
Incoming Message
โ
SkillsDirectoryService.getLangchainTools(context)
โ
For each registered skill:
โข Check isActive(context) โโ No โโโ Skip
โโ Yes โโโ Get tools & instructions
โ
Aggregate all active skill tools
โ
Register with LangChain Agent
โ
LLM can invoke any active tool during conversation
Handover & Conversation Management
Handover Sensitivity
Configurable via userConfig.handoverSensitivity:
| Setting | Behavior |
|---|---|
EAGER_ESCALATION | Lower threshold, proactive escalation, donโt over-attempt |
DEFAULT | Standard escalation behavior |
LESS_ESCALATIONS | Higher threshold, multiple attempts, self-sufficient |
Conversation State
SalesAssistantConversationStateService tracks per-conversation state:
- Latest quote results and order parameters
- Sent attachment IDs (prevents duplicate sends)
- Handover state and customer name
- Active business entity and assistant assignment
Human Handoff
When the LLM invokes handoverRequest, the HandoverSkill:
- Saves handover details as a private note in Chatwoot
- Opens the conversation for human agent takeover
- Sends notifications to Management Assistantโs configured receivers
- Checks
notifyCustomerBeforeHandoversetting before notifying customer
Management Assistant (Technical Details)
The Management Assistant is an internal-facing agent for business owners and managers, focusing on operational efficiency rather than customer conversations.
Core Functions
Receipt Processing
- OCR-based text and image receipt processing
- Item categorization and storage
- AI-powered incomplete receipt correction (
/fixcommand)
Financial Commands
| Command | Description |
|---|---|
/today | Daily income/expense summary by currency |
/categories | Monthly expense/income breakdown by category |
/fix | AI-powered incomplete receipt correction |
/reset | Delete all OCR receipts for a business entity |
/help | List available commands |
Analytics & Reporting
- Daily/monthly financial summaries via
BusinessEntityReceiptsService - Category-based expense/income breakdowns
- Cross-entity summary reporting
- Multi-currency support
Handover Notifications
- Receives handover events from Sales Assistants
- Routes notifications to configured team members
- Configurable via
managementConfigSnapshot.handoverEventReceivers
Implementation
Built using simpler command-based architecture (stateless, no conversation state):
| Component | Purpose |
|---|---|
| Builder | Creates new management assistant versions |
| Chatbot | Processes commands and receipt uploads |
| Service | Database CRUD operations |
| Schema | Data model and validation |
Technical Differentiators
1. Zero Hallucination Pricing
Unlike generic LLMs that guess pricing, QuotyAI generates deterministic TypeScript functions that:
- Calculate prices with 100% consistency
- Provide full audit trails and calculation backtraces
- Are type-safe with compiled JSON schemas
- Execute in a sandboxed environment for security
2. End-to-End Platform
QuotyAI unifies three components that competitors only offer separately:
- AI Agents with industry-specific skills and deterministic code
- Omnichannel Inbox with native integrations and human handoff
- Knowledge Base with fact tagging and structured data extraction
3. Self-Improving AI
The EvolutionSkill automatically:
- Analyzes conversations to identify knowledge gaps
- Generates improvement suggestions for facts, instructions, or skills
- Learns from human guidance and corrections
- Triggers retraining when business facts change
4. BYOK + Fallback Support
- Bring Your Own Keys for Gemini, OpenAI, Anthropic models
- Primary/Fallback model configuration per assistant
- Per-tenant LLM settings with
llmByokSnapshot - Model fallback middleware in LangChain for high availability
5. No Middlemen
Business rules go from natural language to production-ready code in seconds:
Owner describes pricing rule in plain English
โ
AI Coding Agent generates TypeScript function
โ
Schema validation ensures correctness (with retry)
โ
Executable code stored in immutable assistant version
โ
Live in production โ no developer needed
Traditional workflow: Owner โ Analyst โ Developer โ QA โ Production (days/weeks) QuotyAI workflow: Owner โ AI โ Production (seconds)
6. Full Observability
LangChainObservabilityTracercaptures every LLM call, tool invocation, and decision- Calculation backtraces show exactly how prices were computed
- Conversation state and handover events are fully logged
- OpenTelemetry integration for distributed tracing
Feature Comparison
| Feature | Generic LLM Chatbots | QuotyAI Assistants |
|---|---|---|
| Pricing Consistency | Variable, hallucinations | 100% deterministic |
| Unauthorized Discounts | Easily exploited | Enforces business rules |
| Response Time | 20-60 seconds | 1-2 seconds |
| Auditability | Black box | Full audit & backtraces |
| Business Logic | Prompt-based fragility | Executable TypeScript code |
| Workflows | Generic โopenโresolvedโ | Industry-specific automations |
| Self-Improvement | None | EvolutionSkill with suggestions |
| Omnichannel | Limited | 10+ channels with unified inbox |
| BYOK Support | Rare | Primary/fallback with fallback middleware |