AI scores every inbound lead and sends personalized qualification questions instantly. Your sales team only talks to prospects worth their time.
Sales teams waste up to 50% of their time on leads that will never convert. Inbound inquiries pile up, and by the time a rep manually qualifies a prospect, the hot leads have gone cold. The delay between first contact and meaningful response is where deals die.
MultiMail's AI agent scores every inbound lead based on company size, role, intent signals, and message content. High-potential leads receive personalized qualification questions within minutes. With gated_send oversight, your sales team approves outgoing emails to ensure the right message reaches the right prospect.
Route your sales inquiry address through MultiMail. Every inbound email is captured and made available to your AI agent for immediate processing.
The agent extracts key signals from the email — company domain, sender role, buying intent language, budget mentions — and assigns a lead score. Optionally enrich with external data via your CRM or enrichment API.
For leads scoring above your threshold, the agent drafts a personalized follow-up with 2-3 targeted qualification questions. Under gated_send, your team reviews and approves before delivery.
When the lead replies, MultiMail threads the conversation automatically. Your agent reads the responses, updates the lead score, and prepares the next step — whether that's scheduling a call or routing to a specific rep.
Qualified leads are forwarded to the appropriate sales rep with full context: lead score, qualification answers, email thread, and recommended next action.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
def score_lead(email: dict) -> dict:
"""Score lead based on email signals."""
score = 0
body = email["text_body"].lower()
domain = email["from"].split("@")[1]
"cm"># Intent signals
if any(w in body for w in ["pricing", "demo", "trial", "budget"]):
score += 30
if any(w in body for w in ["timeline", "deadline", "asap", "this quarter"]):
score += 20
"cm"># Role signals
if any(w in body for w in ["cto", "vp", "director", "head of"]):
score += 25
"cm"># Company signals (not free email)
if domain not in ["gmail.com", "yahoo.com", "hotmail.com"]:
score += 15
return {"score": score, "domain": domain, "email_id": email["id"]}
"cm"># Process new leads
inbox = requests.get(
f"{API}/mailboxes/{SALES_MAILBOX}/inbox",
headers=HEADERS, params={"status": "unread"}
).json()
for msg in inbox["emails"]:
email = requests.get(f"{API}/emails/{msg[&"cm">#039;id']}", headers=HEADERS).json()
lead = score_lead(email)
print(f"Lead {lead[&"cm">#039;domain']}: score {lead['score']}")Read a new inbound inquiry and score it based on content signals and sender metadata.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
def qualify_lead(email: dict, lead_score: int):
if lead_score < 40:
return "cm"># Below threshold, skip
sender_name = email.get("from_name", "").split()[0] or "there"
qualification_email = (
f"Hi {sender_name},\n\n"
f"Thanks for reaching out! I&"cm">#039;d love to understand your needs better "
f"so we can point you in the right direction.\n\n"
f"A few quick questions:\n\n"
f"1. How many emails does your team send/receive per month?\n"
f"2. Are you looking to automate a specific workflow "
f"(support, sales, ops)?\n"
f"3. What&"cm">#039;s your timeline for getting started?\n\n"
f"Happy to jump on a quick call if that&"cm">#039;s easier.\n\n"
f"Best,\nSales Team"
)
# Sends to approval queue under gated_send
response = requests.post(f"{API}/reply", headers=HEADERS, json={
"in_reply_to": email["id"],
"text_body": qualification_email
})
print(f"Qualification sent: {response.json()[&"cm">#039;id']}")For high-scoring leads, draft and send personalized qualification questions via the API.
"cm">// Monitor for qualification responses and hand off
async function processQualificationReplies() {
const inbox = await mcp.check_inbox({
mailbox_id: "sales-mailbox-id",
status: "unread"
});
for (const msg of inbox.emails) {
const email = await mcp.read_email({ email_id: msg.id });
"cm">// Check if this is a reply to a qualification email
if (!email.in_reply_to) continue;
const thread = await mcp.get_thread({ email_id: email.in_reply_to });
"cm">// Parse qualification answers
const answers = extractAnswers(email.text_body);
const rep = assignRep(answers);
"cm">// Forward to sales rep with context
await mcp.send_email({
from: "[email protected]",
to: rep.email,
subject: `[Qualified Lead] ${email.from_name} - Score: ${answers.score}`,
text_body: `New qualified lead ready for outreach.\n\n` +
`Company: ${email.from.split("@")[1]}\n` +
`Volume: ${answers.volume}\n` +
`Use case: ${answers.useCase}\n` +
`Timeline: ${answers.timeline}\n\n` +
`--- Full thread ---\n${thread.messages.map(m => m.text_body).join("\n---\n")}`
});
await mcp.tag_email({ email_id: email.id, tags: ["qualified", `rep:${rep.name}`] });
}
}When a lead replies with qualification answers, forward the full thread to the assigned sales rep.
AI processes every inbound inquiry within minutes of arrival. Hot leads get immediate attention instead of sitting in a queue for hours or days.
Your team receives pre-scored, pre-qualified leads with full context. No more wasting calls on tire-kickers or leads that were never going to convert.
Every lead gets a tailored response based on their specific inquiry, company, and signals — not a generic auto-responder that screams automation.
Sales emails are high-stakes. Gated send oversight means your team approves every outgoing message, ensuring tone, accuracy, and brand alignment before a prospect sees it.
Every lead interaction is tracked via email threads and tags. See exactly where each lead is in the qualification process and what was communicated.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.