AI generates structured meeting summaries with action items and decisions. The organizer reviews before distributing to all attendees.
Meeting notes are rarely distributed promptly or completely. The meeting organizer intends to send notes but gets pulled into the next meeting, and by end of day the details are fuzzy. Action items get lost, decisions are forgotten, and the next meeting starts with "what did we agree on last time?"
MultiMail's AI agent generates comprehensive meeting summaries from notes or transcripts, extracts action items with owners and deadlines, and drafts a distribution email. With gated_send oversight, the meeting organizer reviews for accuracy before the notes reach all attendees.
Feed the AI agent meeting transcripts, rough notes, or recording summaries. It can process multiple input formats and extract structured information.
The AI organizes the meeting into sections: decisions made, action items (with owners and deadlines), key discussion points, and follow-up topics for the next meeting.
With gated_send, the organizer verifies that decisions are accurately captured, action items are assigned to the right people, and sensitive discussions are appropriately summarized.
Approved notes are sent to all attendees and relevant stakeholders who couldn't attend, creating a searchable record of meeting outcomes.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
def distribute_meeting_notes(meeting: dict, notes: str):
"cm"># Generate structured summary
summary = generate_meeting_summary(notes)
body = (
f"Meeting: {meeting[&"cm">#039;title']}\n"
f"Date: {meeting[&"cm">#039;date']}\n"
f"Attendees: {&"cm">#039;, '.join(meeting['attendees'])}\n\n"
f"DECISIONS:\n{format_decisions(summary[&"cm">#039;decisions'])}\n\n"
f"ACTION ITEMS:\n{format_actions(summary[&"cm">#039;action_items'])}\n\n"
f"KEY DISCUSSION POINTS:\n{format_points(summary[&"cm">#039;discussion'])}\n\n"
f"NEXT MEETING: {meeting.get(&"cm">#039;next_meeting', 'TBD')}"
)
for attendee_email in meeting["attendee_emails"]:
requests.post(
f"{API}/send",
headers=HEADERS,
json={
"from": meeting["organizer_email"],
"to": attendee_email,
"subject": f"Meeting notes: {meeting[&"cm">#039;title']} - {meeting['date']}",
"text_body": body
}
)
print(f"Notes sent to {len(meeting[&"cm">#039;attendee_emails'])} attendees")Generate structured meeting notes from a transcript and send to all attendees.
import requests
API = "https://api.multimail.dev/v1"
HEADERS = {"Authorization": "Bearer mm_live_xxx"}
def send_action_item_reminder(action: dict):
body = (
f"Hi {action[&"cm">#039;owner_name']},\n\n"
f"Reminder: You have an action item from the "
f"{action[&"cm">#039;meeting_title']} meeting on {action['meeting_date']}:\n\n"
f"Task: {action[&"cm">#039;description']}\n"
f"Deadline: {action[&"cm">#039;deadline']}\n\n"
f"Please reply with a status update."
)
response = requests.post(
f"{API}/send",
headers=HEADERS,
json={
"from": "[email protected]",
"to": action["owner_email"],
"subject": f"Action item reminder: {action[&"cm">#039;description'][:50]}...",
"text_body": body
}
)
return response.json()Extract action items from meeting notes and track their completion via email follow-ups.
"cm">// Meeting notes distribution via MCP
"cm">// 1. Send meeting summary to all attendees
const attendees = meeting.attendeeEmails;
for (const email of attendees) {
await mcp.send_email({
from: meeting.organizerEmail,
to: email,
subject: `Meeting notes: ${meeting.title} - ${meeting.date}`,
text_body: `Decisions:\n${decisions}\n\nAction Items:\n${actionItems}\n\nNext meeting: ${meeting.nextDate}`
});
}
"cm">// 2. Tag contacts for action item tracking
for (const action of actionItems) {
await mcp.add_contact({
email: action.ownerEmail,
tags: [`action-${meeting.id}`, "pending-action"]
});
}Use MultiMail MCP tools for meeting notes distribution.
AI generates and queues notes immediately after the meeting, eliminating the common delay of days or never.
Every action item includes an owner, deadline, and context — no more ambiguous "we should look into that" without follow-through.
Meeting decisions are documented and distributed, preventing the "I thought we agreed on X" debates in future meetings.
Gated send lets the organizer verify that the AI correctly captured decisions and assigned action items to the right people before distribution.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.