
Implementation Guide: Transcribe board and committee meetings and generate minutes for approval
Step-by-step implementation guide for deploying AI to transcribe board and committee meetings and generate minutes for approval for Non-Profit Organizations clients.
Hardware Procurement
Jabra Speak2 75 Conference Speakerphone
$180-$200 MSP cost (Ingram Micro/D&H) / $250-$299 suggested resale
Primary boardroom audio capture device for in-person and hybrid meetings. Features 4 beamforming noise-cancelling microphones with 360° pickup, super-wideband audio, USB-C and Bluetooth connectivity, and Microsoft Teams certification. Supports rooms up to 10 participants. The high-quality microphone array is critical for accurate AI transcription—poor audio input is the #1 cause of transcription errors.
Jabra Speak2 75 Link Cable (Daisy-Chain)
$25-$35 MSP cost / $45-$55 suggested resale
Optional accessory to link two Jabra Speak2 75 units together for larger boardroom configurations (10-16 people). Only procure if the client's primary boardroom seats more than 10 participants around the table.
Conference Room Laptop or Mini PC
$450-$650 MSP cost / $600-$800 suggested resale
Dedicated compute device for the boardroom that runs Microsoft Teams Rooms or the Zoom Rooms client. Ensures the meeting platform and transcription service are always ready without relying on a board member's personal laptop. An i5 processor, 8GB RAM, and 256GB SSD is sufficient. If the client already has a suitable laptop or PC in the boardroom, this can be skipped.
USB-C Hub / Docking Station
$30-$50 MSP cost / $50-$75 suggested resale
Provides reliable USB-A/C ports and HDMI output for connecting the Jabra speakerphone and external display to the room PC. Ensures clean cable management in the boardroom.
External Display (Optional)
$350-$450 MSP cost / $500-$600 suggested resale
Wall-mounted or cart-mounted display in the boardroom for viewing remote participants, shared documents, and real-time transcription captions during hybrid meetings. Only procure if the client does not already have a suitable display in their meeting room.
Software Procurement
Microsoft 365 Business Basic (Nonprofit)
$0 for first 10 donated licenses via Microsoft Nonprofit Program, then ~$3.00/user/month for additional seats
Foundation platform providing Microsoft Teams for video conferencing, SharePoint Online for document storage and minutes archival, and OneDrive for individual storage. Most nonprofits already have this; verify current licensing before procuring.
Microsoft Teams Premium
$10.00/user/month = $30-$50/month
Enables Intelligent Recap features: AI-generated meeting notes with chapters, AI-identified action items and owners, speaker-attributed transcription, personalized timeline markers, and meeting recap summaries. This is the core AI engine for the solution. Only users who need to access AI recaps after meetings need this license.
Microsoft 365 Copilot (Nonprofit) — Optional Premium Add-on
~$25.50/user/month (15% nonprofit discount from $30.00 commercial price); $25.50-$51.00/month total
Optional upgrade beyond Teams Premium that adds full Copilot capabilities: post-meeting Q&A ('What action items were assigned to the finance committee?'), AI-generated meeting summary emails, and Copilot in Word for refining draft minutes. Recommended only for organizations that want the most advanced AI assistance and have the budget.
SharePoint Online (included in M365)
$0 additional (included in M365 subscription)
Document management and archival platform for approved minutes, board packets, and meeting recordings. A dedicated 'Board Governance' SharePoint site will be configured with permission-restricted document libraries for minutes storage, meeting recordings, and board packets.
Power Automate (included in M365)
$0 additional (included in M365 subscription); Premium connectors if needed are $15/user/month
Workflow automation platform used to build the custom minutes generation and routing workflow. Triggers when a Teams meeting ends, extracts AI-generated notes, formats them into the minutes template, and routes to the board secretary for review.
Adobe Acrobat Online (or Microsoft Print to PDF)
$0 (using built-in PDF capabilities in Word Online and Windows)
Final approved minutes are exported as PDF/A for long-term archival. PDF/A format ensures the document remains readable for permanent IRS compliance records. No additional cost needed as Word Online can export to PDF natively.
Prerequisites
- Active Microsoft 365 tenant with nonprofit licensing verified through Microsoft Nonprofit Program (requires TechSoup validation or direct Microsoft nonprofit verification). Verify at https://nonprofit.microsoft.com
- Microsoft Teams enabled for the organization with at least Business Basic licensing for all board members and committee participants
- Global Administrator or Teams Administrator access to the Microsoft 365 admin center and Teams admin center for the MSP technician
- SharePoint Online provisioned and accessible (included with M365 Business Basic+)
- Stable internet connection in the boardroom: minimum 10 Mbps symmetrical (upload and download) for reliable video conferencing with real-time transcription; verify with a speed test at the client site
- Wi-Fi network in the boardroom rated at 802.11ac (Wi-Fi 5) minimum; Wi-Fi 6 (802.11ax) preferred. Alternatively, wired Ethernet to the room PC is ideal
- Client's bylaws and governance policies reviewed to confirm no prohibition on meeting recording; if bylaws are silent on recording, recommend the board pass a resolution authorizing AI-assisted meeting transcription
- Board secretary identified as the primary operator of the minutes review workflow; this person must have basic proficiency with Microsoft Word Online and SharePoint
- List of all regular meeting series obtained from the client: board meetings (typically quarterly or monthly), committee meetings (finance, governance, program, etc.), and any special meetings. Document the cadence, typical duration, and format (virtual/hybrid/in-person) for each
- Meeting consent language approved by the client's legal counsel or board chair. At minimum, a verbal notice that meetings will be recorded and transcribed must be read at the start of each meeting
- Firewall and network security configured to allow outbound HTTPS (port 443) traffic to Microsoft Teams, SharePoint, and related Microsoft 365 endpoints. Refer to https://learn.microsoft.com/en-us/microsoft-365/enterprise/urls-and-ip-address-ranges for the full endpoint list
- If the client has board members located in the EU or subject to GDPR, written consent forms prepared for signature before the first recorded meeting
Installation Steps
...
Step 1: Verify and Upgrade Microsoft 365 Nonprofit Licensing
Log into the Microsoft 365 Admin Center and verify the client's current licensing. Confirm the tenant is registered as a nonprofit organization and eligible for nonprofit pricing. Check which users have licenses assigned and identify the 3-5 key users who will need Teams Premium licenses (board secretary, executive director, committee chairs). Purchase and assign Teams Premium add-on licenses through the CSP portal or Microsoft 365 Admin Center.
# Connect to Microsoft 365 via PowerShell (run from MSP admin workstation)
Install-Module -Name Microsoft.Graph -Scope CurrentUser
Connect-MgGraph -Scopes 'Organization.Read.All, User.ReadWrite.All, LicenseAssignment.ReadWrite.All'
# Verify nonprofit tenant status
Get-MgOrganization | Select-Object DisplayName, VerifiedDomains, AssignedPlans
# List current user licenses
Get-MgUser -All | Select-Object DisplayName, UserPrincipalName, AssignedLicenses | Format-Table
# After purchasing Teams Premium licenses in Admin Center, assign to key users
$userId = (Get-MgUser -Filter "displayName eq 'Jane Smith'").Id
$teamsPremiumSkuId = (Get-MgSubscribedSku | Where-Object {$_.SkuPartNumber -eq 'MICROSOFT_TEAMS_PREMIUM'}).SkuId
Set-MgUserLicense -UserId $userId -AddLicenses @(@{SkuId=$teamsPremiumSkuId}) -RemoveLicenses @()Teams Premium licenses can take up to 24 hours to fully provision. Assign licenses at least 2 days before the first test meeting. If the client does not yet have nonprofit verification, start the TechSoup/Microsoft nonprofit registration process immediately—it can take 2-10 business days.
Step 2: Enable Transcription and Recording Policies in Teams Admin Center
Navigate to the Microsoft Teams Admin Center (https://admin.teams.microsoft.com) and enable the meeting policies that allow transcription, recording, and AI-generated notes. Create a custom meeting policy specifically for board meetings if the client wants different settings for general staff meetings vs. board meetings.
# PowerShell alternative for enabling transcription policies
Install-Module -Name MicrosoftTeams -Scope CurrentUser
Connect-MicrosoftTeams
# Create a custom meeting policy for board meetings
New-CsTeamsMeetingPolicy -Identity 'BoardMeetingPolicy' -AllowTranscription $true -AllowRecording $true -AllowMeetingRecap $true -AllowMeetingRecapAI $true -AllowCartCaptionsAndRealTimeTranscription $true -LiveCaptionsEnabledType 'DisabledUserOverride' -AllowMeetingSummary $true
# Assign the policy to the board secretary and ED
Grant-CsTeamsMeetingPolicy -Identity 'boardsecretary@clientdomain.org' -PolicyName 'BoardMeetingPolicy'
Grant-CsTeamsMeetingPolicy -Identity 'executivedirector@clientdomain.org' -PolicyName 'BoardMeetingPolicy'
# Verify policy assignment
Get-CsOnlineUser -Identity 'boardsecretary@clientdomain.org' | Select-Object TeamsMeetingPolicyIf the organization prefers to enable transcription org-wide, modify the Global policy instead of creating a custom one. The AllowMeetingRecapAI parameter specifically controls the Teams Premium Intelligent Recap feature. Policy changes can take 4-24 hours to propagate. Critical: Ensure AllowRecording is set to $true even if the client does not intend to keep recordings permanently—the recording/transcription engine must be enabled for AI notes to function.
Step 3: Configure SharePoint Board Governance Site
Create a dedicated SharePoint site for board governance documents. This site will serve as the permanent archive for approved minutes, draft minutes, meeting recordings (if retained), and board packets. Configure document libraries with appropriate metadata columns, permission groups, and retention policies.
# Connect to SharePoint Online via PowerShell
Install-Module -Name PnP.PowerShell -Scope CurrentUser
Connect-PnPOnline -Url 'https://clientdomain-admin.sharepoint.com' -Interactive
# Create the Board Governance site
New-PnPSite -Type TeamSite -Title 'Board Governance' -Alias 'boardgovernance' -Description 'Board and committee meeting minutes, recordings, and governance documents' -IsPublic $false
# Connect to the new site
Connect-PnPOnline -Url 'https://clientdomain.sharepoint.com/sites/boardgovernance' -Interactive
# Create document libraries
New-PnPList -Title 'Approved Minutes' -Template DocumentLibrary
New-PnPList -Title 'Draft Minutes' -Template DocumentLibrary
New-PnPList -Title 'Meeting Recordings' -Template DocumentLibrary
New-PnPList -Title 'Board Packets' -Template DocumentLibrary
# Add metadata columns to Approved Minutes library
Add-PnPField -List 'Approved Minutes' -DisplayName 'Meeting Date' -InternalName 'MeetingDate' -Type DateTime -Required
Add-PnPField -List 'Approved Minutes' -DisplayName 'Meeting Type' -InternalName 'MeetingType' -Type Choice -Choices 'Board Meeting','Finance Committee','Governance Committee','Program Committee','Executive Committee','Special Meeting' -Required
Add-PnPField -List 'Approved Minutes' -DisplayName 'Approval Status' -InternalName 'ApprovalStatus' -Type Choice -Choices 'Draft','Pending Approval','Approved','Amended' -Required
# Set permissions - restrict to Board Members group
New-PnPGroup -Title 'Board Members' -Owner 'boardsecretary@clientdomain.org'
Set-PnPList -Identity 'Approved Minutes' -BreakRoleInheritance -CopyRoleAssignments
# Add board members to the group (repeat for each member)
Add-PnPGroupMember -Group 'Board Members' -EmailAddress 'boardmember1@email.com'Adjust the Meeting Type choices to match the client's actual committee structure. The Board Governance site should be set to Private (not Public) to restrict access to authorized board members and staff only. Consider enabling versioning on the Draft Minutes library so edits are tracked. For IRS compliance, set a retention policy on Approved Minutes to 'Retain Forever' using Microsoft Purview if available, or document a manual retention policy.
Step 4: Install and Configure Boardroom Hardware
Physically install the Jabra Speak2 75 speakerphone and room PC in the client's primary boardroom. Position the speakerphone at the center of the conference table for optimal 360° voice pickup. Connect the room PC to the display, speakerphone, and network. Test audio levels and microphone pickup from all seating positions.
The Jabra Speak2 75 is plug-and-play with no driver installation needed on Windows 10/11. Position the device on a flat surface at table center—avoid placing it near papers, water bottles, or other objects that could obstruct the microphone array. If the boardroom is larger than 10 seats, deploy two Jabra Speak2 75 units connected via the daisy-chain link cable, positioned at the 1/3 and 2/3 points of the table. Update the Jabra firmware using Jabra Direct software (free download from jabra.com) before the first meeting.
Step 5: Create Board Meeting Template in Microsoft Teams
Set up a recurring Teams meeting series for each regular board and committee meeting. Configure the meeting options to automatically enable transcription and recording. Create a standardized meeting invitation template that includes the recording consent notice and agenda structure.
POST https://graph.microsoft.com/v1.0/users/{board-secretary-id}/onlineMeetings
{
"subject": "Board of Directors Meeting",
"startDateTime": "2025-07-15T18:00:00Z",
"endDateTime": "2025-07-15T20:00:00Z",
"isEntryExitAnnounced": true,
"allowedPresenters": "organizer",
"recordAutomatically": true,
"allowTranscription": true,
"allowRecording": true
}The recording consent notice should be the first item in every meeting invitation body. Suggested text: 'NOTICE: This meeting will be recorded and transcribed using AI technology to assist in generating meeting minutes. By attending, you consent to the recording and transcription of your participation. If you have objections, please notify the Board Secretary before the meeting begins.' This text should be reviewed and approved by the client's board chair or legal counsel before first use.
Step 6: Build the Power Automate Minutes Generation Workflow
Create a Power Automate cloud flow that triggers when a Teams meeting recording and transcription are available, extracts the AI-generated meeting notes, formats them into a structured minutes draft using a Word template, and saves the draft to the SharePoint Draft Minutes library. The flow also sends a notification to the board secretary that the draft is ready for review.
Power Automate's Teams connector can take 15-60 minutes after a meeting ends to trigger, as Microsoft processes the recording and transcription. The flow uses standard connectors included with Microsoft 365, so no Power Automate Premium license is needed unless you add premium connectors. Test the flow end-to-end with a 5-minute sample meeting before the first real board meeting.
Step 7: Create the Minutes Word Template
Design a Microsoft Word template (.dotx) that follows Robert's Rules of Order format for meeting minutes. This template will be populated by the Power Automate workflow with data extracted from the AI meeting summary. Upload the template to the Board Governance SharePoint site.
- Create the template in Word with content controls
- Template structure:
- 1. Organization letterhead/logo at top
- 2. Title: 'MINUTES OF THE [MEETING TYPE]'
- 3. Organization Name: [Org Name]
- 4. Date and Time: [Meeting Date] at [Start Time]
- 5. Location: [Location / 'Via Microsoft Teams Video Conference']
- 6. CALL TO ORDER section
- 7. ATTENDANCE section (Present / Absent / Guests)
- 8. APPROVAL OF PREVIOUS MINUTES section
- 9. REPORTS section
- 10. OLD BUSINESS section
- 11. NEW BUSINESS section
- 12. MOTIONS AND VOTES section (table format)
- 13. ACTION ITEMS section (table: Item, Responsible, Due Date)
- 14. NEXT MEETING section
- 15. ADJOURNMENT section
- 16. Signature lines for Secretary and Chair
Connect-PnPOnline -Url 'https://clientdomain.sharepoint.com/sites/boardgovernance' -Interactive
Add-PnPFile -Path './BoardMinutesTemplate.dotx' -Folder 'Shared Documents'Customize the template sections to match the client's existing minutes format if they have one. Many nonprofits have a specific format prescribed in their bylaws or established by tradition. Review 2-3 recent sets of approved minutes from the client to match their style. The template should include placeholder text that makes it clear which sections need human review and editing.
Step 8: Configure Meeting Recording Retention and Security Policies
Set up data retention policies for meeting recordings and transcripts. Per IRS requirements, approved minutes must be retained permanently, but raw recordings and transcripts can be retained for a shorter period. Configure access controls to ensure only authorized personnel can access recordings.
# Configure retention using Microsoft Purview (if available with E3/E5 license)
# Or use SharePoint document library retention settings
# SharePoint retention via PowerShell:
Connect-PnPOnline -Url 'https://clientdomain.sharepoint.com/sites/boardgovernance' -Interactive
# Set retention on Approved Minutes library - no deletion allowed
# (Manual approach: Site Settings > Site Libraries and Lists > Approved Minutes >
# Library Settings > Information management policy settings > Enable Retention >
# Set to 'Do not delete')
# For Meeting Recordings library - retain for 3 years then auto-delete
# Configure in Purview Compliance Center if available:
# 1. Go to https://compliance.microsoft.com
# 2. Navigate to Data lifecycle management > Retention policies
# 3. Create new policy: 'Board Meeting Recordings Retention'
# 4. Scope: SharePoint site 'Board Governance' > 'Meeting Recordings' library
# 5. Retain items for 3 years, then delete automatically
# Restrict OneDrive/Teams recording sharing
# In Teams Admin Center > Meeting policies > BoardMeetingPolicy:
Set-CsTeamsMeetingPolicy -Identity 'BoardMeetingPolicy' -ChannelRecordingDownload 'Block' -AllowRecordingStorageOutsideRegion $falseDiscuss the retention policy with the client's executive director and board chair. Common nonprofit retention: Approved minutes = permanent; raw recordings = 1-3 years; draft transcripts = delete after minutes are approved and signed. Some states have specific retention requirements for nonprofit records—check the client's state. If using Microsoft 365 Business Basic (no Purview), implement retention manually with a documented policy and quarterly MSP audit.
Step 9: Conduct Pilot Meeting Test
Schedule a 30-minute test meeting with the board secretary and 2-3 staff members to validate the entire workflow end-to-end: Teams meeting with transcription, AI-generated notes, Power Automate flow trigger, minutes draft generation, and SharePoint filing. Test both the in-room hardware and remote participant scenarios.
This pilot is critical—do not skip it. Common issues discovered during pilot: speakerphone too far from participants (muffled audio = poor transcription), Teams policy not yet propagated (transcription button missing), Power Automate flow permissions issue, or minutes template formatting problems. Schedule the pilot at least 2 weeks before the first actual board meeting to allow time for adjustments. Record specific transcription accuracy observations: did the AI correctly attribute speakers? Did it capture the motion language accurately?
Step 10: Train Board Secretary and Key Staff
Conduct a 60-90 minute hands-on training session with the board secretary (primary) and executive director (secondary). Cover the complete workflow from starting a meeting with transcription through reviewing and approving final minutes. Provide written quick-reference guides.
Create a one-page laminated quick-reference card for the boardroom that shows: (1) How to start recording/transcription, (2) The consent notice script, (3) Best practices for clear speech, (4) Where to find the AI recap after the meeting, (5) MSP support contact information. Leave this card on the boardroom table permanently. Schedule a follow-up 30-minute session after the first real board meeting to address any issues.
Custom AI Components
Board Meeting Minutes Generator Workflow
Type: workflow A Power Automate cloud flow that triggers when a Microsoft Teams meeting recording and transcription become available, extracts the AI-generated meeting recap and notes, transforms them into a structured Robert's Rules–compliant minutes draft, and saves it to the SharePoint Board Governance site for the board secretary to review.
Implementation:
Power Automate Flow: Board Meeting Minutes Generator
Flow Trigger
- Connector: Microsoft Teams
- Trigger: When a meeting recording is ready (or use a Recurrence trigger that checks for new recordings)
- Filter: Only meetings with subject containing 'Board' OR 'Committee'
Flow Steps
Step 1: Get Meeting Details
- Action: Microsoft Teams > Get meeting details
- Input: Meeting ID from trigger
- Extract: Subject, Start Time, End Time, Organizer, Attendees list
Step 2: Get Meeting Transcript
- Action: HTTP with Azure AD > GET
- Parse JSON response to extract transcript content with speaker attributions
https://graph.microsoft.com/v1.0/me/onlineMeetings/{meetingId}/transcriptsStep 3: Get AI Meeting Notes
- Action: HTTP with Azure AD > GET
- This retrieves the Intelligent Recap AI-generated notes including: Meeting summary, Action items with owners, Key discussion topics/chapters
https://graph.microsoft.com/beta/me/onlineMeetings/{meetingId}/meetingNotesStep 4: Parse and Categorize Content
- Action: Compose (Data Operations)
- Use the following expressions to categorize transcript content:
{
"meetingTitle": "@{triggerOutputs()?['body/subject']}",
"meetingDate": "@{formatDateTime(triggerOutputs()?['body/startDateTime'], 'MMMM d, yyyy')}",
"startTime": "@{formatDateTime(triggerOutputs()?['body/startDateTime'], 'h:mm tt')}",
"endTime": "@{formatDateTime(triggerOutputs()?['body/endDateTime'], 'h:mm tt')}",
"attendees": "@{join(body('Get_meeting_details')?['attendees'], ', ')}",
"aiSummary": "@{body('Get_AI_Meeting_Notes')?['summary']}",
"actionItems": "@{body('Get_AI_Meeting_Notes')?['actionItems']}",
"topics": "@{body('Get_AI_Meeting_Notes')?['topics']}"
}Step 5: Generate Minutes Draft with AI (OpenAI via HTTP)
- Action: HTTP > POST
- Headers:
Authorization: Bearer {OpenAI-API-Key},Content-Type: application/json
https://api.openai.com/v1/chat/completionsStep 5: System Prompt — Board Secretary AI
Step 5: User Prompt — Meeting Minutes Generation
{
"model": "gpt-5.4",
"messages": [
{
"role": "system",
"content": "<see system prompt above>"
},
{
"role": "user",
"content": "<see user prompt above>"
}
],
"temperature": 0.3,
"max_tokens": 4000
}Step 6: Create Word Document in SharePoint
- Action: SharePoint > Create file
- Site: Board Governance
- Library: Draft Minutes
- File Name:
Minutes_@{outputs('Parse_and_Categorize')?['meetingTitle']}_@{formatDateTime(triggerOutputs()?['body/startDateTime'], 'yyyy-MM-dd')}.docx - File Content: Use the Office Scripts connector or a Word template with content controls populated from Step 5 output
Step 7: Update SharePoint Metadata
- Action: SharePoint > Update file properties
- Set Meeting Date, Meeting Type, Approval Status = 'Draft'
Step 8: Send Notification to Board Secretary
- Action: Outlook > Send an email (V2)
- To: Board Secretary email
- Subject:
Draft Minutes Ready for Review: @{outputs('Parse_and_Categorize')?['meetingTitle']} - @{outputs('Parse_and_Categorize')?['meetingDate']} - Body: Include link to the draft document in SharePoint, summary of action items detected, and reminder to review and edit before the next board meeting
Step 9: Post to Teams Channel (Optional)
- Action: Microsoft Teams > Post message in a chat or channel
- Channel: Board Governance > General
- Message: 'Draft minutes for [Meeting Title] on [Date] are ready for review. [Link to document]'
Error Handling
- Add a parallel branch with a Scope action wrapping Steps 2–8
- On failure: Send error notification email to MSP support address and board secretary
- Include the error details and meeting ID for troubleshooting
Notes
If Step 5 (OpenAI) is not desired due to data privacy concerns, replace with a simpler Compose action that uses string templates to arrange the Teams AI notes into the minutes format without sending data to OpenAI.
The OpenAI API key should be stored in Azure Key Vault or as an encrypted Power Automate connection, not hardcoded.
Temperature 0.3 produces consistent, formal output suitable for governance documents.
Meeting Consent Notice Prompt
Type: prompt A standardized verbal notice read by the meeting chair or board secretary at the beginning of every recorded board or committee meeting, ensuring legal compliance with recording consent requirements across all US states. Implementation:
Meeting Recording Consent Notice
Minutes Post-Processing AI Prompt
Type: prompt A carefully engineered system prompt used within the Power Automate workflow to instruct GPT-5.4 to transform raw AI meeting notes and transcripts into properly formatted Robert's Rules–compliant nonprofit board meeting minutes.
Implementation:
System Prompt for Minutes Generation
Temperature and Parameter Settings
- Temperature: 0.2-0.3 (low, for consistent formal output)
- Max tokens: 4,000 (sufficient for 2-hour meeting minutes)
- Top_p: 0.9
- Frequency penalty: 0.3 (reduces repetitive phrasing)
Minutes Review and Approval Tracker
Type: integration A SharePoint list-based tracking system that manages the lifecycle of meeting minutes from AI-generated draft through secretary review, board approval, and permanent archival. Integrated with Power Automate for status change notifications.
Implementation
SharePoint List: Minutes Approval Tracker
List Configuration
- Site: Board Governance
- List Name: Minutes Approval Tracker
Columns
- Meeting Title — Single line of text | Required
- Meeting Date — Date | Required
- Meeting Type — Choice | Board Meeting, Finance Committee, Governance Committee, Program Committee, Executive Committee, Special Meeting
- Draft Generated Date — Date | Auto-populated by Power Automate
- Draft Link — Hyperlink | Link to draft in Draft Minutes library
- Secretary Review Status — Choice | Pending Review, In Review, Review Complete
- Secretary Notes — Multi-line text | Secretary's editing notes
- Presented for Approval — Date | Date minutes were presented to the board
- Approval Status — Choice | Draft, Presented, Approved, Approved with Amendments
- Approval Date — Date | Date board voted to approve
- Approved Minutes Link — Hyperlink | Link to final PDF in Approved Minutes library
- Recording Retained — Yes/No | Whether meeting recording is still stored
- Recording Deletion Date — Date | Calculated: Meeting Date + retention period
Power Automate Flows for the Tracker
- Flow 1: Status Change Notification — Trigger: When an item is modified in 'Minutes Approval Tracker' | Condition: If 'Approval Status' changed to 'Approved' | Actions: (1) Get the draft document from Draft Minutes library, (2) Copy to Approved Minutes library, (3) Update Approved Minutes Link in tracker, (4) Send email to board secretary confirming archival, (5) Send email to ED with link to approved minutes
- Flow 2: Recording Cleanup Reminder — Trigger: Recurrence (monthly) | Condition: Find items where Recording Deletion Date <= today AND Recording Retained = Yes | Action: Send reminder email to MSP and board secretary to delete expired recordings
- Flow 3: Overdue Review Alert — Trigger: Recurrence (weekly) | Condition: Find items where Secretary Review Status = 'Pending Review' AND Draft Generated Date < 14 days ago | Action: Send reminder to board secretary that draft minutes need review
Setup Commands (PnP PowerShell)
Connect-PnPOnline -Url 'https://clientdomain.sharepoint.com/sites/boardgovernance' -Interactive
# Create the tracking list
New-PnPList -Title 'Minutes Approval Tracker' -Template GenericList
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Meeting Title' -InternalName 'MeetingTitle' -Type Text -Required
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Meeting Date' -InternalName 'MeetingDate' -Type DateTime -Required
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Meeting Type' -InternalName 'MeetingType' -Type Choice -Choices 'Board Meeting','Finance Committee','Governance Committee','Program Committee','Executive Committee','Special Meeting'
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Draft Generated Date' -InternalName 'DraftGeneratedDate' -Type DateTime
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Draft Link' -InternalName 'DraftLink' -Type URL
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Secretary Review Status' -InternalName 'SecretaryReviewStatus' -Type Choice -Choices 'Pending Review','In Review','Review Complete'
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Secretary Notes' -InternalName 'SecretaryNotes' -Type Note
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Presented for Approval' -InternalName 'PresentedForApproval' -Type DateTime
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Approval Status' -InternalName 'ApprovalStatus' -Type Choice -Choices 'Draft','Presented','Approved','Approved with Amendments'
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Approval Date' -InternalName 'ApprovalDate' -Type DateTime
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Approved Minutes Link' -InternalName 'ApprovedMinutesLink' -Type URL
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Recording Retained' -InternalName 'RecordingRetained' -Type Boolean
Add-PnPField -List 'Minutes Approval Tracker' -DisplayName 'Recording Deletion Date' -InternalName 'RecordingDeletionDate' -Type DateTime
# Create a default view
Add-PnPView -List 'Minutes Approval Tracker' -Title 'All Minutes' -Fields 'MeetingTitle','MeetingDate','MeetingType','ApprovalStatus','DraftLink','ApprovedMinutesLink' -SetAsDefault
Add-PnPView -List 'Minutes Approval Tracker' -Title 'Pending Review' -Fields 'MeetingTitle','MeetingDate','SecretaryReviewStatus','DraftLink' -Query "<Where><Eq><FieldRef Name='SecretaryReviewStatus'/><Value Type='Choice'>Pending Review</Value></Eq></Where>"Transcription Quality Enhancement Prompt Card
Type: prompt A physical and digital reference card distributed to all board and committee meeting participants with best practices for maximizing AI transcription accuracy. Addresses the most common causes of poor transcription in boardroom settings.
Implementation:
Board Meeting Best Practices for AI Transcription
Testing & Validation
Client Handoff
Client Handoff Checklist
Training Sessions Delivered
Documentation Delivered
Success Criteria Review
Transition to Ongoing Support
- Confirm the MSP managed services agreement covers ongoing support for this system
- Provide the MSP support phone number and email for the board secretary to use
- Schedule the first quarterly review meeting (3 months from go-live)
- Document any known issues or workarounds discovered during implementation
Maintenance
Ongoing Maintenance Plan
Monthly Tasks (MSP Responsibility)
- License Audit (15 min): Verify Teams Premium licenses remain assigned to the correct users. Check for any new board members or committee chairs who need licenses. Confirm nonprofit licensing eligibility is still active.
- Power Automate Flow Health Check (15 min): Review flow run history at make.powerautomate.com. Check for failed runs, identify error patterns, and remediate. Verify the OpenAI API key (if used) has not expired and has sufficient credits.
- SharePoint Storage Review (10 min): Check storage consumption in the Board Governance site. Verify recordings are being cleaned up per the retention policy. Ensure the Approved Minutes library is growing as expected.
- Firmware Update Check (10 min): Check for Jabra Speak2 75 firmware updates via Jabra Direct. Apply during a maintenance window (not before a scheduled meeting). Also check for Teams desktop client updates on the room PC.
Quarterly Tasks (MSP Responsibility)
- Transcription Quality Review (30 min): Review the transcript from the most recent board meeting with the board secretary. Assess accuracy, speaker attribution quality, and any recurring issues. Adjust speakerphone placement or recommend acoustic improvements if needed.
- Minutes Template Review (20 min): Consult with board secretary on any desired changes to the minutes template format. Update the Word template and Power Automate flow as needed.
- Security and Compliance Audit (30 min): Verify SharePoint permissions are still correctly configured (no unauthorized access). Confirm recording retention policy is being followed. Check that expired recordings have been deleted.
- Board Member Onboarding Support: When new board members join, ensure they receive the best practices card, consent notice, and access to the Board Governance SharePoint site.
Semi-Annual Tasks
- Platform Feature Review (1 hour): Review Microsoft Teams and Teams Premium release notes for new AI features that could benefit the client. Evaluate whether to upgrade to Copilot or add new capabilities. Present findings and recommendations to the executive director.
- Training Refresh (30 min): Offer a brief refresher training session for the board secretary, especially if there have been UI changes or new features.
- Backup Verification: Confirm that approved minutes are backed up per the organization's disaster recovery plan (e.g., secondary backup to Azure Blob Storage or external backup service).
Annual Tasks
- Annual Governance Review (1 hour): Meet with board secretary and executive director to review the overall effectiveness of the AI minutes system. Gather feedback from board members. Assess whether the solution is meeting the success criteria established at handoff.
- License Renewal and Cost Optimization: Review all licensing costs. Check for new nonprofit discount programs. Optimize license assignments (remove licenses from users who no longer need them).
- Retention Policy Execution: Execute annual cleanup of recordings that have passed their retention period. Generate a report of all approved minutes archived during the year for the board's records.
SLA Considerations
- Response Time: 4-hour response for issues reported during business hours; next-business-day for non-urgent requests.
- Critical Issue Definition: Transcription/recording completely non-functional before a scheduled board meeting = Critical. Must be resolved or workaround provided before meeting time.
- Workaround for Critical Failures: If Teams transcription is down before a meeting, the fallback is to use Fathom (free) or Otter.ai (free tier) as a temporary notetaker. The board secretary should also be trained to take manual notes as an ultimate fallback.
- Escalation Path: Level 1: MSP helpdesk (basic troubleshooting, license issues). Level 2: MSP senior engineer (Power Automate flow issues, SharePoint configuration). Level 3: Microsoft Premier Support (Teams platform issues, transcription service outages).
Model/AI Retraining Triggers
- Microsoft updates the Teams Intelligent Recap AI models automatically—no MSP action needed.
- If using the OpenAI GPT-5.4 prompt in Power Automate: review the prompt quarterly for improvements. Update the model version when OpenAI releases new models (e.g., GPT-5.4 to GPT-5). Test new models with a sample transcript before deploying to production.
- If transcription accuracy drops below 85% for a specific board member (e.g., strong accent, speech pattern), explore Microsoft's custom speech recognition profiles or adjust the best practices guidance for that individual.
Alternatives
For nonprofits that use Zoom instead of Microsoft Teams as their primary meeting platform. Deploy Zoom Business with the 50% nonprofit discount and pair it with Otter.ai Business for AI transcription and meeting summaries. Otter.ai joins Zoom meetings as a bot participant, transcribes with speaker attribution, and generates AI summaries with action items. Minutes are drafted manually by the secretary using the Otter summary as a reference, or a similar Power Automate / Zapier workflow can be built to format the output.
The most budget-friendly option for small nonprofits with tight budgets. Google Workspace for Nonprofits is completely free for up to 2,000 users and includes Google Meet with Gemini AI note-taking capabilities. Pair with Fathom, which offers unlimited free meeting recordings and AI summaries across Zoom, Teams, and Meet. The board secretary uses Gemini or Fathom AI summaries to draft minutes manually in Google Docs. Minutes are stored in a shared Google Drive folder with restricted permissions.
Boardable Professional+ (All-in-One Board Portal)
For nonprofits that want a purpose-built board management platform rather than assembling components from Microsoft 365. Boardable Professional+ includes built-in video conferencing, AI meeting transcription, AI-generated minutes, board packet management, agenda builder, voting tools, and document archival—all in one platform designed exclusively for nonprofit boards. No separate Teams/Zoom license needed for board meetings (though they can integrate with Teams/Zoom if preferred).
Tradeoffs: Cost is higher at ~$35.99/user/month per board member (e.g., 12 board members = ~$432/month = ~$5,184/year). This is significantly more expensive than Teams Premium but eliminates the need to build custom Power Automate workflows, manage SharePoint governance sites, or configure minutes templates—it's all built in. The AI minutes feature is native and tailored for board governance. Tradeoff: board members must learn a new platform, and Boardable is only used for board meetings (not for staff meetings or general collaboration). Recommend this for nonprofits with 15+ board members, multiple active committees, and a desire for a turnkey governance solution without MSP-built custom workflows.
OnBoard with Minutes AI (Enterprise Governance)
For large nonprofits, foundations, community health systems, or quasi-governmental organizations with complex governance requirements. OnBoard is the #1 rated board portal software broadly and offers Minutes AI that captures discussion, motions, and votes in real time, delivering a drafted-minutes document as soon as the meeting ends. Includes board packet assembly, e-signatures, board assessments, and compliance tracking.
Self-Hosted OpenAI Whisper (Maximum Privacy)
For nonprofits with extreme data sensitivity concerns (e.g., healthcare nonprofits, domestic violence organizations, legal aid societies) where sending meeting audio to cloud AI services is unacceptable. Deploy OpenAI's Whisper large-v3 model on a local GPU server or private cloud VM. Meeting audio is recorded locally, transcribed on-premises, and never leaves the organization's network. The MSP builds a custom Python pipeline: audio capture → Whisper transcription → WhisperX speaker diarization → GPT-5.4 API (or local LLM) for minutes formatting.
Tradeoffs: Highest complexity and cost. Requires a GPU server ($1,500–$3,500 for an NVIDIA RTX 4090) or GPU cloud VM ($0.50–$2.00/hour on Azure/AWS). Requires Python development expertise to build and maintain the pipeline. No real-time transcription—processing happens after the meeting ends. Transcription accuracy matches cloud services (~95%) but lacks the polished UI of Teams Premium or Otter.ai. Ongoing maintenance burden is significant: model updates, server patching, GPU driver management. Recommend this only when the client has a documented data residency or privacy requirement that prohibits cloud transcription, AND has the budget for the hardware and MSP development time ($5,000–$10,000 initial build + $500–$1,000/month ongoing management).
Want early access to the full toolkit?