AI Customer Service: The Full Feature List

An always-on support system that reads incoming email, web form submissions, and chatbot escalations, then replies from your own verified knowledge base. Every answer is grounded in experience entries or cartridges you have approved. Anything the system cannot answer on its own gets surfaced to you through the chat agent, ready for a one-line answer that goes straight back to the waiting customers.

Below is the complete list of what the system does, including the universal features (learning, background automation, admin chat) that work the same across other system types.

AI Customer Service

The support agent pulls from three channels on every cycle, merges them into a single customer record keyed by email address, and keeps the full conversation history in one place regardless of where each message came in.

Email Inbox

Connects to your support mailbox over IMAP, reads new messages, threads each one against an existing customer record or creates a new one, and sends replies over SMTP with correct message threading so conversations stay intact in the customer's inbox.

Web Form Submissions

Contact-form, support-form, and lead-capture submissions land in the same pipeline as email. The agent treats them as a new message on the customer record and routes the reply back through email, so the submitter gets a real threaded response.

Chatbot Escalation

A separate chatbot loop handles Slack and Discord webhook messages on a 5-second tick. Anything the chatbot cannot resolve on its own is escalated into the same customer record structure the email intake uses, so the full history is preserved.

Unified Customer Record

Every inbound message, every reply sent, every status change, every resolution, every form submission is appended to one record per email address. "Look up a customer" returns the whole history in chronological order, across all three channels.

Active Customer Index

Customers whose status is needs_response or followup live in a lightweight active index, so the support agent can pull "who needs attention right now" without scanning the full table. The index is reconciled against ground truth every day during maintenance.

Full Conversation History

Every touchpoint is stored with the customer record: inbound text, reply HTML, timestamp, status at that moment. When the chat agent is asked about a customer, it reads the complete history and summarizes in plain language.

Cross-Customer Pattern Memory

The memory bank remembers past interactions as searchable entries. When a new ticket comes in, the support agent queries for similar past issues, uses what worked before, and flags anomalies the chat agent can surface to you.

Manual Customer Add

You can add a customer record from the chat agent with a single command ("add customer email@example.com fname John"). Useful for importing known contacts or seeding records before a campaign begins.

Every reply follows the same flow: read the incoming message, query the knowledge base for verified answers, draft using your configured tone and signature, send over SMTP with threading preserved, update the customer status. Nothing is made up; if the knowledge base has no verified answer, the agent flags the question for you instead of guessing.

Grounded In Your Knowledge Base

Answers come from experience entries and knowledge cartridges you have approved. The support agent never invents an answer. If no verified answer exists, the question becomes a flag the chat agent surfaces to you so one answer can clear every customer who asked the same thing.

Configured Tone And Signature

Tone, reply length, language rules, and email signature come from your configuration file. Every reply uses them consistently, so the voice stays the same across every customer interaction and every agent that sends mail.

Threaded SMTP Send

Replies go out on your outbound SMTP server with the inbound Message-Id preserved in the In-Reply-To and References headers. Customers see the reply land inside the same email thread they started, so the conversation reads naturally in their inbox.

Status Lifecycle

Each customer moves through needs_response, responded, followup, and resolved as the conversation progresses. The chat agent reads the current state when you ask "what is happening" and reports counts in each bucket.

The knowledge base has two layers: experience entries (small, precise, searched by meaning) and cartridges (bulk documentation turned into a searchable index). The support agent queries both on every reply. You control what enters either layer.

Experience Entries

Short verified answers stored with a searchable summary and full content. Every entry has a source, so the origin of each answer is traceable. Entries come from three places: you tell the chat agent directly, the learning agent consolidates flagged questions once you have answered them, or the support intake confirms a recurring answer.

Knowledge Cartridges

Bulk documentation (product manuals, policy packets, FAQ exports) gets built into a page-indexed cartridge. The support agent searches the right page first, then searches within that page, so large documents return precise passages instead of rough keyword matches.

Semantic Search

Every entry is embedded, so searches match by meaning, not keyword. A customer asking "can I get my money back" pulls the refund-policy entry even if that entry never uses the phrase "money back." One canonical answer covers every paraphrase.

One Answer Clears Many Tickets

When you answer a flagged question through the chat agent, the answer is saved as a new experience entry. On the next support cycle, every customer who was waiting on that question gets a reply automatically. No re-typing, no copy-paste across tickets.

Three flag types route different decisions to you through the chat agent. Each flag starts with a structured header so the chat agent can parse, group, and present it without you hunting through files.

Unanswered Question

The support agent could not find an answer in the knowledge base. The chat agent groups related flags by topic ("five customers asked about the refund window") and asks you for the answer once. Your answer becomes an experience entry and every waiting customer gets a reply on the next cycle.

Human Judgment

Refunds, account deletions, large credits, legal questions. Any decision you have told the system to escalate comes to the chat agent with the full context (who, what, why), and the chat agent runs your directed action: send a custom reply, resolve the ticket, delete the account, whatever you say.

System Observation

The coordinator notices patterns worth your attention (ticket volume spiking, resolution time growing, escalation rate changing) and flags them in plain language. You decide whether to act or acknowledge; the flag goes away either way.

One-Line Triage

Flags are grouped by topic before you see them, so a single answer can clear five related tickets. The chat agent only asks the question once, saves your answer as a knowledge base entry, and deletes the flags when the write succeeds.

The learning agent improves the knowledge base by studying real customer interactions: which answers resolved tickets, which questions keep recurring, which entries get cited but produce follow-up questions. Every improvement goes through a three-step cycle with a skeptical review before anything lands in the knowledge base.

Creative Step

Reviews flags, recent resolutions, and memory-bank coverage to find knowledge gaps and outdated entries. Groups flagged questions by meaning so "refund process" across five different phrasings is treated as one gap, not five.

Skeptical Step

Verifies each proposed change against your policies, checks the evidence (is this based on real flags and memories, or speculation), and rates safety. Billing, refund, and policy entries get the highest scrutiny. Only high-confidence actions proceed.

Execute Step

Creates or updates experience entries from verified sources only. Consolidates unresolvable gaps into a single clear flag for your review through the chat agent. Writes a suggestion for any cross-cutting change (response templates, escalation rules, knowledge-base structure, workflow, policy) so you can bless it before it ships.

Suggestion Lifecycle

Approved suggestions persist until you mark them implemented. Pending suggestions older than 30 days expire automatically, with a nudge at 7 days so nothing piles up unreviewed. Rejected suggestions also expire at 30 days.

Auto-Resolve Stale Tickets

Customers whose ticket has been responded to with no follow-up for the configured window (default 7 days) get auto-resolved. The resolution is logged on the customer record, and a structured outcome event is written so the learning agent can spot patterns.

Active Index Reconciliation

The active-customer index is re-verified against the full customer table every day. Any drift is corrected automatically so the support agent's "who needs attention" query stays accurate even across restarts or partial writes.

Form Submission Cleanup

Processed web form submissions older than 30 days are pruned automatically once they are safely on the customer record. The database stays lean and lookups stay fast even after months of traffic.

Daily Status Report

Suggestion counts, confidence, discovery score, last logs, customers scanned, tickets auto-resolved, suggestions pruned. The chat agent reads this report when you ask "what is happening" and returns an instant summary without re-scanning.

Natural-Language Commands

"What is happening," "look up email@example.com," "show pending suggestions," "approve SUG_ID with a note," "pause the system" all work as plain requests to the chat agent. It runs the right tool and returns the answer in plain language.

Per-Customer Summary

Ask "how is [customer] going" and the chat agent pulls the full history, summarizes what has happened, and reports the current status. Useful before sending a manual reply or resolving a ticket by hand.

Pending Review Commands

"Show pending suggestions" lists every cross-cutting change the learning agent queued for your review. Each item shows the category, the proposed change, the evidence, and the file paths involved. Approve, reject, or mark implemented with one command.

Knowledge Base Edits

Tell the chat agent "the refund window is 30 days" and a new experience entry is created on the spot. On the next support cycle, the new answer is live. Updating an entry uses the same flow with the existing entry ID.

Background Builds

Ask the chat agent to build a utility script, an automation, or a workflow tool, and it can run the coding agent in the background. The agents panel tracks every background build so you can check progress without leaving the chat.

Pause And Resume

"Pause the system" stops every background agent and scheduled job at the next tick. Resume restarts everything. The chat agent keeps working while paused so you can review and adjust without anything else moving.

The support agent only answers with verified knowledge, only takes actions you have explicitly allowed, and always routes judgment calls to you. Four rules the background agents cannot override.

No Made-Up Answers

Every reply is grounded in a knowledge base entry or cartridge passage you approved. If no verified answer exists, the question is flagged for you instead of guessed at. Customers get real answers from your policies, not invented ones.

Explicit Action Allowlist

Account changes, refunds, credits, deletions only happen if your configuration explicitly allows them. Everything else is escalated as a human-judgment flag. The default is to do nothing irreversible without your sign-off.

Code Changes Through Review

The learning agent never runs code changes automatically. Every cross-cutting improvement (templates, escalation rules, workflow, policy) is written as a suggestion for your review first. You approve, reject, or mark implemented when the change is actually applied.

Full Pause Control

One pause command stops the support intake, the chatbot, the learning agent, the coordinator, and every scheduled job at the next tick. Resume restarts everything at the same point. Useful for policy changes, audits, or any time you want hands-on control.

What Is Actually Running

The system runs as a set of background agents on your server, each on its own timer. All of them respect the system-wide pause flag and skip cycles silently when paused.

Master agent handles the chat interface (5-second tick). This is the one you talk to.

Support intake agent runs every 15 minutes: pulls new email, new form submissions, and chatbot escalations, merges them into customer records, drafts and sends replies from the knowledge base.

Chatbot loop ticks every 5 seconds: handles Slack and Discord webhook messages, answers from the knowledge base, escalates anything uncertain into the same customer record pipeline.

Learning agent runs every 15 minutes through a three-step cycle: creative analysis of flags and memories, skeptical review against your policies, execute (create verified experience entries, consolidate unresolvable gaps into flags, queue cross-cutting changes as suggestions).

Coordinator ticks every 5 minutes: curates background agent logs, counts flags, notices stale pending suggestions, surfaces concerning patterns to the flags queue.

Scheduler handles daily maintenance, writes the status report the chat agent reads, and runs any custom daily cleanup scripts you add.

Memory bank runs continuously as an embedding service so every search, every reply, and every learning pass has instant semantic lookup across experience entries, memories, and cartridges.

All data stays on your deployment. Your mailbox, your customer records, your knowledge base, your learning outcomes. Nothing is shared with any external service the system itself does not call.