AI sends personalized satisfaction surveys at the optimal moment after each interaction. Higher response rates, unbiased feedback, zero manual work.
Manual survey distribution is inconsistent — some customers get surveyed, others don't, and timing is often wrong. Sending a survey three days after a support interaction misses the window of fresh memory. The result is low response rates and feedback biased toward customers who feel strongly enough to respond on their own.
MultiMail's AI agent detects when support interactions are resolved, waits an optimal delay period, and sends personalized CSAT or NPS surveys automatically. Autonomous oversight is safe here because surveys are templated and low-risk. The agent handles timing optimization and personalization while you focus on analyzing the results.
Your AI agent monitors for resolution signals — a support ticket marked as closed, a 'thank you' reply from the customer, or a configurable time window since the last interaction.
The agent waits a configurable delay (typically 2-24 hours) after resolution before sending the survey. This lets the customer experience the fix before being asked for feedback.
Using the customer's interaction history and the specific issue they had, the agent personalizes the survey email to reference their actual experience rather than sending a generic form.
The survey is sent via send_email under autonomous oversight. The agent tags the email for tracking and logs which customers have been surveyed to prevent duplicate sends.
import requests
from datetime import datetime, timedelta
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
def check_for_resolutions():
"cm"># Check inbox for resolution signals
inbox = requests.get(
f"{API}/mailboxes/support-mailbox-id/inbox",
headers=HEADERS,
params={"status": "unread", "limit": 50}
).json()
for msg in inbox["emails"]:
email = requests.get(
f"{API}/emails/{msg[&"cm">#039;id']}", headers=HEADERS
).json()
if is_resolution_signal(email):
# Schedule survey for 4 hours later
schedule_survey(
customer_email=email["from"],
thread_id=email["thread_id"],
send_at=datetime.utcnow() + timedelta(hours=4)
)Monitor for resolved support interactions and schedule satisfaction surveys.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
def send_survey(customer_email: str, thread_id: str):
"cm"># Get thread context for personalization
thread = requests.get(
f"{API}/threads/{thread_id}", headers=HEADERS
).json()
topic = classify_topic(thread)
response = requests.post(
f"{API}/send",
headers=HEADERS,
json={
"from": "[email protected]",
"to": customer_email,
"subject": "How was your experience with our support team?",
"text_body": f"Hi {thread[&"cm">#039;customer_name']}, your recent "
f"{topic} issue was resolved {thread[&"cm">#039;resolution_time']} ago. "
f"We&"cm">#039;d love your feedback: [Survey Link]",
"html_body": build_survey_html(thread, topic)
}
)
print(f"Survey sent: {response.json()[&"cm">#039;id']}")Compose and send a CSAT survey personalized to the customer's recent interaction.
"cm">// Using MultiMail MCP tools for satisfaction surveys
"cm">// 1. Check for recently resolved threads
const inbox = await mcp.check_inbox({
mailbox_id: "support-mailbox-id",
status: "unread",
limit: 50
});
for (const msg of inbox.emails) {
const email = await mcp.read_email({ email_id: msg.id });
if (isResolutionSignal(email.text_body)) {
"cm">// 2. Get thread context
const thread = await mcp.get_thread({
thread_id: email.thread_id
});
"cm">// 3. Tag for survey tracking
await mcp.tag_email({
email_id: email.id,
tags: ["resolved", "survey-pending"]
});
"cm">// 4. Send personalized survey
await mcp.send_email({
to: email.from,
subject: "How was your experience with our support team?",
text_body: buildSurveyBody(thread)
});
}
}Use MCP tools to detect resolutions and send surveys from an AI agent.
Surveys sent at the optimal moment after resolution get 2-3x higher response rates than batch surveys sent days later.
Every resolved interaction triggers a survey, not just the ones an agent remembers to follow up on. This eliminates selection bias in your feedback data.
Autonomous mode handles the entire survey workflow without human intervention. Your team focuses on analyzing feedback, not distributing surveys.
Each survey references the customer's specific interaction, making the request feel personal rather than automated. This increases both response rates and response quality.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.