Answer Every FAQ Instantly, Accurately, Automatically

AI matches incoming questions to your knowledge base and sends personalized replies. Monitored mode keeps your team informed while responses go out in seconds.


Why this matters

Support agents spend a disproportionate amount of time answering the same questions repeatedly — questions that already have documented answers in your knowledge base. This creates response delays for customers and wastes skilled agent time that could be spent on complex, high-value issues. The disconnect between your documentation and your inbox is a staffing problem disguised as a knowledge problem.


How MultiMail solves this

MultiMail's AI agent reads incoming emails, extracts the core question, and matches it against your FAQ database or knowledge base using RAG. It generates a personalized, natural-sounding reply and sends it automatically under monitored oversight. Your team can review the response log for quality assurance without being a bottleneck on every message.

1

Ingest Your Knowledge Base

Connect your existing FAQ content, help docs, or knowledge base to your AI agent. The agent uses this as the source of truth for generating responses.

2

Monitor Incoming Questions

Your agent uses check_inbox and read_email to process new messages. Each email is parsed to extract the core question or questions being asked.

3

Match and Generate Response

The AI searches your knowledge base for the most relevant answer, then composes a personalized reply that addresses the specific question with accurate, up-to-date information.

4

Send and Log

The reply is sent via reply_email under monitored oversight. Every response is logged for review, and the agent tags the email with the matched FAQ category for analytics.

5

Review and Improve

Your team reviews the response log periodically. Unanswered or low-confidence matches are flagged for human follow-up, and new Q&A pairs are added to the knowledge base.


Implementation

Process Incoming Questions
python
import requests

API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}

"cm"># Poll for new emails
inbox = requests.get(
    f"{API}/mailboxes/support-mailbox-id/inbox",
    headers=HEADERS,
    params={"status": "unread", "limit": 20}
).json()

for msg in inbox["emails"]:
    email = requests.get(
        f"{API}/emails/{msg[&"cm">#039;id']}", headers=HEADERS
    ).json()

    # Extract the core question
    question = extract_question(email["text_body"])

    # Match against knowledge base
    match = search_knowledge_base(question)

    if match["confidence"] > 0.85:
        send_faq_reply(email, match)
    else:
        flag_for_human_review(email)

Check for new emails and extract questions for knowledge base matching.

Send Personalized FAQ Reply
python
import requests

API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}

def send_faq_reply(email: dict, match: dict):
    "cm"># Generate personalized reply from FAQ match
    reply_text = generate_reply(
        question=email["text_body"],
        answer=match["answer"],
        customer_name=email["from_name"]
    )

    "cm"># Send reply via MultiMail
    response = requests.post(
        f"{API}/reply",
        headers=HEADERS,
        json={
            "in_reply_to": email["id"],
            "text_body": reply_text,
            "html_body": format_html(reply_text)
        }
    )

    "cm"># Tag for tracking
    requests.post(
        f"{API}/emails/{email[&"cm">#039;id']}/tags",
        headers=HEADERS,
        json={"tags": ["faq-auto-reply", match["category"]]}
    )
    print(f"FAQ reply sent: {response.json()[&"cm">#039;id']}")

Generate a natural reply from the matched FAQ entry and send it through MultiMail.

MCP Tool Integration
typescript
"cm">// Using MultiMail MCP tools for FAQ responses

"cm">// 1. Check for new questions
const inbox = await mcp.check_inbox({
  mailbox_id: "support-mailbox-id",
  status: "unread",
  limit: 10
});

for (const msg of inbox.emails) {
  "cm">// 2. Read the full email
  const email = await mcp.read_email({ email_id: msg.id });

  "cm">// 3. Match against your knowledge base (your AI logic)
  const match = await matchKnowledgeBase(email.text_body);

  if (match.confidence > 0.85) {
    "cm">// 4. Tag and reply
    await mcp.tag_email({
      email_id: email.id,
      tags: ["faq-auto-reply", match.category]
    });

    await mcp.reply_email({
      email_id: email.id,
      text_body: generateReply(match, email.from_name)
    });
  } else {
    await mcp.tag_email({
      email_id: email.id,
      tags: ["needs-human-review"]
    });
  }
}

Handle FAQ responses using MultiMail MCP tools in an AI agent.


What you get

Instant Responses to Common Questions

Customers get accurate answers in seconds instead of waiting hours for an agent to type out the same response they've written a hundred times before.

Consistent, Accurate Answers

Every response is generated from your canonical knowledge base, eliminating the inconsistency that comes from different agents paraphrasing documentation differently.

Free Agents for Complex Work

When the AI handles 70% of incoming questions automatically, your human agents can focus on the nuanced issues that require judgment, empathy, and creative problem-solving.

Knowledge Gap Detection

Low-confidence matches reveal questions your knowledge base doesn't cover yet. Every unanswered question is an opportunity to improve your documentation.

Full Audit Trail

Every auto-reply is logged with the matched FAQ entry and confidence score. Review quality over time and identify categories where the AI needs better training data.


Recommended oversight mode

Recommended
monitored
FAQ responses are drawn from your approved knowledge base, making them inherently low-risk. Monitored mode allows instant delivery while providing a review log for quality assurance. If a response category consistently needs edits, you can move it to gated_send selectively.

Common questions

What if the AI gives a wrong answer?
The AI only responds when it has a high-confidence match to your knowledge base. Low-confidence matches are flagged for human review instead of auto-replied. You set the confidence threshold, so you control the tradeoff between automation rate and accuracy.
How do I update the knowledge base?
Your knowledge base is managed outside of MultiMail — it could be a vector database, a CMS, or a simple JSON file. When you update your documentation, the AI's responses update automatically on the next match. MultiMail handles the email delivery, not the knowledge management.
Can the AI handle multi-part questions?
Yes. Your AI logic can extract multiple questions from a single email and compose a response that addresses each one. The reply can reference different FAQ entries for each sub-question, creating a comprehensive answer in a single response.
Does this work in multiple languages?
MultiMail delivers whatever content your AI generates, so language support depends on your AI model. Most modern LLMs handle multilingual FAQ matching and response generation well. The email infrastructure is language-agnostic.

Explore more use cases

The only agent email with a verifiable sender

Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.