| name | client-meeting-scheduler |
| description | Schedules client meetings with a prepared agenda, pulling attendees and context
from Salesforce. Use when the user asks to "schedule a client meeting", "book a
review with {account}", "set up a call with {contact}", "find a time and send an
agenda", or "organize the next meeting for this deal". Resolves attendees,
drafts an agenda, creates the calendar invite, and optionally emails the agenda.
|
| license | MIT |
| metadata | {"author":"Scott Adams, Microsoft","version":"1.0"} |
Client Meeting Scheduler
What this skill does
Books a client meeting end-to-end: resolves who should attend from Salesforce,
prepares a grounded agenda, creates the calendar event (Cowork's built-in
calendar skill), and optionally sends the agenda by email. This is co-work —
it writes a calendar event and email across systems.
Inputs to gather
- Which account/deal and meeting type (discovery, review, QBR, closing).
- Proposed timing or constraints (this week, next Tuesday, 30 vs 60 min).
- Who must attend (or let the skill suggest from the account contacts).
- Online (Teams) or in person.
Workflow
- Resolve attendees & context. Use
search_reference_records to map the
request to an account/opportunity, then get_account_360 (or
get_account_contacts) to identify the right contacts and their roles.
- Pick the meeting type and pull its template from
references/meeting-types.md.
- Prepare the agenda. Call
prepare_meeting_agenda for a grounded,
deal-specific agenda; fold in open items from get_open_tasks and recent
activity from get_activity_timeline. Shape it with
references/agenda-templates.md.
- Propose times. Suggest 2–3 slots that fit the stated constraints. Let the
built-in calendar skill check availability where possible.
- Create the calendar invite with the built-in calendar skill: title,
attendees (internal + resolved client contacts), Teams link if online,
duration, and the agenda in the body.
- Optionally email the agenda ahead of time using the built-in email skill,
especially for external stakeholders who aren't on the invite.
- Log it in Salesforce (optional). Offer to create an Event with
draft_create_event → create_record, linked to the opportunity/contact.
- Confirm before booking. Show the invite (attendees, time, agenda) and get
explicit approval before sending. Booking and emailing are consequential.
Output format
Present the proposed invite before sending:
Meeting: NorthBridge — Q2 Deal Review
When: Tue 17 Jun, 14:00–14:45 (Teams)
With: Emma Clarke, David Osei (NorthBridge) · you, A. Rep (internal)
Agenda:
1. Where we are — pricing pack recap (5m)
2. Open items: security review, legal redlines (15m)
3. Decision path & timeline to close (15m)
4. Next steps + owners (10m)
Then: "Reply book to send the invite (and the agenda email), or tell me what
to change."
Guardrails
- Never add external attendees the user didn't approve.
- Respect working hours and time zones; surface the time zone explicitly.
- Don't double-book — propose alternatives if there's a conflict.
- Keep agendas tight and outcome-oriented; one clear objective per meeting.
Additional resources
references/agenda-templates.md — agenda structures by meeting length.
references/meeting-types.md — objectives and attendees per meeting type.