Play 9 Workflow Diagram (Visual)
Visual flowchart from calendar trigger to brief delivery.
Play 9 Workflow Diagram (Visual)
This workflow maps the complete meeting prep automation sequence, from calendar trigger to brief delivery. Use it to build your own automated system or audit your current process for gaps.
The Complete Flow
Calendar Event Created
↓
Extract Meeting Data (Zapier/Make)
↓
Query CRM for Client Context (Salesforce/HubSpot API)
↓
Pull Recent Communications (Gmail/Outlook API)
↓
Generate Draft Brief (GPT-4 via API)
↓
Route for Review (Slack notification)
↓
Approve & Distribute (Email automation)
↓
Archive in Knowledge Base (Notion/Confluence)
Stage-by-Stage Implementation
Stage 1: Calendar Trigger Setup
Configure your calendar system to fire webhooks
Google Calendar:
- Enable Google Calendar API in your Google Cloud Console
- Create a service account with calendar.events.readonly scope
- Set up a Cloud Function to poll for new events every 15 minutes
- Filter for events tagged with "client-meeting" or specific calendar IDs
Outlook/Exchange:
- Register an app in Azure AD with Calendars.Read permission
- Use Microsoft Graph APIto subscribe to calendar change notificationsAPIClick to read the full definition in our AI & Automation Glossary.
- Configure webhook endpoint to receive real-time updates
- Set subscription expiration to 4230 minutes (maximum allowed)
Trigger Criteria:
- Meeting duration ≥ 30 minutes
- External attendees present (non-company domains)
- Meeting occurs 3+ business days in future
- Calendar owner is partner, director, or senior manager
Stage 2: Data Extraction Layer
Pull structured data from the calendar event and enrich it with context.
Required Fields:
- Meeting title, date, time, duration
- All attendee email addresses and names
- Meeting location (physical or video link)
- Meeting description/agenda text
- Organizer name and role
Enrichment Sources:
- CRMrecord for each client attendee (last interaction date, deal stage, open issues)CRMClick to read the full definition in our AI & Automation Glossary.
- Email threads from past 30 days containing attendee addresses
- Previous meeting notes tagged with client name
- Active project status from project management system
- Outstanding invoices or payment issues from billing system
Implementation with Make.com:
- Create scenario triggered by Google Calendar "New Event"
- Add "Get Contact" module for Salesforce/HubSpot lookup per attendee
- Add Gmail "Search Messages" module with query:
from:({attendee_emails}) after:{30_days_ago} - Add Notion "Search Database" module for meeting notes database
- Aggregate all data into single JSON object
Stage 3: Brief Generation
Feed the enriched data into GPT-4 to generate a structured meeting brief.
System Prompt Template:
You are a senior associate preparing a client meeting brief. Generate a concise, actionable brief using this structure:
MEETING OVERVIEW
- Date, time, duration, attendees with titles
- Meeting objective in one sentence
CLIENT CONTEXT
- Relationship history (tenure, total billings, current projects)
- Recent interactions (last 3 touchpoints with dates)
- Open issues or concerns flagged in CRM
DISCUSSION TOPICS
- Primary agenda items (from meeting description)
- Anticipated questions based on recent email threads
- Recommended talking points for each topic
PREPARATION CHECKLIST
- Documents to review before meeting
- Data or analysis to prepare
- Internal stakeholders to brief
ACTION ITEMS FROM LAST MEETING
- Outstanding items with owners and due dates
- Status of each item
Format as Markdown with clear headers. Keep total length under 800 words.
API
import openai
response = openai.ChatCompletion.create(
model="gpt-4-turbo-preview",
messages=[
{"role": "system", "content": system_prompt},
{"role": "user", "content": f"Generate meeting brief for:\n{json.dumps(meeting_data, indent=2)}"}
],
temperature=0.3,
max_tokens=2000
)
brief_markdown = response.choices[0].message.content
Quality Checks:
- Brief includes all required sections
- No hallucinated client details (validate against CRMdata)CRMClick to read the full definition in our AI & Automation Glossary.
- All dates formatted consistently (YYYY-MM-DD)
- No placeholder text like "[INSERT DETAILS]"
Stage 4: Review Routing
Send the draft brief to the meeting owner for approval.
Slack Notification:
- Post message to meeting owner's DM or dedicated #meeting-prep channel
- Include brief preview (first 200 characters)
- Add action buttons: "Approve", "Request Changes", "View Full Brief"
- Set 24-hour reminder if no response
Message Template:
📋 Meeting Brief Ready for Review
Client: [Client Name]
Date: [Meeting Date] at [Time]
Attendees: [Count] people
Preview:
[First 200 chars of brief]
[Approve Button] [Request Changes] [View Full Brief]
This brief will auto-send 48 hours before the meeting unless you request changes.
Approval Workflow:
- "Approve" → Move to Stage 5 immediately
- "Request Changes" → Open modal for feedback, route to AI for revision, re-submit for review
- No response after 24 hours → Send reminder, escalate to practice leader after 48 hours
Stage 5: Distribution
Deliver the approved brief to all attendees.
Internal Distribution (2 business days before meeting):
- Email to all internal attendees with subject: "Prep Brief: [Client Name] Meeting - [Date]"
- Attach brief as PDF (generated from Markdown using Pandoc or similar)
- Include calendar event link for easy reference
- CC meeting owner and engagement partner
Client Distribution (Optional, 1 business day before meeting):
- Only if client requested agenda in advance
- Send from meeting owner's email (not automated system)
- Include only client-appropriate sections (remove internal prep checklist)
- Use professional email template with firm branding
Archive Copy:
- Save to Notion database with tags: client name, meeting date, attendees
- Link to calendar event and CRMrecordCRMClick to read the full definition in our AI & Automation Glossary.
- Set reminder to update with meeting outcomes after event occurs
Stage 6: Post-Meeting Update
Capture outcomes and close the loop.
Automated Follow-Up (Day after meeting):
- Slack message to meeting owner: "Update meeting record with outcomes?"
- Provide link to Notion page with pre-filled template
- Template includes: decisions made, action items assigned, next steps, client feedback
Meeting Record Template:
# [Client Name] Meeting - [Date]
## Attendees
[Auto-populated from calendar]
## Decisions Made
- [Decision 1]
- [Decision 2]
## Action Items
- [ ] [Task] - Owner: [Name] - Due: [Date]
- [ ] [Task] - Owner: [Name] - Due: [Date]
## Client Feedback
[Free text]
## Next Meeting
Date: [Date]
Purpose: [Purpose]
Integration Points:
- Action items sync to Asana/Monday.com as tasks
- Client feedback updates CRMnotes fieldCRMClick to read the full definition in our AI & Automation Glossary.
- Next meeting auto-creates calendar event and triggers new prep cycle
Technical Requirements
Minimum Stack:
- Zapier or Make.com (automation platform)
- OpenAI APIkey (GPT-4 access)APIClick to read the full definition in our AI & Automation Glossary.
- Slack workspace with bot permissions
- Google Workspace or Microsoft 365
Estimated Setup Time:
- Initial configuration: 8-12 hours
- Testing and refinement: 4-6 hours
- Team training: 2 hours
Ongoing Costs:
- Automation platform: $20-50/month
- OpenAI API: $0.50-2.00 per brief (depending on context size)APIClick to read the full definition in our AI & Automation Glossary.
- Total per meeting: ~$2-5 all-in
Common Failure Points
Calendar trigger doesn't fire:
- Check webhookendpoint is publicly accessiblewebhookClick to read the full definition in our AI & Automation Glossary.
- Verify APIcredentials haven't expiredAPIClick to read the full definition in our AI & Automation Glossary.
- Confirm calendar permissions include event creation notifications
Brief contains incorrect client data:
- Multiple CRMrecords for same contact (implement deduplication logic)CRMClick to read the full definition in our AI & Automation Glossary.
- Stale data in CRM(add data freshness check)CRMClick to read the full definition in our AI & Automation Glossary.
Meeting owner doesn't respond to review request:
- Escalation path not configured (add fallback to practice leader)
- Slack notification lost in noise (use @mention and pin message)
- Insufficient lead time (trigger prep earlier for high-stakes meetings)
Brief not distributed on time:
- Email delivery failed (check SMTP settings and spam filters)
- PDF generation error (validate Markdown syntax before conversion)
- Timezone calculation wrong (use UTC internally, convert for display)
Customization Options
Adapt this workflow for different meeting types:
New Business Pitches: Add competitive intelligence section, pull recent news about prospect company, include win themes from past successful pitches.
Project Kickoffs: Include project charter, team bios, communication protocols, escalation procedures.
Quarterly Business Reviews: Pull performance metrics from project management system, calculate ROI, generate trend charts.
Crisis Meetings: Expedite review process (30-minute SLA), include risk assessment, add legal review step if needed.

Reviewed by Revenue Institute
This guide is actively maintained and reviewed by the implementation experts at Revenue Institute. As the creators of The AI Workforce Playbook, we test and deploy these exact frameworks for professional services firms scaling without new headcount.
Revenue Institute
Need help turning this guide into reality? Revenue Institute builds and implements the AI workforce for professional services firms.