AI checks availability, proposes times, handles timezone conversions, and confirms bookings — all via email, all automatically.
Scheduling a single meeting can take 5-10 back-and-forth emails negotiating times, converting timezones, and confirming details. Multiply that by dozens of meetings per week and scheduling becomes a significant productivity drain. Timezone confusion and delayed responses cause meetings to slip by days or weeks.
MultiMail's AI agent handles the entire scheduling conversation autonomously. It reads scheduling requests, checks calendar availability, proposes times with timezone awareness, and negotiates until a slot is confirmed. Monitored oversight keeps your team informed without requiring them to approve each scheduling email.
Your AI agent monitors incoming emails for scheduling intent using check_inbox and read_email. Phrases like 'let's find a time' or 'can we schedule' trigger the scheduling workflow.
The agent queries your calendar API to find available slots, respecting buffer times, working hours, and timezone preferences.
The agent replies with 2-3 available time options, automatically converting to the recipient's timezone. Each option includes a direct booking link when possible.
If the proposed times don't work, the agent reads the counter-proposal, finds new slots, and continues the conversation naturally until a time is confirmed.
Once a time is agreed upon, the agent sends a confirmation email with calendar details and any prep materials, then tags the thread as 'meeting-booked'.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
inbox = requests.get(
f"{API}/mailboxes/scheduling-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()
if has_scheduling_intent(email["text_body"]):
# Extract preferred times, duration, timezone
preferences = parse_scheduling_preferences(email["text_body"])
available_slots = check_calendar(preferences)
propose_times(email, available_slots)Monitor incoming emails for meeting scheduling requests.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
def propose_times(email: dict, slots: list):
recipient_tz = detect_timezone(email["from"])
"cm"># Format time options in recipient's timezone
options = "\n".join([
f"- {format_time(slot, recipient_tz)}"
for slot in slots[:3]
])
reply_text = (
f"Hi {email[&"cm">#039;from_name']}, I have a few openings:\n\n"
f"{options}\n\n"
f"All times shown in {recipient_tz}. "
f"Let me know which works best, or suggest another time."
)
requests.post(
f"{API}/reply",
headers=HEADERS,
json={
"in_reply_to": email["id"],
"text_body": reply_text,
"html_body": format_html(reply_text)
}
)Reply with available meeting slots converted to the recipient's timezone.
"cm">// Using MultiMail MCP tools for meeting scheduling
const inbox = await mcp.check_inbox({
mailbox_id: "scheduling-mailbox-id",
status: "unread",
limit: 20
});
for (const msg of inbox.emails) {
const email = await mcp.read_email({ email_id: msg.id });
if (hasSchedulingIntent(email.text_body)) {
const prefs = parsePreferences(email.text_body);
const slots = await checkCalendar(prefs);
"cm">// Propose times via reply
await mcp.reply_email({
email_id: email.id,
text_body: formatTimeProposal(slots, email.from_name)
});
"cm">// Tag for tracking
await mcp.tag_email({
email_id: email.id,
tags: ["scheduling", "pending-confirmation"]
});
}
}Handle the full scheduling workflow using MultiMail MCP tools.
The AI handles the entire negotiation autonomously. What used to take 5-10 emails and 3 days now resolves in a single exchange.
No more timezone confusion. The AI detects the recipient's timezone and presents all options in their local time automatically.
The AI processes scheduling requests 24/7. A prospect who emails at 11pm gets a response with available times immediately, not the next morning.
Every scheduling interaction follows the same professional flow regardless of who initiated it or what time zone they're in.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.