48 min readAmbient capture

Implementation Guide: Transcribe client discovery and working sessions; draft engagement summaries and action logs

Step-by-step implementation guide for deploying AI to transcribe client discovery and working sessions; draft engagement summaries and action logs for Professional Services clients.

Hardware Procurement

Jabra Speak2 75 Conference Speakerphone

Jabra (GN Audio)Jabra Speak2 75 (2775-109 for USB-A/Bluetooth, or 2775-209 for USB-C/Bluetooth)Qty: 3

$170–$190 per unit MSP cost (via Ingram Micro/TD SYNNEX) / $250–$300 suggested resale per unit

Primary audio capture device for small-to-medium conference rooms (4–10 participants). Features 4 beamforming noise-cancelling microphones, super-wideband audio, full-duplex, and Voice Level Normalization — critical for high-quality transcription accuracy. One unit per conference room.

Poly Sync 20+ Portable Speakerphone

Poly (HP)Poly Sync 20+ (216867-01 USB-A/BT or 216871-01 USB-C/BT)Qty: 3

$110–$130 per unit MSP cost / $153–$180 suggested resale per unit

Portable speakerphone for huddle rooms, offices, and traveling consultants. Smart microphones with USB + Bluetooth connectivity. Carried by consultants to client sites for consistent capture quality during on-site discovery sessions.

Jabra PanaCast 50 Video Bar

Jabra (GN Audio)Jabra PanaCast 50 (8200-2390 Black or 8200-2380 Grey)Qty: 1

$900–$1,000 MSP cost / $1,200–$1,400 suggested resale

Premium all-in-one video bar for the firm's main boardroom. 180° panoramic 4K camera with 8-microphone array and intelligent speaker identification for up to 10 individual voices. Microsoft Teams Rooms Intelligent Speaker certified — enables attributed transcription (names attached to spoken words) which is critical for multi-party client discovery sessions.

EPOS EXPAND 80T Speakerphone

EPOSEPOS EXPAND 80T (1000898)Qty: 1

$500–$550 MSP cost / $650–$720 suggested resale

Large boardroom speakerphone for rooms seating 10–16 participants. 6 adaptive beamforming microphones with daisy-chain expansion capability. Used for large partner meetings, all-hands sessions, or client workshops with multiple attendees.

Jabra Evolve2 50 USB Headset

Jabra (GN Audio)Jabra Evolve2 50 (25089-889-899 USB-A or 25089-989-899 USB-C, MS Teams certified)Qty: 10

$130–$150 per unit MSP cost / $180–$220 suggested resale per unit

Individual USB headsets for consultants conducting 1:1 client calls or remote sessions from their desks. Built-in microphone with ANC ensures clean audio capture for transcription even in open office environments. Quantity based on initial pilot group; scale to full firm as needed.

Software Procurement

Fireflies.ai Business Plan

Fireflies.aiBusiness PlanQty: 25 users

$19/user/month billed annually ($228/user/year); or $29/user/month billed monthly. For a 25-user firm: ~$475/month or $5,700/year annual billing.

Core AI meeting assistant. Automatically joins Zoom, Teams, and Google Meet calls; transcribes with speaker diarization; generates AI summaries, action items, and key topics. Includes unlimited transcription, unlimited storage, conversation intelligence analytics, custom vocabulary (for client/industry jargon), and native CRM integrations (Salesforce, HubSpot). SOC 2 Type II and GDPR certified; HIPAA BAA available on Enterprise if needed.

Zapier Professional Plan

ZapierProfessional / Team PlanQty: 1 subscription

$29.99/month (750 tasks/month) or $73.50/month (2,000 tasks/month) for Team plan. Recommend starting with Professional and scaling based on task volume.

Integration middleware to connect Fireflies.ai outputs (transcripts, summaries, action items) to the client's PSA, practice management, or accounting tools that lack native Fireflies integrations. Enables automated workflows such as: meeting summary → create task in project management tool, or action items → time entry in billing system.

Microsoft 365 Business Premium (prerequisite — verify existing)

MicrosoftMicrosoft 365 Business PremiumQty: per seat

$22/user/month (verify client's existing license tier). MSP margin: 15–20% via CSP program.

Prerequisite platform providing Microsoft Teams, Outlook calendar integration, SharePoint document storage, and Azure AD/Entra ID for SSO. Most professional services firms already have this; verify tier supports Teams meetings. If client is on Business Basic/Standard, may need to assess upgrade.

$0 — included with Fireflies.ai subscription

Browser extension that enables Fireflies to capture Google Meet sessions and provides quick access to transcription controls, meeting notes, and search from the browser toolbar.

~$0.006/minute for Whisper transcription; GPT-5.4: $2.50/1M input tokens, $10/1M output tokens. Estimated $15–$50/month for a 25-user firm running custom post-processing prompts on ~200 meetings/month.

Optional: Used in the custom AI workflow to re-process Fireflies transcripts through tailored prompts that generate firm-specific engagement summary templates, structured action logs matching the client's internal format, and draft engagement letters. Only needed if Fireflies' built-in AI summaries are insufficient for the client's documentation standards.

Prerequisites

  • Active video conferencing platform: Microsoft Teams (with M365 Business Standard or higher), Zoom Pro/Business, or Google Workspace Business Standard — at least one must be in use firm-wide
  • Stable internet connectivity: Minimum 5 Mbps upload and 5 Mbps download per concurrent meeting room; 1.5 Mbps per remote individual user. Verify with bandwidth test from each conference room.
  • Company-managed email domain with calendar integration: All users must have Outlook/Exchange or Google Calendar accounts that Fireflies can access to auto-detect and join scheduled meetings
  • Identity provider for SSO: Azure AD/Entra ID (preferred) or Google Workspace directory. Required for centralized user provisioning and deprovisioning on the Fireflies Business plan
  • Admin access to the firm's Microsoft Teams Admin Center (if using Teams) or Zoom Admin Portal (if using Zoom) to authorize the Fireflies bot and configure meeting recording policies
  • CRM or project management system identified for integration: Confirm which tools (Salesforce, HubSpot, Monday.com, Asana, Clio, etc.) will receive meeting outputs; ensure API access or admin credentials are available
  • Firewall/proxy configuration: Ensure outbound HTTPS (port 443) traffic to *.fireflies.ai, *.amazonaws.com (Fireflies infrastructure), and *.openai.com (if using custom API workflows) is permitted. Provide list to client's IT/network team for whitelisting.
  • Recording consent policy drafted and approved by client's legal counsel: Written policy covering notification procedures, consent capture, data retention periods, and jurisdiction-specific requirements (especially for all-party consent states: CA, FL, IL, MA, PA, WA, and others)
  • Executive sponsor identified at the client firm: A partner or senior manager who will champion adoption, enforce usage norms, and participate in the pilot phase
  • Hardware staging area: USB-A and USB-C ports available in each conference room; verify that room PCs/laptops support USB audio device switching (check for driver issues on locked-down corporate images)

Installation Steps

Step 1: Environment Assessment and Compliance Planning

Conduct a 60–90 minute discovery session with the client's managing partner/IT contact to document the current meeting technology stack, conference room inventory, regulatory environment, and integration requirements. Use the findings to finalize the software tier selection, hardware quantities, and compliance controls.

Note

Use a standardized intake form covering: number of conference rooms (with seating capacity), remote vs. in-office split, video conferencing platform(s), CRM/PM tools, client industries (any HIPAA/FINRA/SOX exposure), data residency requirements, and state locations of offices/clients (for recording consent law mapping). If the firm serves healthcare clients and discusses PHI in meetings, escalate to Fireflies Enterprise tier with HIPAA BAA.

Step 2: Procure and Stage Hardware

Order conference room speakerphones and individual headsets through distribution (Ingram Micro, TD SYNNEX, or D&H). Upon receipt, unbox each device, update firmware to the latest version using the manufacturer's desktop app, and label each unit with the assigned room name/number.

  • Jabra devices: Download and install Jabra Direct from https://www.jabra.com/software-and-services/jabra-direct — Connect each Jabra device via USB, open Jabra Direct, and apply firmware updates
  • Poly devices: Download Poly Lens from https://www.poly.com/us/en/products/services/cloud/poly-lens — Connect each Poly device via USB, open Poly Lens, and apply firmware updates
  • EPOS devices: Download EPOS Connect from https://www.eposaudio.com/en/us/enterprise/software/epos-connect
  • Label each device with room assignment using asset tag labels
Note

Firmware updates are critical — older firmware versions can cause audio dropout, echo, or compatibility issues with Teams/Zoom that degrade transcription quality. Budget 15–20 minutes per device for unboxing, firmware update, and labeling. Keep original packaging for warranty claims.

Step 3: Provision Fireflies.ai Business Tenant

Create the Fireflies.ai organization account using the client's domain. Configure the tenant-level settings including SSO, data retention, and recording policies before adding any users.

1
Navigate to https://app.fireflies.ai/signup and register with client admin email
2
Go to Settings → Organization → upgrade to Business plan
3
Configure SSO: Settings → Security → SSO → select 'SAML 2.0' or 'OAuth with Azure AD/Google' For Azure AD: Create Enterprise Application in Entra ID portal App Registration → New Registration → Name: 'Fireflies.ai' → Redirect URI from Fireflies SSO config page Copy Entity ID and SSO URL from Fireflies into Azure AD SAML config Map attributes: email, first_name, last_name
4
Settings → Privacy → Set default recording notification to ON
5
Settings → Privacy → Set data retention policy per client's legal requirements (recommend 365 days default, 90 days for regulated clients)
6
Settings → Privacy → Disable 'Use data for model training' if available
7
Settings → Admin → Enable 'Require admin approval for new integrations'
Note

SSO setup typically requires coordination with the client's Azure AD admin. If the firm lacks dedicated IT staff, the MSP will need Global Admin or Application Admin credentials in Entra ID. Allow 30–60 minutes for SSO configuration and testing. If SSO is not feasible immediately (e.g., client is on M365 Business Basic without Azure AD P1), use Fireflies' built-in authentication with enforced MFA as an interim measure.

Step 4: Configure Meeting Platform Integration

Connect Fireflies to the client's primary video conferencing platform so the AI assistant can automatically join and record scheduled meetings. Configure meeting recording policies in the platform's admin center to allow Fireflies' bot participant.

  • FOR MICROSOFT TEAMS: Open Microsoft Teams Admin Center: https://admin.teams.microsoft.com
  • Navigate to Meetings → Meeting policies → Global (Org-wide default)
  • Set 'Meeting recording' to ON
  • Set 'Transcription' to ON (this enables Teams' native transcription as a backup)
  • Set 'Who can bypass the lobby' to 'People in my org and guests' (allows Fireflies bot)
  • Under 'Meeting join & lobby' → verify 'Anonymous users can join a meeting' is set per security policy
  • In Fireflies: Settings → Integrations → Microsoft Teams → Authorize with admin account
  • Grant required Graph API permissions when prompted (Calendars.Read, OnlineMeetings.Read)
  • FOR ZOOM: Open Zoom Admin Portal: https://zoom.us/account/setting
  • Under Recording tab → enable 'Cloud recording'
  • Under Meeting tab → enable 'Allow meeting participants to send a chat message visible to all'
  • In Fireflies: Settings → Integrations → Zoom → Authorize with admin Zoom account
  • Grant required OAuth scopes when prompted
  • FOR GOOGLE MEET: Google Workspace Admin Console: https://admin.google.com
  • Apps → Google Workspace → Google Meet → Meet settings
  • Enable 'Recording' for the organizational unit
  • In Fireflies: Settings → Integrations → Google Meet → Authorize with admin account
  • Install Fireflies Chrome Extension for all users via Google Workspace Chrome management
Note

Fireflies joins meetings as a bot participant named 'Fireflies.ai Notetaker' — this is visible to all attendees. For client-facing meetings where a visible bot may be uncomfortable, configure Fireflies to only auto-join internal meetings and use manual activation or the 'Upload recording' feature for client sessions. Alternatively, see the Granola alternative in the alternatives section for bot-free capture.

Step 5: Configure Calendar Integration and Auto-Join Rules

Connect Fireflies to each user's calendar so it can detect upcoming meetings and automatically join them. Set up smart auto-join rules to control which meetings get transcribed (e.g., only internal meetings by default, with manual opt-in for client meetings).

1
In Fireflies admin panel: Settings → Integrations → Calendar
2
Connect to Microsoft Outlook/Exchange or Google Calendar using OAuth
3
For each user being onboarded, they will receive an email to authorize calendar access
4
Configure auto-join settings: Settings → Auto-join Recommended initial configuration: - Auto-join: 'Only meetings I organize' (conservative start) - Or: 'All meetings on my calendar' (for full capture)
5
Set up auto-join filters: - Exclude meetings with 'Confidential' or 'Privileged' in the title - Exclude 1:1 calendar blocks that are actually focus time - Include all meetings with 2+ participants
6
Configure meeting types in Fireflies: Settings → Meeting Types → Create custom types: - 'Client Discovery Session' - 'Internal Working Session' - 'Client Status Update' - 'Business Development / Proposal' - 'Team Standup'
Note

The auto-join configuration is the single most impactful adoption decision. Too aggressive (join everything) creates bot fatigue and privacy concerns. Too conservative (manual only) means low usage and poor ROI. The recommended starting point is 'meetings I organize' for the first 2 weeks, then expand to 'all meetings' after users are comfortable. Create an exclusion list for sensitive meeting keywords as determined by the client's legal team.

Step 6: Install and Configure Conference Room Hardware

Physically install speakerphones and video bars in each conference room. Connect to room PCs or dedicated meeting room devices. Verify audio quality with test recordings.

1
Connect Jabra Speak2 75 (or assigned device) to room PC via USB-C/USB-A cable
2
Verify device is recognized: Windows: Settings → System → Sound → Input/Output → select Jabra device | macOS: System Preferences → Sound → Input/Output → select Jabra device
3
In Teams/Zoom app on room PC: Settings → Audio → set microphone and speaker to Jabra device
4
Run a test call (Teams: 'Test call' feature; Zoom: 'Test Speaker & Microphone')
5
For Jabra PanaCast 50 installation: a. Wall-mount using included bracket (centered above display, 4–7 feet height) | b. Connect USB-C cable to room PC (use included 2m cable or high-quality active USB-C cable for longer runs) | c. Open Jabra Direct → PanaCast 50 → configure Intelligent Zoom and Speaker Identification | d. Register up to 10 voice profiles for speaker attribution in Teams Rooms
6
Label room with 'AI-Enabled Meeting Room' signage (for transparency/consent)
7
Place table tent card in each room: 'Meetings in this room may be recorded and transcribed. See firm recording policy.'
Note

Cable management is important — use cable clips to route USB cables neatly along conference table edge or through cable troughs. For rooms where the PC is far from the table, use a powered USB extension or USB-over-Cat6 extender (avoid passive USB extensions over 3 meters as they cause audio issues). Test each room with a real 3+ person conversation to verify mic pickup quality at all seating positions.

Step 7: Configure CRM Integration

Connect Fireflies to the client's CRM (Salesforce or HubSpot) so that meeting transcripts, summaries, and action items are automatically associated with the correct contact/deal/matter records.

  • FOR SALESFORCE: In Fireflies: Settings → Integrations → Salesforce → Connect
  • Authorize with Salesforce admin credentials
  • Configure field mappings: Meeting transcript → Activity/Task note on Contact record; Meeting summary → Activity description; Action items → Task records linked to Contact/Opportunity; Attendee emails → match to Salesforce Contact records
  • Set sync rules: Auto-log all external meetings (meetings with non-company email participants); Create Salesforce Tasks for each action item with due dates
  • Test with a sample meeting: verify transcript appears on correct Contact record
  • FOR HUBSPOT: In Fireflies: Settings → Integrations → HubSpot → Connect
  • Authorize with HubSpot admin credentials
  • Configure: Log meeting notes to Contact timeline; Create Tasks for action items; Associate with Deals if deal name is mentioned
  • Test with sample meeting
  • FOR MONDAY.COM / ASANA (via native or Zapier): In Fireflies: Settings → Integrations → select tool → Connect
  • Or configure via Zapier (see Step 8)
Note

CRM integration is a major value driver but requires careful field mapping. Schedule a 30-minute session with the client's CRM admin or sales ops person to understand their CRM object model (which fields matter, which pipelines/stages to reference, custom fields for engagement type). For Salesforce, the integration requires API access — verify the client's Salesforce edition supports API (Professional edition and above). For legal practice management tools like Clio, skip this step and use Zapier in Step 8.

Step 8: Build Custom Zapier Automation Workflows

Create Zapier automations to connect Fireflies outputs to tools that lack native integration — practice management systems, billing/time tracking, document repositories, and notification channels.

  • WORKFLOW 1: Meeting Summary → Slack/Teams Channel Notification Trigger: Fireflies → New Transcription Complete Action: Slack → Send Channel Message Channel: #client-meeting-notes Message: 'New meeting notes available: {{meeting_title}} ({{date}})\nSummary: {{summary}}\nAction Items: {{action_items}}\nFull transcript: {{transcript_link}}'
  • WORKFLOW 2: Action Items → Project Management Tool Trigger: Fireflies → New Transcription Complete Filter: Only if action_items is not empty Action: Asana → Create Task (or Monday.com → Create Item) Project: 'Client Action Items' Task Name: '{{action_item_text}}' Assignee: map from meeting attendee Due Date: {{extracted_due_date}} or +7 days default
  • WORKFLOW 3: Meeting Summary → SharePoint/Google Drive Archive Trigger: Fireflies → New Transcription Complete Action: SharePoint → Create File Site: 'Client Engagements' Folder: '/{{client_name}}/Meeting Notes/' File Name: '{{date}}_{{meeting_title}}_Summary.md' Content: '# {{meeting_title}}\n## Date: {{date}}\n## Attendees: {{attendees}}\n## Summary\n{{summary}}\n## Action Items\n{{action_items}}\n## Key Decisions\n{{key_decisions}}'
  • WORKFLOW 4: Weekly Digest → Email to Partners Trigger: Schedule → Every Friday at 5 PM Action: Fireflies API → Get meetings from past 7 days Action: Email → Send digest to partners@clientfirm.com Subject: 'Weekly Meeting Intelligence Digest' Body: compiled summary of all meetings, outstanding action items, upcoming follow-ups
Note

Start with Workflows 1 and 3 (notifications and archival) as they provide immediate value with low complexity. Workflow 2 (action items → PM tool) requires more tuning because AI-extracted action items may need human review before creating formal tasks. Consider adding a manual approval step in Zapier for Workflow 2 during the first month. Zapier Professional plan (750 tasks/month) is sufficient for a 25-user firm averaging 8 meetings/day. Monitor task usage in the first month and upgrade if needed.

Step 9: Configure Custom Vocabulary and Summary Templates

Add industry-specific and client-specific terminology to Fireflies' custom vocabulary to improve transcription accuracy. Configure summary templates that match the firm's engagement documentation standards.

1
In Fireflies: Settings → Custom Vocabulary Add terms specific to the firm's practice areas, for example: - Client company names and key personnel names - Industry acronyms: SOW, MSA, RFP, NDA, SLA, P&L, EBITDA, LOE - Practice-specific terms: due diligence, materiality, engagement letter, deliverable, work stream - Software/product names used by clients - Any frequently misheard proper nouns
2
In Fireflies: Settings → AI Summary Templates → Create Custom Template: 'Client Discovery Session Summary' Sections: - Client Overview (company, attendees, roles) - Current State / Pain Points Discussed - Desired Outcomes / Success Criteria - Proposed Scope Areas - Action Items with Owners and Deadlines - Next Steps and Follow-up Meeting Date - Open Questions / Parking Lot Items Template: 'Engagement Working Session' Sections: - Attendees and Agenda - Decisions Made - Progress Updates by Work Stream - Issues / Blockers Raised - Action Items with Owners and Deadlines - Next Session Date and Agenda Items Template: 'Internal Team Meeting' Sections: - Attendees - Topics Discussed - Decisions Made - Action Items - FYI / Information Shared
Note

Custom vocabulary has an outsized impact on perceived quality — when the transcript consistently misspells a client's name or a key term, users lose trust in the system. Gather a comprehensive list of custom terms during the pilot phase by asking each pilot user to flag any misheard words. Plan to update the vocabulary quarterly as new clients and projects are onboarded.

Step 10: Pilot Deployment with Champion Group

Deploy to a pilot group of 3–5 users (ideally including the executive sponsor and a mix of senior and junior staff) for a 2-week evaluation period. These users will test all workflows, provide feedback on summary quality, and validate that integrations are working correctly.

1
Provision pilot user accounts in Fireflies (invite via admin panel → Add Users)
2
Each pilot user: authorize calendar access when prompted via email
3
Each pilot user: install Fireflies desktop app and/or Chrome extension
4
Schedule a 30-minute onboarding session with pilot group covering: how to start/stop recording manually; how to review and edit transcripts; how to share meeting notes with colleagues and clients; how to use AI search across past meetings; where to find summaries and action items; how to apply meeting type templates; consent procedure: what to say at the start of meetings
5
Have each pilot user conduct at least 5 meetings with Fireflies active
6
Distribute feedback form after 1 week: transcription accuracy (1–5 scale); summary quality and completeness (1–5 scale); action item extraction accuracy (1–5 scale); integration delivery (did notes appear in CRM/Slack/SharePoint?); any concerns from clients or meeting attendees about the bot; feature requests or workflow gaps
Note

The pilot phase is essential — do not skip it. Common issues that surface during pilot: (a) Fireflies bot being blocked by client-side Teams/Zoom security policies, (b) transcription accuracy issues with accents or speakerphone echo, (c) summary templates needing refinement, (d) users forgetting consent procedures. Address each issue before full rollout. Target pilot success criteria: >85% transcription accuracy, >80% user satisfaction, zero compliance incidents.

Step 11: Full Firm Rollout

After successful pilot validation, deploy to all licensed users firm-wide. Conduct group training sessions, distribute quick-reference guides, and enable auto-join for the broader population.

1
Provision remaining user accounts via Fireflies admin panel (bulk invite via CSV)
2
If using SSO, users will auto-provision on first login — verify SCIM sync if available
3
Push Fireflies Chrome extension to all managed browsers via Group Policy or Google Workspace Chrome management: Windows GPO: Computer Configuration → Administrative Templates → Google Chrome → Extensions Or Intune: Apps → Add → Windows app (Win32) → Deploy Chrome extension silently
4
Schedule 2x 45-minute training sessions (to cover all time zones / schedules): Session 1: Basic usage — recording, reviewing notes, sharing, search Session 2: Advanced — custom templates, CRM integration, Zapier workflows, analytics
5
Distribute one-page quick reference card (PDF) and pin to Slack/Teams channel
6
Set auto-join rules for all users based on pilot learnings
7
Configure Fireflies admin dashboard alerts: - Alert if any user's transcription fails 3x in a row - Alert if storage usage exceeds 80% of plan limit - Weekly usage report email to MSP admin
Note

Expect 2–3 weeks of adjustment period after full rollout. Common support tickets: 'Fireflies didn't join my meeting' (usually calendar permission issue or meeting was ad hoc without calendar invite), 'transcript has wrong speaker names' (voice enrollment needed for PanaCast or re-mapping in Fireflies), 'client asked about the recording bot' (reinforce consent script). Have a dedicated Slack/Teams channel for Fireflies support questions during the first month.

Step 12: Post-Deployment Optimization and Reporting

After 30 days of full deployment, conduct an optimization review. Analyze usage metrics, transcription accuracy, integration success rates, and user adoption. Tune configurations based on real-world data.

1
Pull Fireflies analytics dashboard: Total meetings transcribed (last 30 days), Average transcription accuracy score, Most active users vs. low/no adoption users, Action items generated vs. completed, Integration sync success/failure rates
2
Review Zapier task logs: Failed Zaps (fix any broken automations), Task volume vs. plan limit
3
Conduct 30-minute review with client executive sponsor: Present usage metrics, Review ROI: hours saved per week on note-taking (estimate: 2–4 hrs/consultant/week × hourly rate), Identify low-adoption users and plan targeted follow-up, Gather enhancement requests (new integrations, templates, workflows)
4
Update custom vocabulary based on flagged misheard terms
5
Refine auto-join rules based on user feedback
6
Document any custom configurations in MSP's client documentation portal
Note

This optimization review is the MSP's opportunity to demonstrate ongoing value and justify the managed service fee. Present a clear ROI calculation: if the firm has 25 consultants billing at $200/hour and each saves 2 hours/week on note-taking, that's $260,000/year in recovered billable capacity. Frame the entire solution cost (~$6,000–$10,000/year for software + MSP services) against that figure for a compelling ROI story.

Custom AI Components

Engagement Summary Generator

Type: prompt A structured prompt template used with Fireflies' custom AI summary feature (or optionally with the OpenAI API for firms needing deeper customization) to transform raw meeting transcripts into professional engagement summaries formatted to the firm's documentation standards. This generates a polished client-ready summary from any discovery or working session.

Implementation:

Client Discovery Session Summary

You are a senior engagement manager at a professional services firm. Your task is to transform a raw meeting transcript into a polished Client Discovery Session Summary suitable for inclusion in an engagement file and sharing with the client. Analyze the transcript and produce the following structured summary: ## ENGAGEMENT SUMMARY ### Meeting Details - Date: [extract from transcript metadata] - Duration: [extract] - Our Attendees: [list firm participants with titles] - Client Attendees: [list client participants with titles/roles] - Meeting Type: Client Discovery Session ### Executive Overview [2-3 sentence summary of the meeting's purpose and key outcome. Write in professional third-person tone.] ### Client Current State [Summarize the client's current situation, processes, systems, and organizational context as discussed. Use bullet points for clarity.] ### Pain Points & Challenges Identified [List each pain point or challenge raised by the client, with brief context. Number each item.] ### Desired Outcomes & Success Criteria [What does the client want to achieve? What would success look like? List explicitly stated goals and any implied objectives.] ### Proposed Scope Discussion [Summarize any scope areas, phases, or workstreams discussed. Note what was agreed vs. what needs further definition.] ### Key Decisions Made [List any decisions reached during the meeting. If no formal decisions were made, state 'No formal decisions; discovery phase.'] ### Action Items | # | Action Item | Owner | Due Date | Status | |---|------------|-------|----------|--------| [Extract every commitment made during the meeting. If no explicit due date was stated, suggest a reasonable one based on context. Mark all as 'Open'.] ### Open Questions / Parking Lot [List any unresolved questions, topics deferred for future discussion, or items requiring follow-up research.] ### Next Steps [Summarize agreed-upon next steps, including any follow-up meetings scheduled.] ### Engagement Risk Flags [Note any potential risks to engagement success surfaced during the discussion: budget constraints, timeline pressures, organizational resistance, technical complexity, regulatory concerns, etc. If none, state 'No risk flags identified at this stage.'] --- IMPORTANT FORMATTING RULES: - Use professional, consultative language appropriate for client-facing documents - Do not include filler words, off-topic tangents, or social pleasantries from the transcript - Preserve exact quotes only when they capture a critical client statement - If speakers are identified, attribute key statements to specific individuals - Flag any areas where the transcript is unclear with [VERIFY] - Keep the total summary under 1500 words unless the meeting exceeds 90 minutes
Sonnet 4.6

Usage in Fireflies

1
Go to Settings → AI Summary → Custom Templates
2
Create new template named 'Client Discovery Session'
3
Paste the structured sections above as the template format
4
Apply this template when reviewing any client discovery meeting

Usage with OpenAI API (for advanced customization)

Generate an engagement summary by passing a transcript and meeting metadata to the OpenAI Chat Completions API
python
import openai
import json

def generate_engagement_summary(transcript_text, meeting_metadata):
    client = openai.OpenAI()  # Uses OPENAI_API_KEY env var
    
    system_prompt = """[Insert full system prompt above]"""
    
    user_prompt = f"""Meeting Metadata:
- Date: {meeting_metadata['date']}
- Duration: {meeting_metadata['duration']}
- Attendees: {', '.join(meeting_metadata['attendees'])}

Transcript:
{transcript_text}"""
    
    response = client.chat.completions.create(
        model="gpt-5.4",
        messages=[
            {"role": "system", "content": system_prompt},
            {"role": "user", "content": user_prompt}
        ],
        temperature=0.3,  # Low temperature for consistent, factual output
        max_tokens=4000
    )
    
    return response.choices[0].message.content

Action Log Extractor and Tracker

Type: workflow A Zapier multi-step workflow that extracts action items from Fireflies meeting summaries, deduplicates them against existing items, and creates/updates tasks in the client's project management tool (Asana, Monday.com, or similar). Includes an approval step where the engagement manager reviews extracted action items before they become formal tasks.

Implementation

Zapier Workflow: Fireflies → Action Item Review → Project Management

Workflow Architecture

Zapier multi-step workflow architecture
text
Fireflies (Trigger: New Transcript) 
  → Formatter (Extract action items) 
  → Delay (Wait for human review via email approval)
  → Filter (Only approved items)
  → Loop (For each action item)
    → Asana/Monday.com (Create task)
    → Slack (Notify assignee)

Step-by-Step Zapier Configuration

  • Step 1: Trigger — App: Fireflies | Trigger Event: New Transcription Completed | Account: Connected Fireflies admin account
  • Step 2: Formatter - Extract Action Items — App: Formatter by Zapier | Event: Text → Split Text | Input: {{action_items}} from Fireflies | Separator: newline character | Output: Array of individual action items
  • Step 4: Filter — Only continue if: Approval status = Approved
  • Step 5: Loop Through Action Items — App: Looping by Zapier | Create loop from action items array

Step 3: Send Approval Email

  • App: Email by Zapier (or Slack/Teams message)
  • To: engagement_manager@clientfirm.com
  • Subject: '[ACTION REQUIRED] Review Meeting Action Items: {{meeting_title}}'

Approval Email Body

Hi, Fireflies captured the following action items from your meeting: {{meeting_title}} ({{date}}) Please review and approve: {{action_items}} Meeting Summary: {{summary_link}} Click APPROVE to create tasks in [PM Tool]: {{approval_link}} Click REJECT to skip task creation: {{rejection_link}}
Sonnet 4.6

Step 6: Create Task (inside loop)

  • App: Asana (or Monday.com, ClickUp, etc.)
  • Event: Create Task
  • Workspace: {{client_workspace}}
  • Project: Map from meeting title or client name
  • Task Name: {{current_action_item}}
  • Assignee: Attempt to match from attendee list; fallback to engagement manager
  • Due Date: Extract from action item text if present; default to +7 days
  • Description: 'Source: Meeting - {{meeting_title}} on {{date}}\nFull meeting notes: {{transcript_link}}'
  • Tags: 'meeting-action-item', '{{meeting_type}}'

Step 7: Slack Notification (inside loop)

  • App: Slack
  • Event: Send Direct Message
  • Channel: Look up user by email (from assignee)
  • Message: '📋 New action item from {{meeting_title}}: {{current_action_item}} — Due: {{due_date}}'
Note

Alternative: Skip Approval for Internal Meetings — Create a second Zap that auto-creates tasks without approval for meetings tagged as 'Internal Team Meeting' to reduce friction for low-risk internal workflows.

Zapier Estimated Task Usage

  • 1 meeting = ~5–8 Zapier tasks (trigger + formatter + email + filter + loop iterations + task creation + notification)
  • 200 meetings/month × 6 tasks average = 1,200 tasks/month → Zapier Team plan recommended

Type: integration An automated workflow that ensures recording consent compliance by injecting consent language into calendar invites, sending pre-meeting reminders, and logging consent acknowledgment. This addresses the critical legal requirement for recording consent, especially in all-party consent jurisdictions.

Layer 1: Calendar Invite Language (Outlook/Exchange Mail Flow Rule)

Create an Exchange Online transport rule that appends consent language to all meeting invites sent from the firm:

Exchange Online transport rule to append recording consent notice to outbound meeting invites
powershell
# Connect to Exchange Online PowerShell
Connect-ExchangeOnline -UserPrincipalName admin@clientfirm.com

# Create transport rule to append recording notice to outbound meeting invites
New-TransportRule -Name 'Meeting Recording Consent Notice' `
  -FromScope 'InOrganization' `
  -MessageTypeMatches 'Calendaring' `
  -ApplyHtmlDisclaimerText '<div style="border-top: 1px solid #ccc; padding-top: 10px; margin-top: 15px; font-size: 11px; color: #666;"><strong>Recording & Transcription Notice:</strong> This meeting may be recorded and transcribed using AI-powered tools to ensure accurate documentation. By attending this meeting, you acknowledge and consent to this recording. If you have concerns, please contact the meeting organizer before the meeting. For more information, see our <a href="https://clientfirm.com/recording-policy">Meeting Recording Policy</a>.</div>' `
  -ApplyHtmlDisclaimerLocation 'Append' `
  -ApplyHtmlDisclaimerFallbackAction 'Wrap' `
  -Enabled $true

# Verify the rule was created
Get-TransportRule -Identity 'Meeting Recording Consent Notice' | Format-List

Layer 2: Pre-Meeting Reminder (Power Automate Flow)

Create a Power Automate flow that sends a consent reminder 15 minutes before each meeting:

Power Automate flow definition for pre-meeting consent reminder
json
{
  "trigger": {
    "type": "Recurrence",
    "schedule": "Every 15 minutes during business hours"
  },
  "actions": [
    {
      "name": "Get upcoming meetings",
      "type": "Office365.GetCalendarEvents",
      "parameters": {
        "startTime": "utcNow()",
        "endTime": "addMinutes(utcNow(), 20)"
      }
    },
    {
      "name": "For each meeting",
      "type": "ForEach",
      "actions": [
        {
          "name": "Check if meeting has external attendees",
          "type": "Condition",
          "condition": "contains(attendees, '@') AND NOT contains(attendees, '@clientfirm.com')"
        },
        {
          "name": "Send Teams message to organizer",
          "type": "Teams.PostMessage",
          "parameters": {
            "recipient": "meeting_organizer_email",
            "message": "⚠️ Reminder: Your meeting '{{meeting_subject}}' starts in 15 minutes and includes external attendees. Please announce at the start: 'This meeting will be recorded and transcribed for documentation purposes. Please let me know if you have any objections.'"
          }
        }
      ]
    }
  ]
}

Distribute this script to all firm professionals:

Meeting Consent Script

At the start of every recorded meeting, say: "Before we begin, I want to let everyone know that we'll be recording and transcribing this session using our AI notetaker. This helps us create accurate meeting notes and track action items. The recording and transcript are stored securely and only accessible to our team. Is everyone comfortable proceeding? If you'd prefer not to be recorded, please let me know and we'll turn off the recording." [Wait for verbal acknowledgment before starting] If anyone objects: "Absolutely understood. Let me turn off the recording." → In Fireflies: click 'Leave meeting' or 'Stop recording'
Sonnet 4.6

Create a SharePoint list to log consent for audit purposes:

PnP PowerShell script to create and configure the Meeting Recording Consent Log in SharePoint
powershell
# Create SharePoint list for consent logging
# Using PnP PowerShell
Connect-PnPOnline -Url 'https://clientfirm.sharepoint.com/sites/Compliance' -Interactive

New-PnPList -Title 'Meeting Recording Consent Log' -Template GenericList

# Add columns
Add-PnPField -List 'Meeting Recording Consent Log' -DisplayName 'Meeting Date' -InternalName 'MeetingDate' -Type DateTime -Required
Add-PnPField -List 'Meeting Recording Consent Log' -DisplayName 'Meeting Title' -InternalName 'MeetingTitle' -Type Text -Required
Add-PnPField -List 'Meeting Recording Consent Log' -DisplayName 'Organizer' -InternalName 'Organizer' -Type User -Required
Add-PnPField -List 'Meeting Recording Consent Log' -DisplayName 'External Attendees' -InternalName 'ExternalAttendees' -Type Note
Add-PnPField -List 'Meeting Recording Consent Log' -DisplayName 'Consent Method' -InternalName 'ConsentMethod' -Type Choice -Choices 'Calendar Notice','Verbal Consent','Written Consent','Client Agreement'
Add-PnPField -List 'Meeting Recording Consent Log' -DisplayName 'Objections' -InternalName 'Objections' -Type Boolean
Add-PnPField -List 'Meeting Recording Consent Log' -DisplayName 'Notes' -InternalName 'Notes' -Type Note

Use a Zapier workflow to auto-populate this list from Fireflies meeting data, with the organizer filling in the consent method after each meeting.

Weekly Meeting Intelligence Digest

Type: workflow An automated weekly report delivered to firm partners/managers summarizing all meetings conducted that week, highlighting key client insights, outstanding action items past due, and meeting volume analytics. Provides executive visibility into client engagement activity without requiring partners to review individual meeting notes.

Implementation:

Zapier Workflow: Weekly Meeting Intelligence Digest

Trigger

  • App: Schedule by Zapier
  • Event: Every Week
  • Day: Friday
  • Time: 4:00 PM local time

Step 2: Retrieve Weekly Meetings

  • App: Fireflies (via Webhooks by Zapier or Fireflies API)
  • Method: GET
  • URL: https://api.fireflies.ai/graphql
  • Headers: Authorization: Bearer {{fireflies_api_key}}
  • Filter: Only transcripts from the past 7 days
Fireflies API Request Body
graphql
{
  transcripts(limit: 100, skip: 0) {
    id
    title
    date
    duration
    participants
    summary {
      overview
      action_items
      keywords
    }
    meeting_attendees {
      displayName
      email
    }
  }
}

Step 3: Format Digest with Code by Zapier (JavaScript)

Code by Zapier — Format Weekly Meeting Digest
javascript
const meetings = JSON.parse(inputData.meetings);
const now = new Date();
const weekStart = new Date(now - 7 * 24 * 60 * 60 * 1000);

let totalMeetings = meetings.length;
let totalDuration = 0;
let clientMeetings = [];
let internalMeetings = [];
let allActionItems = [];
let clientMentions = {};

meetings.forEach(m => {
  totalDuration += m.duration || 0;
  
  // Classify as client vs internal
  const hasExternal = m.meeting_attendees?.some(a => 
    a.email && !a.email.endsWith('@clientfirm.com')
  );
  
  if (hasExternal) {
    clientMeetings.push(m);
  } else {
    internalMeetings.push(m);
  }
  
  // Collect action items
  if (m.summary?.action_items) {
    allActionItems.push(...m.summary.action_items.map(ai => ({
      item: ai,
      meeting: m.title,
      date: m.date
    })));
  }
});

const totalHours = Math.round(totalDuration / 60 * 10) / 10;

let digest = `# Weekly Meeting Intelligence Digest\n`;
digest += `## ${weekStart.toLocaleDateString()} – ${now.toLocaleDateString()}\n\n`;
digest += `### 📊 This Week at a Glance\n`;
digest += `- **Total Meetings Captured:** ${totalMeetings}\n`;
digest += `- **Client-Facing Meetings:** ${clientMeetings.length}\n`;
digest += `- **Internal Meetings:** ${internalMeetings.length}\n`;
digest += `- **Total Meeting Hours:** ${totalHours}\n`;
digest += `- **Action Items Generated:** ${allActionItems.length}\n\n`;

digest += `### 🤝 Client Meeting Highlights\n`;
clientMeetings.forEach(m => {
  digest += `**${m.title}** (${m.date})\n`;
  digest += `> ${m.summary?.overview || 'Summary pending'}\n\n`;
});

digest += `### ✅ Outstanding Action Items\n`;
allActionItems.forEach((ai, i) => {
  digest += `${i+1}. ${ai.item} _(from: ${ai.meeting})_\n`;
});

output = [{digest: digest}];

Step 4: Send Digest Email

  • App: Gmail or Outlook
  • To: partners@clientfirm.com (distribution list)
  • Subject: '📊 Weekly Meeting Intelligence Digest — {{formatted_date_range}}'
  • Body Type: HTML (convert markdown to HTML using Formatter step)
  • Body: {{digest_html}}

Step 5: Archive Digest to SharePoint

  • App: SharePoint
  • Event: Create File
  • Site: Client Engagements
  • Folder: /Meeting Digests/
  • File Name: 'Weekly_Digest_{{date}}.md'
  • Content: {{digest_markdown}}

Client-Facing Summary Email Drafter

Type: prompt A prompt component that takes a Fireflies meeting summary and transforms it into a polished, client-ready follow-up email. The consultant reviews and sends it — reducing post-meeting follow-up time from 20–30 minutes to 2–3 minutes of review.

Implementation:

Draft Client Follow-Up Email from Meeting Notes

You are a professional services consultant drafting a follow-up email to send to the client after a meeting. Transform the meeting summary into a warm, professional email. INPUT: - Meeting summary (provided below) - My name and title: {{consultant_name}}, {{consultant_title}} - Client primary contact: {{client_contact_name}} - Firm name: {{firm_name}} OUTPUT FORMAT: Subject: {{meeting_title}} — Summary & Next Steps Hi {{client_first_name}}, Thank you for taking the time to meet with us [today/yesterday]. [One sentence recapping the purpose and positive tone of the meeting.] Here's a summary of what we covered: **Key Discussion Points:** [3-5 bullet points summarizing the main topics, written from a consultative perspective — what WE heard from THEM and what WE discussed together] **Decisions Made:** [Bullet list of any agreements or decisions reached. If none, omit this section.] **Action Items:** [Numbered list with clear owners — distinguish between 'Our team will...' and 'Your team will...'] | # | Action Item | Responsible | Target Date | |---|------------|-------------|-------------| [Table format for clarity] **Next Steps:** [What happens next — follow-up meeting, deliverable, proposal, etc.] Please let me know if I've missed anything or if you'd like to adjust any of the action items. We're looking forward to [next milestone]. Best regards, {{consultant_name}} {{consultant_title}} | {{firm_name}} {{phone}} | {{email}} RULES: - Tone: Warm but professional. Not overly formal, not casual. - Length: Under 300 words for the body. - Do NOT include internal-only discussions or anything the client shouldn't see. - Do NOT include pricing, fees, or commercial terms unless they were explicitly agreed upon in the meeting. - If the summary mentions any concerns or complaints from the client, acknowledge them diplomatically. - Reframe any internal jargon into client-friendly language.
Sonnet 4.6

Implementation as a Fireflies Custom Action

1
In Fireflies: go to any completed transcript
2
Click 'AskFred' (Fireflies' AI assistant)
3
Paste the prompt with meeting-specific variables filled in
4
Review the generated email, make any edits, copy to email client

Implementation as Automated Zapier Step

  • Add to the Fireflies → Zapier workflow
  • Step: Webhooks by Zapier → POST to OpenAI API
  • Next step: Gmail/Outlook → Create Draft (NOT send — consultant must review)
  • This creates a draft email in the consultant's inbox ready for review and sending
Zapier Webhooks by Zapier POST request to OpenAI API
json
URL: https://api.openai.com/v1/chat/completions
Body: {model: 'gpt-5.4', messages: [{role: 'system', content: PROMPT_ABOVE}, {role: 'user', content: MEETING_SUMMARY}]}

Testing & Validation

Client Handoff

Client Handoff Checklist

Training Sessions Delivered:

1
All-Hands Training (45 min): Basic usage — how Fireflies joins meetings, where to find transcripts and summaries, how to share notes, using AI search to find past discussions, consent announcement procedure
2
Power User Training (45 min): For engagement managers and team leads — custom summary templates, CRM integration review, action item workflows, analytics dashboard, manual recording controls, handling client objections to recording
3
Admin Training (30 min): For client's IT contact or office manager — user provisioning/deprovisioning, auto-join rule management, data retention settings, usage monitoring, first-level troubleshooting

Documentation Delivered:

1
Quick Reference Card (1-page PDF): How to start/stop recording, access notes, share with clients, consent script — laminated copies for each conference room and digital version pinned in Teams/Slack
2
Consent Procedure Guide (2 pages): Legal requirements by state, verbal consent script, calendar invite language, handling objections, escalation to firm's legal counsel
3
Admin Runbook (5–10 pages): User management, troubleshooting common issues (bot didn't join, poor audio, wrong speaker names), integration maintenance, vendor support contacts
4
Integration Map (1 page): Visual diagram showing data flow: Meeting Platform → Fireflies → CRM / PM Tool / Slack / SharePoint, with arrows and tool names
5
Fireflies Custom Vocabulary List: Current list of all custom terms added, with instructions for updating
6
Summary Template Documentation: Description of each custom template (Discovery Session, Working Session, Internal Meeting) and when to use each

Success Criteria Review (30-day post-deployment meeting):

Credentials and Access Transferred:

  • Fireflies admin account credentials (or SSO admin role assignment)
  • Zapier account credentials with all Zap ownership transferred to client's admin
  • SharePoint consent log site access
  • Documentation of all API keys used (OpenAI, Fireflies API) with rotation schedule
  • Vendor support contact information (Fireflies, Jabra, Poly)

Maintenance

Ongoing MSP Maintenance Responsibilities

Monthly Tasks (1–2 hours/month):

  • Review Fireflies usage analytics: adoption rates, meeting volume, feature utilization
  • Check Zapier task logs for failed automations; fix any broken Zaps due to API changes or token expiration
  • Review and update custom vocabulary list based on user feedback and new client/project names
  • Verify CRM integration sync is healthy (spot-check 3–5 recent meetings for proper logging)
  • Monitor Fireflies platform status and release notes for new features or breaking changes
  • Confirm data retention policies are being enforced (spot-check that old transcripts are being auto-deleted per policy)

Quarterly Tasks (2–4 hours/quarter):

  • Conduct a Quarterly Business Review (QBR) with client stakeholders: present usage metrics, ROI analysis, adoption trends, and enhancement recommendations
  • Update summary templates based on evolving firm needs or new practice areas
  • Review and refresh consent notification language if any regulatory changes occurred
  • Audit user access: deprovision departed employees, provision new hires, verify SSO sync
  • Test all integrations end-to-end (CRM, PM tool, Slack, SharePoint) to catch any silent failures
  • Review conference room audio quality: re-test any rooms with reported issues, check speakerphone firmware for updates
  • Evaluate new Fireflies features or competitive alternatives for potential upgrades

Semi-Annual Tasks (4–6 hours):

  • Comprehensive compliance audit: verify all consent procedures are being followed, review consent log, confirm DPA/BAA agreements are current
  • Hardware assessment: check speakerphone condition, replace any damaged units, evaluate if additional rooms need equipment
  • License true-up: adjust seat count to match current headcount, review plan tier for cost optimization
  • Security review: rotate API keys, review Fireflies security settings, confirm SSO enforcement

Trigger-Based Maintenance:

  • New employee onboarding: Provision Fireflies account, add to SSO group, schedule 15-min intro training, deploy headset
  • Employee offboarding: Deprovision account, reassign any owned transcripts, revoke calendar access
  • New conference room: Procure and install speakerphone, test audio quality, add room to documentation
  • Integration failure alert: Zapier error notifications → investigate within 4 business hours → resolve within 1 business day
  • Vendor incident: Monitor Fireflies status page (status.fireflies.ai); if outage >2 hours, notify client and activate fallback (native Teams/Zoom recording)
  • Client complaint about transcription quality: Investigate specific meeting, check audio source quality, adjust custom vocabulary, escalate to Fireflies support if systemic

SLA Recommendations for Managed Service Agreement:

  • Response time for reported issues: 4 business hours
  • Resolution time for integration failures: 1 business day
  • Resolution time for access/provisioning requests: Same business day
  • Scheduled maintenance windows: Notify client 48 hours in advance
  • Monthly uptime target for MSP-managed components (Zapier workflows, integrations): 99.5%
  • Fireflies platform uptime is vendor-managed; MSP provides communication layer during outages

Escalation Path:

1
Level 1 (MSP Help Desk): User access issues, basic troubleshooting (bot didn't join, audio quality), password/SSO resets
2
Level 2 (MSP Engineer): Integration failures, Zapier workflow fixes, custom vocabulary updates, template modifications
3
Level 3 (MSP Solutions Architect): Compliance concerns, new integration builds, platform migration, architecture changes
4
Vendor Escalation: Fireflies support (support@fireflies.ai), Jabra support (via partner portal), Microsoft CSP support

Alternatives

...

Microsoft Teams Premium (Platform-Native Approach)

Microsoft 365 Copilot (Full AI Suite Approach)

Deploy Microsoft 365 Copilot ($30/user/month) which includes Teams meeting intelligence plus AI capabilities across Word, Excel, PowerPoint, Outlook, and other M365 apps. Meeting recaps are enhanced with follow-up email drafting in Outlook and automatic meeting note insertion into Word documents.

Granola AI (Bot-Free Privacy-First Approach)

Deploy Granola ($14/user/month Business plan) which captures meeting audio directly from the user's device microphone — no bot joins the call. The AI notetaker is invisible to other meeting participants, eliminating the 'bot in the room' problem entirely. SOC 2 Type 2 certified with Enterprise option to opt out of model training.

Warning

Because Granola is invisible to other participants, there is a heightened consent compliance risk — the firm could inadvertently record without proper notification. The firm MUST still handle consent via their own processes.

Zoom AI Companion (Zero Incremental Cost Approach)

For firms already on Zoom Pro or Business plans, activate Zoom AI Companion which is included at no extra cost. Provides meeting summaries, smart chapters, action items, and next steps extraction. Can also join non-Zoom meetings (Teams, Google Meet) as a participant.

Custom API Pipeline (Maximum Flexibility Approach)

Build a custom solution using OpenAI Whisper API ($0.006/min) for transcription and GPT-5.4 for summarization, connected via Python scripts or n8n/Make workflows to the client's specific tools. Audio is captured via the meeting platform's native recording and uploaded to the pipeline for processing.

Want early access to the full toolkit?