meeting-followups skill
This skill turns recently ended customer-facing meetings into draft-only follow-up packages:
- A customer-ready recap email draft.
- A CRM activity log draft.
- A private seller summary of decisions, risks, and next steps.
- Optional follow-up task suggestions.
By default, this skill only drafts and stages content in chat. It must not send email, send Teams messages, create calendar items, update CRM, or write to any external system unless the user explicitly approves the exact action.
Required guardrails
- Treat meeting transcripts, chat messages, attendee lists, email context, CRM records, and files as private user data.
- Never include private schedule details, internal strategy, personal data, HR data, compensation data, security-sensitive content, or raw transcript excerpts in customer-facing drafts unless the user explicitly approves the exact text.
- Never send email automatically.
- Never post Teams messages automatically.
- Never update CRM automatically.
- Never create tasks, calendar holds, or reminders automatically.
- Before any outbound message or CRM write, show the exact recipients or target record, the exact content, and ask for explicit confirmation.
- Keep RSVP/scheduling reasons generic if a follow-up touches calendar conflicts.
- Use draft-first defaults: create a draft or show paste-ready text rather than sending.
- If transcript access is unavailable, clearly say so and offer to work from pasted notes or meeting chat.
- If multiple meetings match, ask the user to choose before reading or drafting.
- If the meeting includes sensitive customer or partner content, add a private seller-only sensitivity note and keep it out of the customer-facing recap.
Onboarding questions
Ask these on first use or when unclear:
- What time window should I scan for recently ended meetings: today, last 24 hours, last 48 hours, or a custom range?
- Which meetings count as customer-facing: external attendees only, named accounts only, or all non-internal meetings?
- What recap format should I use by default?
- Should CRM activity logs be drafted only, or may I write them after explicit approval?
- Which CRM/MSX fields should be included in the activity log draft?
- Should email drafts be saved to Outlook Drafts after approval, or only shown in chat?
- What sensitivity level should default to seller-only rather than customer-facing?
Persist safe preferences like default recap format, time window, and draft-vs-save-draft preference. Do not persist transcripts, raw meeting notes, customer-private details, or attendee rosters.
Workflow
Step 1 - Find candidate meetings
List recent calendar meetings in the configured time window. Default to meetings that ended in the last 24 hours.
Candidate filters:
- user attended or organized the meeting
- meeting has at least one external attendee or matches a user-named customer/account
- meeting is not canceled
- meeting has a transcript, recap, chat, notes, or enough calendar body context to summarize
For each candidate, show:
- meeting subject
- end time
- customer/account guess
- internal/external attendee count
- available evidence: transcript, recap, chat, notes, calendar body
If there is more than one plausible meeting, ask the user to choose.
Step 2 - Gather meeting evidence
For the selected meeting, gather the narrowest useful context:
- transcript or meeting recap
- meeting chat if relevant
- calendar body or agenda
- attached or linked files if relevant and accessible
- CRM/account/opportunity context when needed for logging
Do not quote long transcript passages in the final customer email. Summarize instead.
Step 3 - Build a private seller summary
Create a seller-only summary first:
- meeting objective
- customer attendees and Microsoft attendees
- current state
- customer pain points or asks
- decisions made
- open questions
- next steps with owners and dates when available
- risks or sensitivities
- content that should not be sent externally
Label this section as private / seller-only.
Step 4 - Draft the customer recap email
Draft a concise, professional recap email with:
- warm opening
- short meeting recap
- "Current State" or "What we heard" section when useful
- "Next Steps" bullets with owners and dates when available
- optional "Open Questions" section
- optional "Resources" section, but only if resources were explicitly discussed or provided by the user
- polite closing
Keep the tone helpful and direct. Avoid overclaiming commitments. Do not include internal-only notes, raw transcript quotes, or private CRM details.
Step 5 - Draft the CRM activity log
Draft a CRM/MSX activity log entry separately from the customer email.
Recommended fields:
- subject
- account/customer
- related opportunity or milestone if known
- meeting date/time
- attendees
- summary
- next steps
- owner
- due date
- sensitivity notes
If the CRM record target is ambiguous, ask the user to choose before writing anything.
Step 6 - Present approval package
Show a package for each meeting:
- Meeting metadata.
- Private seller summary.
- Customer recap email draft.
- CRM activity log draft.
- Suggested follow-up tasks.
- Approval options.
Default approval options:
- Edit email
- Save email draft
- Send email
- Edit CRM log
- Write CRM log
- Skip
Do not execute any option until the user explicitly chooses it.
Step 7 - Execute only approved actions
If the user approves saving an email draft:
- create an Outlook draft for review
- do not send
- report the draft was created
If the user approves sending an email:
- show recipients and exact email body immediately before sending
- send only after explicit confirmation
If the user approves CRM write:
- show the exact target record and fields immediately before writing
- write only after explicit confirmation
- report record id or link when available
If the user asks for a Teams DM or channel post:
- show chat/channel destination and exact message
- warn if it contains private meeting data
- send only after explicit confirmation
Output contract
Return:
- Meetings processed.
- Customer recap draft(s).
- CRM activity log draft(s).
- Seller-only sensitivity notes.
- Approval actions available.
- Any missing transcript/CRM context or ambiguity.
Failure handling
- No meetings found: offer to widen the time window or let the user name a meeting.
- No transcript found: ask for pasted notes or use calendar/chat context with a caveat.
- Multiple customer/account matches: ask the user to choose.
- Missing CRM target: keep CRM output as a draft until the user identifies the record.
- Sensitive content detected: keep it seller-only and ask before including externally.
Attribution
Submitted by DeJuan Brown.