# Home (/docs)
Welcome to **Optiverse Academy**, your central resource for everything Optiverse.
Whether you're just getting started, looking to set up integrations, or exploring advanced automation workflows, you'll find step-by-step guides and best practices here.
## Where to Start [#where-to-start]
Get your first AI-powered meeting summary in under 5 minutes.
Understand the assistant, the recording page, and sharing.
Create custom summary templates tailored to your meeting types.
Live transcription, universal speech-to-text, and in-meeting task management.
Record meetings and dictate notes on the go.
Your AI assistant for querying meetings and generating insights.
Manage members, roles, organization settings, and licenses.
Connect Optiverse to your CRM, communication tools, and automation platforms.
Canonical security, privacy, and compliance information for Optiverse.
# AI-Generated Tasks (/docs/boards-and-task-management/ai-generated-tasks)
Optiverse listens for commitments, assignments, and action items during your meetings and automatically surfaces them as tasks. No manual note-taking required. The AI understands who agreed to do what and when.
## How Action Item Detection Works [#how-action-item-detection-works]
After a meeting is processed, Optiverse analyzes the transcript for:
* Explicit commitments ("I'll send the proposal by Friday")
* Assignments ("Mario has to follow up with the client")
* Agreed-upon next steps ("Let's schedule a review for next week")
* Implied tasks from decisions ("We decided to migrate, someone needs to create the plan")
These appear as **action items** on the recording page with checkboxes.
\[Screenshot: Recording page showing a list of detected action items with checkboxes]
## From Action Item to Full Task [#from-action-item-to-full-task]
Click any action item to expand it:
1. **AI generates a full task description**, context-aware, pulling relevant details from the conversation
2. **Responsible person is identified**, based on who volunteered or was assigned during the discussion
3. **Deadline is extracted**, if a timeframe was mentioned in the conversation
The AI understands natural conversation patterns. Even without perfect speaker labels, it recognizes phrases like "I will do X" or "Can you handle Y?" to correctly assign responsibility.
\[Screenshot: Expanded action item showing AI-generated description, assignee, and deadline]
## Pushing Tasks to Your Tools [#pushing-tasks-to-your-tools]
Once an action item is expanded, push it to:
* **Optiverse Boards**, your built-in Kanban task management
* **Microsoft Planner**, for teams using the Microsoft ecosystem
* **Connected task management tools**, via integrations and webhooks
Select the destination, confirm the details, and the task is created with a link back to the source meeting.
\[Screenshot: Task push dialog showing destination options: Boards, Planner, and other connected tools]
## Managing Tasks on the Recording Page [#managing-tasks-on-the-recording-page]
You can manage action items directly on the recording page:
* **Check off completed tasks**, mark items as done without leaving the page
* **Edit descriptions**, refine the AI-generated text if needed
* **Reassign**, change the responsible person
* **Skip items**, not every detected action item needs to become a formal task
## Task Properties [#task-properties]
Each AI-generated task includes:
| Property | Source |
| ------------------ | ---------------------------------------------------------------------- |
| Description | AI-generated from meeting context |
| Responsible person | Detected from conversation ("I'll do it" / "Mario should handle this") |
| Deadline | Extracted if mentioned ("by Friday", "next sprint", "end of month") |
| Source meeting | Automatic link to the originating recording |
## Consolidated Task Views via Knowledge Hub [#consolidated-task-views-via-knowledge-hub]
Use the Knowledge Hub to get a bird's-eye view of tasks across all your meetings:
* "What are all my open action items from this week's meetings?"
* "What did I commit to in yesterday's calls?"
* "List all tasks assigned to \[person] from the last 30 days"
* "Are there any overdue action items from the project kickoff?"
The Knowledge Hub query works across all your meetings, giving you a consolidated view of commitments and tasks without manually checking each recording.
\[Screenshot: Knowledge Hub response showing consolidated action items from multiple meetings]
## Tips for Better Task Detection [#tips-for-better-task-detection]
* Speak clearly when assigning tasks ("John, can you take care of the proposal?")
* Mention deadlines explicitly ("We need this by next Wednesday")
* Summarize action items at the end of meetings. The AI picks these up with high accuracy.
* Use names when assigning to help the AI attribute correctly
# Getting Started with Boards (/docs/boards-and-task-management/getting-started-with-boards)
Boards bring Kanban-style task management directly into Optiverse. Every task traces back to the meeting conversation where it originated, giving you a built-in system for tracking follow-ups without switching tools.
## Creating a Board [#creating-a-board]
1. Navigate to the **Boards** page from the sidebar
2. Click **New Board**
3. Give it a descriptive name (e.g., "Sales Follow-ups", "Project Alpha", "Engineering Tasks")
4. Your board is ready with default columns
\[Screenshot: Boards page showing the New Board button and existing boards]
## Board Structure [#board-structure]
Each board uses a Kanban layout with customizable columns:
| Default Column | Purpose |
| -------------- | ------------------------------- |
| To Do | Tasks that haven't been started |
| In Progress | Tasks currently being worked on |
| Done | Completed tasks |
You can customize columns to match your team's workflow (e.g., add "Blocked", "In Review", or "Waiting").
\[Screenshot: A board with multiple columns and task cards]
## Adding Tasks from Meetings [#adding-tasks-from-meetings]
The core advantage of Boards is the direct connection between tasks and meetings:
1. Open any recording page
2. Find an action item in the meeting output
3. Click the action item
4. Optiverse generates an **AI-powered task description** automatically
5. Assign the task to a board
6. Assign it to a team member
7. The task is created with a link back to the source meeting
Tasks created from meetings maintain a permanent link to their source conversation. You always know the exact context behind any task. Just click through to the original meeting.
\[Screenshot: Action item on a recording page being expanded into a task with board assignment]
## Task Properties [#task-properties]
Each task includes:
* **Description**, AI-generated from the meeting context, editable
* **Assignee**, a team member in your workspace
* **Due date**, set manually or extracted from the conversation
* **Status**, determined by which column the task is in
* **Source meeting**, linked reference to the originating recording
## Sharing and Collaboration [#sharing-and-collaboration]
Share boards with specific colleagues in your workspace for collaborative tracking:
* Team members can view and move tasks
* Everyone sees the same real-time board state
* Tasks assigned to someone appear on their view regardless of who created them
\[Screenshot: Board sharing dialog showing team member selection]
## When to Use Boards vs. External Tools [#when-to-use-boards-vs-external-tools]
**Use Optiverse Boards when:**
* You don't have a separate task management tool
* You want tasks directly connected to meeting context
* Your team prefers a lightweight, integrated solution
**Use external integrations when:**
* You already use Jira, Asana, Monday.com, or similar tools
* Your project management workflows are complex and established
* You need features beyond basic Kanban (sprints, epics, dependencies)
If you use an external task management tool, you can connect it via integrations or API to push action items there instead of using Boards.
## What's Coming [#whats-coming]
* **Desktop app integration**, create tasks from anywhere with a single click, without needing to open the full Optiverse app
# Boards & Task Management (/docs/boards-and-task-management)
Optiverse Boards is a built-in task management system that uses AI to automatically mine action items from your meetings and place them into Kanban-style boards.
Set up your first board and see AI-generated tasks.
How Optiverse automatically extracts action items.
# Manual Task Management (/docs/boards-and-task-management/manual-task-management)
Beyond AI-generated tasks, you can manually create, assign, and organize tasks within your boards.
Content for this page is being written. Check back soon for the complete guide.
# Replacing External Tools with Boards (/docs/boards-and-task-management/replacing-external-tools)
For teams whose tasks primarily come from meetings, Optiverse Boards can replace external tools like Trello or Asana with a tighter meeting-to-task loop.
Content for this page is being written. Check back soon for the complete guide.
# Capture: Transcribe Meetings Without a Bot or Recording (/docs/desktop-app/capture)
Most meeting transcription tools require a bot to join your call. Participants see the bot in the attendee list, get notified it's recording, and the dynamic of the conversation shifts. **Optiverse Capture** takes a completely different approach.
Capture transcribes meetings **at the operating system level** — listening to your device's audio output directly. No bot joins. No one is notified. No audio or video file is stored. You get a full, high-accuracy transcript without changing the meeting experience for anyone.
**Beta Access** — Optiverse Desktop (including Capture) is currently in beta for both macOS and Windows. Request early access at [optiverse.app](https://optiverse.app) to be among the first to try it.
Capture is one of three features accessible from the Desktop App's floating navigation island. Switch between **Capture**, **Flow**, and **Tasks** with a single click — all your meeting intelligence tools are always one tap away.
***
## Why Transcribe Without a Bot? [#why-transcribe-without-a-bot]
Adding a recording bot to a meeting creates friction:
* **Participants behave differently** when they know they're being recorded
* **Sensitive conversations** (1:1s, performance reviews, negotiations) feel intrusive with a bot present
* **External stakeholders** may refuse to proceed when they see an unfamiliar participant
* **Ad hoc calls** that aren't on the calendar can't be auto-joined by a bot
* **Compliance policies** in some organizations prohibit third-party participants
Capture eliminates all of these problems. The meeting happens naturally, and you still get every word transcribed.
***
## How Capture Works [#how-capture-works]
1. Open Optiverse Desktop and start Capture before or during your meeting
2. The app listens to audio playing on your device — works with **any platform**: Zoom, Teams, Google Meet, Webex, phone calls routed through your computer, or any other audio source
3. As participants speak, the transcript appears **live** in the app
4. When the meeting ends, stop Capture
5. Optiverse processes the transcript and generates your [recording page](/docs/how-recording-works/meeting-recording-page) with a full AI summary, action items, and OptiAgent access
The live transcription view shows each speaker's words in real time, color-coded and attributed to participants. Use the **Stop** button when the meeting ends to finalize processing.
***
## Capture vs. Traditional Meeting Bots [#capture-vs-traditional-meeting-bots]
| | Bot-based transcription | Optiverse Capture |
| -------------------------------- | ------------------------- | --------------------------------- |
| **Joins the meeting** | Yes (visible participant) | No (runs locally on your device) |
| **Participants notified** | Yes (recording alerts) | No (completely invisible) |
| **Video recording** | Optional | Not available |
| **Audio file preserved** | Yes | No (transcript only) |
| **Requires calendar connection** | Yes (or manual invite) | No (captures any audio on device) |
| **Platform support** | Specific platforms only | Any platform (OS-level capture) |
| **Works for impromptu calls** | No (needs to be invited) | Yes (start anytime) |
***
## Use Cases: When to Use Capture [#use-cases-when-to-use-capture]
### Transcribe calls without anyone knowing you're taking notes [#transcribe-calls-without-anyone-knowing-youre-taking-notes]
Perfect for sensitive 1:1 conversations, client calls, or internal discussions where a visible bot would change the dynamic.
### Get meeting notes from platforms that bots don't support [#get-meeting-notes-from-platforms-that-bots-dont-support]
Capture works with any audio playing on your device — including niche conferencing tools, webinars, phone calls, and browser-based meeting platforms that traditional bots can't join.
### Transcribe impromptu or unscheduled meetings [#transcribe-impromptu-or-unscheduled-meetings]
A colleague calls unexpectedly? A quick huddle starts on Slack or Discord? Start Capture instantly — no need to invite a bot or have the meeting on your calendar.
### Record follow-ups and action items without recording the meeting [#record-follow-ups-and-action-items-without-recording-the-meeting]
Many teams want the transcript and AI-generated action items but don't need (or aren't allowed to keep) an audio/video recording. Capture gives you the intelligence without the file.
### Stay compliant in regulated industries [#stay-compliant-in-regulated-industries]
In industries where adding third-party participants to calls requires legal clearance, Capture lets you transcribe without introducing another entity into the meeting room.
***
## Transcription Quality [#transcription-quality]
Capture uses the same AI transcription engine powering all of Optiverse:
* **45+ languages and dialects** with automatic detection
* **Speaker diarization** to attribute speech to individual participants
* **Custom Dictionary** support — add industry terms, product names, and jargon at [Settings → Custom Dictionary](https://app.optiverse.ai/settings/org-profile) to improve accuracy
* Same post-processing pipeline that produces summaries, action items, and OptiAgent-ready content
***
## What You Get After a Capture Session [#what-you-get-after-a-capture-session]
Every Capture session produces the same rich output as a bot-recorded meeting:
* Full transcript on your [recording page](/docs/how-recording-works/meeting-recording-page)
* AI-generated summary based on your active [protocol](/docs/protocols-and-summaries/what-are-protocols)
* Extracted action items and decisions
* Full [OptiAgent](/docs/optiagent-and-knowledge-hub/what-is-optiagent) access to query the meeting
* Sharing with team members and push to integrations
The only difference: there's no audio/video player on the recording page since no media file is captured.
***
## Q\&A [#qa]
**Q: Is it legal to transcribe meetings without a bot?**
**A:** Yes. Capture is **live transcription, not recording**. This is a critical distinction. No audio or video file is ever created, stored, or transmitted. Capture simply converts spoken words into text in real time — the same way a human taking handwritten notes during a meeting would. Since there is no recording being made, the legal frameworks that govern "recording consent" (such as two-party consent laws) do not apply in the same way. You're taking notes — just faster and more accurately than you could by hand.
That said, transcription policies vary by organization. Always ensure you comply with your company's internal meeting documentation guidelines.
***
**Q: Does Capture work with headphones?**
**A:** Yes. Capture listens to the system audio output, which includes audio routed to headphones, speakers, or any other output device. It doesn't matter how you're listening to the meeting — Capture picks it up.
***
**Q: Can I use Capture and the note-taker bot at the same time?**
**A:** Yes. They operate independently. You might use the bot when you want video recording and Capture as a lightweight backup, or use Capture alone when a bot would feel intrusive. Both produce the same rich output (transcripts, summaries, action items, OptiAgent access).
***
**Q: Does Capture drain my battery?**
**A:** Capture is optimized for low resource usage. It runs lightweight processing locally while leveraging cloud AI for the final transcript processing, keeping CPU and battery impact minimal. You won't notice it running.
***
**Q: What happens if my internet drops mid-meeting?**
**A:** Capture continues processing audio locally. The transcript is synced and processed by Optiverse once connectivity is restored.
***
**Q: Does Capture work with phone calls?**
**A:** Yes — as long as the call audio plays through your computer (e.g., via a softphone app, Bluetooth routing, or speakerphone picked up by your mic), Capture transcribes it like any other meeting.
***
## Get Early Access [#get-early-access]
Optiverse Desktop is currently in **beta** for both macOS and Windows. Capture, along with [Flow](/docs/desktop-app/flow) and [Tasks](/docs/desktop-app/tasks), is available to early access users.
Join the waitlist to get Optiverse Desktop on your Mac or Windows machine. Be the first to transcribe meetings without a bot.
# Flow: Speech-to-Text Anywhere on Your Computer (/docs/desktop-app/flow)
Flow is a universal **voice-to-text layer** for your entire computer. Press a shortcut, speak naturally, and your words appear as typed text in whatever application is focused. Email, CRM, documents, chat, spreadsheets — Flow works everywhere.
**Beta Access** — Optiverse Desktop (including Flow) is currently in beta for both macOS and Windows. Request early access at [optiverse.app](https://optiverse.app) to be among the first to try it.
***
## How Flow Works [#how-flow-works]
1. Press the Flow keyboard shortcut (configurable in app settings)
2. Start speaking naturally in any language
3. Your words are transcribed and inserted as typed text at the cursor position in the active app
4. Press the shortcut again (or pause speaking) to deactivate
When Flow is active, a minimal floating indicator shows a live waveform as you speak. It stays out of the way while confirming your voice is being captured.
Flow works with **any application** on your device: email clients, browsers, document editors, chat tools, CRM fields, spreadsheets, IDEs, or any other text input.
***
## Why Voice-to-Text Matters [#why-voice-to-text-matters]
| Metric | Typing | Speaking with Flow |
| ---------------------- | --------------------------------- | ------------------------ |
| Average speed | \~40 words/min | \~130 words/min |
| Cognitive load | High (spelling, formatting) | Low (natural expression) |
| Repetitive strain risk | Higher | Minimal |
| Context switching | Frequent (think → type → correct) | Minimal (think → speak) |
Flow lets you work at the speed of thought, reducing friction in every text-based task throughout your day.
***
## Use Cases [#use-cases]
| Scenario | Example |
| --------------------- | ------------------------------------------------------------------------------------------ |
| **Drafting emails** | Speak your entire email response in Outlook, Gmail, or any mail client |
| **Writing documents** | Dictate reports, proposals, or meeting notes into Word, Google Docs, Notion, or any editor |
| **Chat messages** | Quickly respond in Slack, Teams, or WhatsApp by voice |
| **CRM updates** | Speak deal notes directly into HubSpot, Salesforce, or Pipedrive fields |
| **Form filling** | Voice-enter data into project management tools, spreadsheets, or internal systems |
| **Code comments** | Dictate documentation or comments into your IDE |
| **Quick notes** | Capture thoughts and ideas anywhere without switching applications |
***
## Language Support [#language-support]
Flow supports the same **45+ languages** available in Optiverse's transcription engine, with automatic language detection. You can switch languages mid-sentence if needed.
***
## Flow is Not Limited to Meetings [#flow-is-not-limited-to-meetings]
Flow is not a meeting tool — it's a productivity layer for your entire workday. Use it anytime, in any app, for any purpose. Think of it as having a personal stenographer available at the press of a button.
***
## Get Early Access [#get-early-access]
Optiverse Desktop is currently in **beta** for both macOS and Windows. Flow, along with [Capture](/docs/desktop-app/capture) and [Tasks](/docs/desktop-app/tasks), is available to early access users.
Join the waitlist to get Optiverse Desktop on your Mac or Windows machine. Dictate text anywhere on your computer at 3x typing speed.
# Optiverse Desktop App (/docs/desktop-app)
**Optiverse Desktop** is a native application for Windows and macOS that brings Optiverse's intelligence directly to your computer. Its tagline says it all: **Your Voice Runs the Show**.
While the cloud-based note-taker joins your meetings as a participant, the Desktop App works at the operating system level — giving you three powerful capabilities that don't require a bot in the call.
**Beta Access** — Optiverse Desktop is currently in beta for both macOS and Windows. Request early access at [optiverse.app](https://optiverse.app) to be among the first to try it.
***
## Three Features, One App [#three-features-one-app]
Transcribe meetings without a bot or recording. Invisible, OS-level live transcription that works with any platform.
Speech-to-text anywhere on your computer. Dictate into any app at 3x typing speed.
AI-powered Kanban board that captures action items the moment they're discussed in meetings.
***
## How They Work Together [#how-they-work-together]
The real power of Optiverse Desktop emerges when you combine all three features:
1. **Capture** transcribes your meeting in real time (invisible to other participants)
2. **Tasks** automatically suggests action items as they're discussed — you confirm with one click
3. After the meeting, **Flow** lets you dictate follow-up emails or CRM updates into any application
This creates a seamless workflow from conversation to documentation to action, all from a single native app on your desktop.
***
## Platform Support [#platform-support]
| Platform | Status |
| ----------- | ------ |
| **macOS** | Beta |
| **Windows** | Beta |
The Desktop App works alongside (not instead of) the cloud-based note-taker. You can use both depending on the situation, or pick the one that fits your meeting context best.
***
## Get Early Access [#get-early-access]
Join the waitlist to get Optiverse Desktop on your Mac or Windows machine. Be among the first to experience meeting transcription without a bot, universal dictation, and real-time task management.
# Tasks: AI-Powered Kanban for Meeting Action Items (/docs/desktop-app/tasks)
Most action items are forgotten within minutes of being discussed. Studies show up to 80% of meeting information fades within 24 hours. **Optiverse Tasks** solves this by giving you a Kanban board built directly into the Desktop App that captures commitments **the moment they're made**.
**Beta Access** — Optiverse Desktop (including Tasks) is currently in beta for both macOS and Windows. Request early access at [optiverse.app](https://optiverse.app) to be among the first to try it.
***
## How Tasks Works [#how-tasks-works]
* Open Tasks during or after any meeting
* Add tasks manually as they come up in conversation
* When [Capture](/docs/desktop-app/capture) is running, the AI **automatically suggests tasks** based on what's being discussed
* Organize tasks by status: To Do, In Progress, Done
* Assign owners and deadlines on the spot
* Tasks sync with [Optiverse Boards](https://app.optiverse.ai) and can be pushed to external tools
***
## Quick Add: Ctrl+Space to Create a Task Instantly [#quick-add-ctrlspace-to-create-a-task-instantly]
Press **Ctrl+Space** anywhere and the quick-add panel appears:
From here you can set a title, add a note, break it into subtasks, and assign a priority (P1–P4) — all without leaving your current workflow.
### Dictate Tasks with Flow for Automatic Subtask Parsing [#dictate-tasks-with-flow-for-automatic-subtask-parsing]
Here's where it gets powerful: combine Tasks with [Flow](/docs/desktop-app/flow). Instead of typing, **activate Flow and speak your task naturally**. The AI parses your dictation and automatically structures it:
* Speak: *"Prepare the client proposal — include the pricing table, add case studies from last quarter, and get sign-off from marketing by Friday"*
* Tasks creates the main task **"Prepare the client proposal"** and automatically generates three subtasks:
1. Include the pricing table
2. Add case studies from last quarter
3. Get sign-off from marketing by Friday
No manual splitting required. Just speak your mind, and Tasks structures it for you.
***
## AI-Powered Task Generation [#ai-powered-task-generation]
Tasks leverages the same intelligence behind Optiverse's action item extraction:
1. During a meeting (when Capture is active), the AI listens to the conversation
2. It identifies action items, commitments, and next steps as they're discussed
3. Suggested tasks appear in your board with titles and descriptions pre-filled
4. You verify and confirm each task with one click (human-in-the-loop ensures accuracy)
5. Confirmed tasks are added to your Kanban board instantly
***
## Manual and Static Modes [#manual-and-static-modes]
Tasks is also a fully capable standalone task manager:
* Add, edit, reorder, and delete tasks manually
* Use it as a traditional Kanban board without any AI features
* Organize tasks from any source (not just meetings)
* Track personal to-do items alongside meeting-generated tasks
***
## Integration with Optiverse Boards [#integration-with-optiverse-boards]
Tasks created in the Desktop App sync with Optiverse Boards in the web app. From there, they can be:
* Synced to external tools (Notion, Jira, Asana, Linear, and more via 5000+ integrations)
* Shared with team members
* Linked back to the meeting where they originated
* Tracked across projects and deadlines
***
## The Full Workflow: Capture + Tasks [#the-full-workflow-capture--tasks]
The real power emerges when Capture and Tasks work together:
1. **Capture** transcribes your meeting in real time (invisible to other participants)
2. **Tasks** automatically suggests action items as they're discussed
3. You confirm with one click — building your task board live during the meeting
4. After the meeting, use [Flow](/docs/desktop-app/flow) to dictate follow-up emails or CRM updates
No more writing a list after the meeting trying to remember what was agreed.
***
## Get Early Access [#get-early-access]
Optiverse Desktop is currently in **beta** for both macOS and Windows. Tasks, along with [Capture](/docs/desktop-app/capture) and [Flow](/docs/desktop-app/flow), is available to early access users.
Join the waitlist to get Optiverse Desktop on your Mac or Windows machine. Never lose an action item from a meeting again.
# Admin Approval & Sign-Up Troubleshooting (/docs/getting-started/admin-approval)
If you see a block or permission error when trying to sign up with **"Continue with Google"** or **"Continue with Microsoft"**, this usually means your organization's IT administrator has restricted third-party app access. This is common in enterprise environments and is easy to resolve.
Below is an example of the Microsoft "Need admin approval" screen you may encounter:
A similar screen may appear when using Google Workspace, depending on your organization's configuration.
## Why Am I Blocked? [#why-am-i-blocked]
Many organizations require admin consent before employees can connect their work accounts to new applications. When you click **Continue with Google** or **Continue with Microsoft**, your identity provider (Google Workspace or Microsoft Entra ID) checks whether Optiverse is approved. If it isn't, you'll see a message saying you need admin approval or that the app is not authorized.
This is **not an issue with your account**. It simply means your IT team needs to approve Optiverse as a trusted application.
## What You Can Do [#what-you-can-do]
### Option 1: Request Approval from Your IT Admin [#option-1-request-approval-from-your-it-admin]
1. Contact your IT administrator or helpdesk
2. Let them know you need access to **Optiverse** (app.optiverse.ai)
3. Share the [Optiverse Trust Center](https://trust.optiverse.ai/) to speed up the process
Sharing the Trust Center directly with your IT team often resolves concerns quickly. It contains the latest Optiverse security, privacy, and compliance information in one place.
### Option 2: Let Us Help You Navigate Internal Approval [#option-2-let-us-help-you-navigate-internal-approval]
We understand that navigating internal IT processes can be challenging. Our team has experience helping organizations through the approval workflow, and we're happy to:
* Join a short call with you and your IT admin to answer technical questions
* Provide a security questionnaire or compliance documentation
* Walk your admin through the exact permissions Optiverse requests
* Explain the data flow and storage architecture in detail
**Reach out to our team** for help with admin approval:
[support@optiverse.ai](mailto:support@optiverse.ai)
### Option 3: Pilot with a Personal Account [#option-3-pilot-with-a-personal-account]
If internal approval will take time, you can start exploring Optiverse with a personal Google or Microsoft account. Keep in mind that this will give you a **limited exposure** to the product, as your work calendar will not be connected. The assistant cannot automatically join your work meetings in this case.
However, you can still use Optiverse in the following ways:
* **[Join Live Meeting](/docs/how-recording-works/how-the-assistant-works#sending-the-assistant-manually)**: Manually send the assistant to any meeting by pasting the Teams, Zoom, or Google Meet link from the [Calendar page](https://app.optiverse.ai/meetings-calendar)
* **[Mobile app](/docs/mobile-app)**: Record in-person meetings or voice memos directly from your phone
* **[Upload recordings](https://app.optiverse.ai/meetings-calendar)**: Upload any existing audio or video file for transcription and summarization
If you don't mind the extra manual step of sending the assistant via a meeting link each time, this is already enough to grasp the value Optiverse delivers.
Once your organization grants approval, we are happy to help you migrate your account and data to your work identity so nothing is lost.
## What IT Admins Need to Know [#what-it-admins-need-to-know]
No configuration is needed on the Optiverse side. Optiverse uses **Microsoft OAuth** or **Google OAuth** for authentication, which means SSO is already built in through your existing Microsoft 365 or Google Workspace accounts. No separate SAML setup is required.
| Permission | Purpose |
| -------------------------- | ---------------------------------------------------- |
| Calendar read access | To see upcoming meetings and join them automatically |
| User profile (email, name) | To create the account and identify participants |
That's it. Optiverse does **not** request access to your emails, files, drives, or any other data. The scope is intentionally minimal: only your calendar events and basic profile information.
### Granting Access: Microsoft Entra ID [#granting-access-microsoft-entra-id]
There are two ways to approve Optiverse for your Microsoft organization:
#### Option A: Admin Consent (Recommended) [#option-a-admin-consent-recommended]
This is the fastest approach. One admin action grants access to everyone in your tenant. It takes less than 2 minutes.
**Go to [optiverse.ai](https://optiverse.ai) and click Get Started**
**Choose Continue with Microsoft**
**Choose an Admin Account**
Select an account that has admin privileges in your Microsoft tenant.
**Check "Consent on behalf of your organization"**
This is the key step. Ticking this checkbox means all users in your organization will be able to sign in without being individually prompted for consent.
**Click Accept**
Once the checkbox is checked, click Accept. That's it. All users in your Microsoft tenant can now access Optiverse with their Microsoft credentials.
No further configuration is needed after this.
This approval covers signing in to Optiverse. Integrations like Dynamics 365, Microsoft Teams, and Microsoft Planner are separate Entra applications and need their own approval. [Microsoft Integration Approval](/docs/integrations-and-workflows/microsoft-admin-consent) generates a direct approval link for each of them, including one for the Optiverse platform app if your admin prefers a link over the sign-in flow above.
#### Option B: Controlled Access via Entra ID [#option-b-controlled-access-via-entra-id]
If you want to restrict access to specific users rather than the entire tenant:
1. Go to **Azure Portal** > **Entra ID** > **Enterprise Applications** > **Optiverse**
2. Create a security group (e.g., "Optiverse Users") in Entra ID
3. Add the designated users to this group
4. In the Optiverse enterprise app settings, assign this group access
5. Enable **"User assignment required"** to restrict access to only assigned users/groups
This way, only members of your designated group can sign in to Optiverse using their Microsoft credentials.
To **remove access** later, simply remove the user from the security group or revoke the enterprise application assignment. Since all login goes through Microsoft SSO, there is no way to bypass this restriction.
### Granting Access: Google Workspace [#granting-access-google-workspace]
For Google Workspace organizations:
1. Have a Google Workspace admin sign in to [app.optiverse.ai](https://app.optiverse.ai) with their Google account
2. When Google prompts for consent, approve the requested scopes (calendar read access and user profile)
3. Once approved, users in your Google Workspace can access Optiverse with their Google credentials
If your organization restricts third-party apps, the admin can also approve Optiverse from **Google Admin Console** > **Security** > **API Controls** > **Third-party app access**.
Both Microsoft and Google approval take less than 5 minutes to complete. If you need help, reach out to [support@optiverse.ai](mailto:support@optiverse.ai) and we'll guide you through it.
## Still Stuck? [#still-stuck]
If you've tried the steps above and are still unable to sign up:
1. **Email us** at [support@optiverse.ai](mailto:support@optiverse.ai) with your organization name and the error message you see
2. **[Book a call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta)** with our team, and we can walk your IT admin through the approval process directly
3. Most admin approvals are resolved within 24 to 48 hours once IT has reviewed the documentation
We're here to make that process as smooth as possible. Don't hesitate to reach out.
# Getting Started (/docs/getting-started)
Get your first AI-powered meeting summary in just a few minutes. This section covers setup and troubleshooting access.
Your first meeting summary in 5 minutes.
Blocked during sign-up? Get help with IT approval.
# Quick Start Guide (/docs/getting-started/quick-start)
Get from sign-up to your first AI meeting summary in under 5 minutes. Optiverse works across Microsoft Teams, Zoom, and Google Meet.
## Prerequisites [#prerequisites]
* A Google or Microsoft account
* An upcoming meeting on Teams, Zoom, or Google Meet
* For Zoom meetings: a [one-time Zoom integration](/docs/how-recording-works/how-the-assistant-works#zoom-one-time-integration-required) is required
## Three Ways to Capture Meetings [#three-ways-to-capture-meetings]
Before you start, it helps to know that Optiverse offers three capture modes:
1. **Online meeting bot**, an AI assistant joins your virtual meetings as a participant and records automatically. You can also [send it to any meeting manually](/docs/how-recording-works/how-the-assistant-works#sending-the-assistant-manually) via Join Live Meeting.
2. **Desktop app**, live transcription without recording the call (GDPR compliant)
3. **[Mobile app](/docs/mobile-app)**, record in-person meetings, voice memos, or upload audio/video files
You can also **upload any audio or video file** directly from the [Calendar page](https://app.optiverse.ai/meetings-calendar) for transcription and summarization.
***
## Setup [#setup]
### Create your account and connect your calendar [#create-your-account-and-connect-your-calendar]
Go to [app.optiverse.ai](https://app.optiverse.ai) and sign up with your **Google** or **Microsoft** account. During sign-up, you will be asked to connect your calendar (Outlook or Google Calendar). This is a required step that allows Optiverse to see your upcoming meetings.
If you see a permission error or are asked for admin approval, your organization may need to authorize Optiverse first. See [Admin Approval & Troubleshooting](/docs/getting-started/admin-approval) for step-by-step instructions on resolving this.
### Configure agent join settings [#configure-agent-join-settings]
Choose when Optiverse should automatically join your meetings:
* **All meetings**, joins every event on your calendar
* **Only meetings you organize**, only meetings where you're the organizer
* **Only internal meetings**, skips meetings with external participants
* **On invitation only**, only joins when you explicitly enable it per meeting, or when you invite **[optiagent@optiverse.ai](mailto:optiagent@optiverse.ai)** to the event
You can change this setting at any time from [Meeting Preferences](https://app.optiverse.ai/settings/meeting-prefs). See [How the Assistant Works](/docs/how-recording-works/how-the-assistant-works#agent-join-settings) for detailed options including per-meeting overrides and email invitations.
### Admit the assistant into your meeting [#admit-the-assistant-into-your-meeting]
The assistant arrives **3 minutes before** your meeting starts and waits in the **lobby**. You (or the meeting host) must admit it. It appears as an external guest named **"\[YourName]'s assistant by Optiverse"**.
If the assistant is not admitted within 10 minutes, it will leave. You can always resend it from the [Calendar page](https://app.optiverse.ai/meetings-calendar).
For a full explanation of joining behavior, timing, and silence detection, see [How the Assistant Works](/docs/how-recording-works/how-the-assistant-works).
### Get your summary [#get-your-summary]
Within **\~15 minutes** after the meeting ends, you'll receive:
* A full transcript of the conversation
* An AI-generated summary with key points and action items
* An email recap delivered to your inbox
***
## What's Next [#whats-next]
* [How the Assistant Works](/docs/how-recording-works/how-the-assistant-works) for detailed behavior, timing, and troubleshooting
* [Join Live Meeting](/docs/how-recording-works/how-the-assistant-works#sending-the-assistant-manually) to send the assistant to any meeting on demand
* [Set up the mobile app](/docs/mobile-app) to capture in-person meetings
* [Upload a recording](https://app.optiverse.ai/meetings-calendar) to transcribe and summarize existing audio/video files
* [Team & Workspace setup](/docs/team-and-workspace) to invite colleagues and configure organization settings
# Access & Sharing (/docs/how-recording-works/access-and-sharing)
Optiverse gives you full control over who can access your meeting recordings, transcripts, and summaries. The most important concept to understand is the distinction between **public** and **private** meetings.
***
## Who Gets Access by Default [#who-gets-access-by-default]
When the Optiverse assistant records a meeting, the following people automatically receive access to the recording:
* **All calendar attendees**: everyone whose email appears on the calendar invite, regardless of whether they accepted, declined, or didn't respond
* **The meeting owner**: the person whose Optiverse account triggered the recording
This is the baseline. From here, access can be extended through manual sharing, auto-sharing rules, or public links.
The original attendee list also determines **recording ownership**, which controls who can permanently delete a recording for all users. See [Deleting Recordings](/docs/how-recording-works/deleting-recordings) for details.
At the top of any recording page, you can see profile icons representing everyone who currently has access. Click the **Share** button to view the full list of emails with access.
***
## Public vs Private Meetings [#public-vs-private-meetings]
This is the core distinction that determines how access works for people outside the default attendee list.
### Public meetings (default) [#public-meetings-default]
By default, Optiverse enables **public sharing links**. When a meeting has a public link enabled:
* **Anyone with the link** can view the recording as a guest — no Optiverse account required
* Guests can see the **video** and the **AI-generated summary**
* Guests **cannot** access AI features (OptiAgent), download the full transcript, or use advanced tools
* The public link can be copied from the Share dialog on the recording page
This is the most common setup and makes it easy to share meeting content with external participants or stakeholders who don't use Optiverse.
### Private meetings [#private-meetings]
A meeting is private when its public sharing link is **disabled**. In this case, two conditions must be met for someone to access the recording:
1. They must have an **Optiverse account**
2. They must be **on the sharing list** (either as an original attendee or manually added)
If either condition is not met, the person cannot view the recording — even if they have the link.
### Toggling between public and private [#toggling-between-public-and-private]
You can toggle the public sharing link on or off for any individual meeting from the **Share** dialog on the recording page.
***
## Organization-Level Default [#organization-level-default]
Organization admins can change the default sharing behavior for all meetings in the workspace:
| Setting | Effect |
| ------------------------------------ | ------------------------------------------------ |
| **Public sharing enabled** (default) | All new recordings have a public link by default |
| **Public sharing disabled** | All new recordings are private by default |
Even when the organization disables public sharing by default, individual meeting owners can still override this and enable a public link for specific meetings.
Configure this from [**Settings → Organization → Profile**](https://app.optiverse.ai/settings/org-profile).
***
## Manually Sharing a Recording [#manually-sharing-a-recording]
Beyond the default attendee list, the meeting owner can share a recording with additional people:
1. Open the recording page
2. Click the **Share** button
3. Enter the email address of the person you want to add
4. Click **Share**
The added person will appear in the "Shared With" list and gain access to the recording based on the public/private rules described above.
***
## Auto-Sharing [#auto-sharing]
Auto-sharing lets you automatically extend access to recordings for specific people **within your organization**, without needing to manually share each time.
You can configure separate rules for:
* **Internal meetings**: meetings where all attendees are from your company's domain
* **External meetings**: meetings where at least two different email domains are present
For each type, choose one of:
| Option | Effect |
| -------------------- | --------------------------------------------------------- |
| **No extra sharing** | No automatic sharing beyond the default attendees |
| **Organization** | Automatically share with everyone in your organization |
| **Select users** | Automatically share with specific team members you choose |
For example, you might auto-share all external meetings with your sales manager, or all internal meetings with your entire organization.
Auto-sharing only works for members of your own organization. You cannot auto-share with external contacts.
***
## Email Recaps [#email-recaps]
After every meeting, Optiverse sends an **email recap** — a notification containing an AI summary and a link to the full recording.
### Who receives the email [#who-receives-the-email]
The email recipient list is controlled by a separate setting:
| Option | Recipients |
| ---------------- | ---------------------------------------------------------------- |
| **All invitees** | Everyone on the calendar invite, including external participants |
| **Me + my team** | Only members from your organization who were on the invite |
| **Only me** | Only you (the meeting owner) receive the email recap |
Configure this from [**Settings → Meeting Preferences**](https://app.optiverse.ai/settings/meeting-prefs).
Admins can set a default email recap rule for the entire organization and lock it so individual users cannot change it. See [Team & Workspace](/docs/team-and-workspace#email-recap-policy) for details.
### Email does not equal access [#email-does-not-equal-access]
Receiving the email recap does **not** automatically grant access to the recording. The link in the email only works if the recipient has proper access based on the public/private rules:
* If the meeting is **public**: the link works for anyone (guest view)
* If the meeting is **private**: the link only works if the recipient has an Optiverse account and is on the sharing list
***
## Edge Case: Future Users [#edge-case-future-users]
There is one additional setting that matters in a specific scenario: a meeting is private, and an attendee did not have an Optiverse account at the time of recording.
The **Future Users** setting controls what happens when that person later creates an Optiverse account:
| Setting | Behavior |
| --------------------- | ----------------------------------------------------------------------------------------- |
| **Enabled** (default) | The new user gains access to past recordings where their email was on the invite |
| **Disabled** | The new user does **not** gain retroactive access, even if they were an original attendee |
This only applies when all of the following are true:
* The meeting is private (no public link)
* The person did not have an Optiverse account at the time of recording
* They later sign up with the same email that was on the invite
In most setups (where public sharing is enabled), this setting has no practical effect since the public link already allows guest access.
Configure this from [**Settings → Organization → Profile**](https://app.optiverse.ai/settings/org-profile).
***
## Summary Templates and Access [#summary-templates-and-access]
Having access to a meeting does **not** mean you see the same summary as the meeting owner. Summaries are generated per-user based on their own protocol templates.
* You can only view summaries generated with **your own templates**
* If you and the owner both have the same template applied, you'll see the same summary output
* Otherwise, you'll see the meeting content through whichever template you select from your own library
For more on creating and managing templates, see [Protocols & Summaries](/docs/protocols-and-summaries).
***
## Quick Reference [#quick-reference]
| Scenario | Can they access? |
| --------------------------------------------------------------------------- | -------------------------------------- |
| Meeting is public, person has the link | Yes (guest view: video + summary only) |
| Meeting is public, person has Optiverse account + is on invite list | Yes (full access) |
| Meeting is private, person has Optiverse account + is on sharing list | Yes (full access) |
| Meeting is private, person has Optiverse account but is NOT on sharing list | No |
| Meeting is private, person does NOT have an Optiverse account | No |
# Deleting Recordings (/docs/how-recording-works/deleting-recordings)
Optiverse provides two ways to delete a meeting recording: **delete for me** (removes it from your view only) and **delete for everyone** (permanently removes it for all users). The option available to you depends on whether you are an **owner** of the recording.
***
## Recording Ownership [#recording-ownership]
Ownership determines who has the right to permanently delete a recording for all users. The owners of a recording are the people who were on the **original attendee list** of the meeting invite.
This design is intentional: the original attendees are the people who consented to being recorded in the first place, so they are the ones who hold deletion rights over the recording.
If you were added to a recording via manual sharing after the meeting took place, you have access but you are **not** an owner. You can only delete the recording for yourself.
***
## Delete for Me vs Delete for Everyone [#delete-for-me-vs-delete-for-everyone]
When you delete a recording, a confirmation dialog presents one or both options depending on your ownership status:
| Option | Who can use it | What it does |
| ----------------------- | -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- |
| **Delete for me** | Anyone with access | Removes the recording from your personal recordings list. Other users who have access will still see and access the recording normally. |
| **Delete for everyone** | Owners only (original attendees) | Permanently deletes the recording for all users. No one will be able to access it after this action. |
Deleting for everyone is irreversible. Once confirmed, textual data is deleted within 24 hours, video recordings may remain recoverable for up to 30 days, and then the data is permanently erased. For the latest security and compliance policy details, see the [Optiverse Trust Center](https://trust.optiverse.ai/).
***
## How to Delete a Single Recording [#how-to-delete-a-single-recording]
There are two ways to initiate deletion of an individual recording:
### From the recording page (trash icon) [#from-the-recording-page-trash-icon]
On the recording page itself, click the **trash icon** in the top bar, next to the Share button.
### From the recordings list (three-dots menu) [#from-the-recordings-list-three-dots-menu]
On the recordings list page, click the **three-dots menu** on any recording card, then select **Delete record**.
Both methods open the same confirmation dialog where you choose between **Delete for everyone** and **Delete for me**.
***
## Bulk Deletion [#bulk-deletion]
If you need to delete multiple recordings at once, you can use the bulk selection feature on the recordings list page.
### How to bulk delete [#how-to-bulk-delete]
1. Click the **Select** button in the toolbar to enter selection mode
2. Check the boxes next to the recordings you want to delete (or use **Deselect All** / select all)
3. Click the red **Delete** button that appears in the toolbar
### Bulk deletion is always "Delete for me" [#bulk-deletion-is-always-delete-for-me]
When you bulk delete recordings, the action is always **Delete for me only**. You cannot delete for everyone in bulk. This is a safety measure to prevent accidental mass deletion that would affect other users.
If you need to permanently delete specific recordings for everyone, you must do so one at a time using the individual deletion methods described above.
***
## Quick Reference [#quick-reference]
| Scenario | Available options |
| -------------------------------------- | ---------------------------------- |
| Single recording, you are an owner | Delete for me, Delete for everyone |
| Single recording, you are NOT an owner | Delete for me only |
| Bulk deletion (multiple recordings) | Delete for me only |
***
## Need Help with Deletion? [#need-help-with-deletion]
If you need assistance with custom deletion policies, bulk deletion across older meetings, or any other deletion-related request, the Optiverse team can help. This is available as a **Business plan** feature.
Reach out directly at [contact@optiverse.ai](mailto:contact@optiverse.ai).
***
## Related [#related]
* [Optiverse Trust Center](https://trust.optiverse.ai/) for the latest security, privacy, and compliance documentation
* [Access & Sharing](/docs/how-recording-works/access-and-sharing) for how access and ownership relate
* [The Meeting Recording Page](/docs/how-recording-works/meeting-recording-page) for an overview of all recording page features
# How the Assistant Works (/docs/how-recording-works/how-the-assistant-works)
The Optiverse assistant (also called the "bot" or "note-taker") is an **external participant** that joins your online meetings to record and transcribe them. This page explains exactly how it behaves, when it joins, and what causes it to leave.
## The Assistant is a Guest [#the-assistant-is-a-guest]
Meeting platforms (Microsoft Teams, Zoom, Google Meet) treat the Optiverse assistant as a **guest participant**. This means:
* It appears in the participant list like any external attendee
* It is displayed with the name **"\[YourName]'s assistant by Optiverse"** ([customizable](https://app.optiverse.ai/settings/meeting-prefs))
* In most organizations, it must be **admitted from the lobby** before it can join
The only exception is if your Microsoft Workplace settings allow guests to enter meetings directly without lobby approval. This is uncommon in enterprise environments.
If the assistant joins some Microsoft Teams meetings but not others, the issue is often caused by Teams admin policy settings rather than meeting-level options. See [Troubleshoot Microsoft Teams Join Issues](/docs/integrations-and-workflows/communication/teams-join-troubleshooting).
## Platform Connections [#platform-connections]
The assistant knows about your meetings because Optiverse reads your connected calendar and extracts the meeting links from your events. This is how it determines which meetings to join and where to find them.
### Microsoft Teams and Google Meet [#microsoft-teams-and-google-meet]
These platforms work **out of the box**. Once you connect your calendar during sign-up (Google Calendar or Outlook), Optiverse can read your meeting links and join your Teams or Google Meet calls directly. No additional setup is needed.
### Zoom (One-Time Integration Required) [#zoom-one-time-integration-required]
Due to a recent Zoom SDK update, Zoom meetings require a **one-time authentication step**. You need to connect your Zoom account from within Optiverse so the assistant can join your Zoom calls.
To set this up:
1. Go to [Settings → Integrations → Zoom](https://app.optiverse.ai/settings/integrations?integration=zoom)
2. Click **Connect**
3. Sign in with your Zoom account and authorize Optiverse
This is a one-time step. Once connected, the assistant will be able to join your Zoom meetings just like it joins Teams and Google Meet calls.
If you skip the Zoom integration, the assistant will not be able to join your Zoom meetings even if they appear on your calendar. Teams and Google Meet will still work normally.
## Joining Timing [#joining-timing]
The assistant arrives **3 minutes before** the scheduled meeting start time. It will then wait in the lobby for a total of **10 minutes** to be admitted.
| Event | Timing |
| --------------------------------- | ------------------------------ |
| Assistant requests entry | 3 minutes before meeting start |
| Maximum wait in lobby | 10 minutes total |
| If not admitted within 10 minutes | Assistant gives up and leaves |
This means if your meeting starts at 10:00, the assistant will appear in the lobby at 9:57 and will stop waiting at 10:07 if nobody lets it in.
### What if you missed the window? [#what-if-you-missed-the-window]
If the assistant left because it wasn't admitted in time, you can resend it:
1. Go to the [**Calendar** page](https://app.optiverse.ai/meetings-calendar) in Optiverse
2. Find the meeting and click **"Send Agent"**
3. The assistant will re-request entry within approximately 30 seconds
You can also send the assistant late on purpose. For example, if you want to have informal small talk first and only start recording when the agenda begins.
## Silence Detection [#silence-detection]
The assistant has a **10-minute silence threshold**. If it detects no audio activity for 10 consecutive minutes, it automatically leaves the meeting.
This behavior exists to prevent the assistant from recording empty or inactive calls. However, it means you should be aware of the following scenarios:
### Scenarios where the assistant will leave [#scenarios-where-the-assistant-will-leave]
| Scenario | What happens |
| ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| Microphones not turned on | Assistant hears no audio. After 10 minutes of silence, it leaves. |
| Extended break during a meeting | If the group takes a break longer than 10 minutes without pausing or ending the call, the assistant leaves. |
| In-person meeting on Teams with muted mics | If you opened a Teams call for recording but forgot to unmute, the assistant hears nothing and leaves after 10 minutes. |
If you are running a hybrid meeting (in-person with a Teams/Zoom link open for recording), make sure at least one microphone is active so the assistant picks up audio. Otherwise it will interpret the silence as an empty meeting and leave.
### How to prevent unintended departures [#how-to-prevent-unintended-departures]
* Ensure at least one participant's microphone is on and picking up room audio
* If you need a break longer than 10 minutes, consider ending the recording and starting a new one after the break
* For in-person meetings recorded via a virtual meeting link, use a conference room microphone or place a laptop with an active mic near the speakers
## Admitting the Assistant [#admitting-the-assistant]
When the assistant joins the lobby, the meeting organizer (or host) receives a notification to admit it. Below is how this looks on each platform.
### Microsoft Teams [#microsoft-teams]
The organizer sees the assistant listed under "Waiting in lobby" in the Participants panel. Click the green checkmark to admit it.
If the assistant never reaches the lobby for certain organizers, check [Troubleshoot Microsoft Teams Join Issues](/docs/integrations-and-workflows/communication/teams-join-troubleshooting) for the admin policy checklist.
Once admitted, the assistant posts a message in the meeting chat announcing that it is transcribing and summarizing the meeting. This serves as a transparency notice for all participants.
### Google Meet [#google-meet]
In Google Meet, the organizer sees the assistant under "Waiting to join" with an **Admit entry** option.
Once admitted, the assistant sends a chat message announcing that it is transcribing and summarizing the meeting.
### Zoom [#zoom]
The behavior on Zoom is identical. The assistant appears in the **Waiting Room** and the host receives a notification to admit it. Once admitted, it announces itself in the meeting chat with the same transparency message. The experience mirrors what you see above for Teams and Google Meet.
## Removing the Assistant (Stopping the Recording) [#removing-the-assistant-stopping-the-recording]
Participants with organizer rights are always in control. As long as the assistant is present in the meeting, it is recording. The moment you remove it, recording stops and Optiverse begins processing the meeting.
To stop recording, simply kick the assistant from the participant list like any other attendee.
### Microsoft Teams [#microsoft-teams-1]
Click the three dots (**...**) next to the assistant's name in the participant list and select **"Remove from meeting"**.
### Google Meet [#google-meet-1]
Click on the assistant in the participant list and select the remove option.
### Zoom [#zoom-1]
Click on the assistant's name in the participant list, then select **Remove**. The same behavior applies: recording stops immediately and processing begins.
Removing the assistant is not an error or a problem. It simply ends the recording at that point. Optiverse will process whatever was recorded up to the moment of removal and deliver a summary as usual.
## Agent Join Settings [#agent-join-settings]
Configure when Optiverse should automatically send the assistant to your meetings. You can manage these from [Meeting Preferences](https://app.optiverse.ai/settings/meeting-prefs).
| Setting | Behavior |
| ------------------------------ | ------------------------------------------------------------------------------ |
| **All meetings** | Joins every calendar event with a meeting link |
| **Only meetings you organize** | Joins only meetings where you are the organizer |
| **Only internal meetings** | Skips meetings that include external participants |
| **On invitation only** | Only joins when you manually toggle it on per meeting or when invited by email |
These settings can be configured per user, or set organization-wide by an admin.
Admins can see and override any user's join setting from the [Team page](https://app.optiverse.ai/settings/people). If someone reports unexpected bot behavior, the admin can immediately check their setting and correct it.
### Inviting the assistant by email [#inviting-the-assistant-by-email]
When using the **"On invitation only"** setting, you can also invite the assistant directly from your calendar by adding **[optiagent@optiverse.ai](mailto:optiagent@optiverse.ai)** as a participant to your meeting event. The assistant will then automatically join that meeting without needing to toggle it on in the Optiverse Calendar page.
This is useful if you want to stay in your normal calendar workflow (Outlook, Google Calendar) without needing to open Optiverse.
### Per-meeting overrides [#per-meeting-overrides]
Regardless of your default setting, you have full control over individual meetings from the [Calendar page](https://app.optiverse.ai/meetings-calendar):
* **Turn off** the assistant for a specific meeting by clicking the toggle on the Calendar page
* **Turn on** the assistant for a meeting that wouldn't normally be covered by your settings
The green indicator next to each meeting confirms whether the assistant will join.
## Sending the Assistant Manually [#sending-the-assistant-manually]
If a meeting isn't in your calendar (e.g., an ad-hoc call, or you're using a personal account without a calendar connection), you can send the assistant on demand using **Join Live Meeting**:
1. Go to the [**Calendar** page](https://app.optiverse.ai/meetings-calendar)
2. Click **Join Live Meeting**
3. Paste the Teams, Zoom, or Google Meet meeting link
4. Click **Send Agent**
5. The assistant will request entry to the meeting within approximately 30 seconds, then appear in the lobby to be admitted
Even when sent manually, the assistant still enters the lobby and needs to be admitted. It will never auto-join without approval.
## What Gets Recorded [#what-gets-recorded]
* **Audio + Video** by default. The assistant captures both audio and the video feed.
* **Audio only** if your admin has set the meeting recording output to Audio from [Organization Profile](https://app.optiverse.ai/settings/org-profile).
When video is disabled, the meeting page in Optiverse shows the audio waveform and transcript without a video player.
## Recording Awareness and Consent [#recording-awareness-and-consent]
The assistant takes transparency seriously:
* It **announces itself in the meeting chat** when it joins, informing participants that the meeting is being recorded
* Participants can see the assistant listed in the attendees panel
### Framing consent with external participants [#framing-consent-with-external-participants]
When meeting with people outside your organization, ask for consent by framing value rather than just requesting permission:
> "Is it okay if I let this AI meeting assistant record and take notes for us so we can fully focus on this conversation? I can share the summary with you afterwards."
This approach offers clear value (shared notes, full focus) rather than just asking for permission, and achieves a near-universal acceptance rate.
Always get verbal consent before the assistant starts recording in external meetings. Even though the assistant announces itself in the meeting chat, a verbal heads-up is professional courtesy and may be legally required depending on your jurisdiction.
## Customizing the Assistant Name [#customizing-the-assistant-name]
To change how the assistant appears in meetings:
1. Go to [**Settings → Meeting Preferences**](https://app.optiverse.ai/settings/meeting-prefs)
2. Edit the **My Agent Name** field
3. Save. The new name applies to all future meetings.
## Email Summary Settings [#email-summary-settings]
Configure who receives the post-meeting email recap:
* **All invitees**, summary sent to everyone in the meeting, including external participants
* **My organization members**, summary sent only to organization members who were in the meeting
* **Only participants with an Optiverse account**, summary sent only to attendees with an Optiverse account
Adjust these settings from [**Settings → Meeting Preferences**](https://app.optiverse.ai/settings/meeting-prefs). Admins can also set and lock this at the organization level. See [Team & Workspace](/docs/team-and-workspace#email-recap-policy) and [Access & Sharing](/docs/how-recording-works/access-and-sharing) for more details.
# How Recording Works (/docs/how-recording-works)
Learn how the Optiverse meeting assistant joins your calls, what gets captured, and how to navigate the recording page.
Understand how the bot joins, when it records, and how to control it.
Explore the video player, transcript, summaries, and action items.
Who sees what, guest links, and auto-sharing rules.
# The Meeting Recording Page (/docs/how-recording-works/meeting-recording-page)
After the assistant finishes recording a meeting, Optiverse processes it and creates a dedicated **recording page**. This is where all the intelligence from your meeting lives: the video or audio, the full transcript, speaker statistics, AI-generated summaries, action items, and your personal OptiAgent assistant.
***
## Video and Audio Playback [#video-and-audio-playback]
The center of the recording page features the meeting playback. What you see here depends on how the meeting was captured:
| Capture method | What you see |
| --------------------------------------------------------- | ------------------------------------------------------ |
| **Note-taker with video enabled** | Full video player with speaker faces and screen shares |
| **Note-taker with video disabled** | Audio waveform player (no visual video) |
| **[Desktop app](/docs/desktop-app) (live transcription)** | Transcript only (no audio or video preserved) |
| **Mobile app recording** | Audio waveform player only |
| **Desktop upload (audio file)** | Audio waveform player only |
| **Desktop upload (video file)** | Full video player |
You can:
* Play, pause, and scrub through the recording
* Click on any sentence in the transcript to **jump to that exact moment** in the video
* Adjust playback speed
* Use the video controls to take screenshots, toggle captions, or enter full screen
***
## Transcript [#transcript]
Below the video, the full conversation transcript appears with each speaker turn timestamped and color-coded. A search bar at the top lets you find specific words or phrases instantly.
### When to edit the transcript [#when-to-edit-the-transcript]
In most cases, **you don't need to edit the transcript at all**. The AI assistants understand context and can answer questions, generate summaries, and extract action items regardless of whether speaker labels are perfectly accurate.
However, editing becomes valuable when you need to generate:
* **Official protocol documentation** with correct assignment of who said what
* **Decision logs** where it matters exactly who committed to a specific action
* **Compliance records** that require precise speaker attribution
* **Custom summaries** using protocols that assign tasks based on speaker identity
In these cases, correctly labeled speakers guarantee that the AI model doesn't misinterpret anything, because it's clearly fed the information of who said what.
### Editing transcript text [#editing-transcript-text]
You can edit the actual transcribed text directly. This is useful when the AI misheard a word, a proper noun, or industry jargon.
**Method 1: Right-click to edit**
Hover over any sentence in the transcript and right-click. A context menu appears with two options:
* **Edit Speaker** (Rename): Change who said this segment
* **Edit Sentence** (Inline): Correct the text itself
**Method 2: Editing mode**
For bulk edits, click the **editing mode icon** in the transcript toolbar. This activates a full editing view where you can click on any sentence to edit it directly, without needing to right-click each time.
A banner at the top confirms you're in editing mode ("Editing mode, click a sentence to edit"). Click **Done** or the edit icon again to exit.
### Labeling speakers [#labeling-speakers]
The AI automatically detects different speakers, but may not always know their names. To rename a speaker, click on their name in the transcript. A **Speaker Label Edition** dialog opens where you can:
* Type the correct name
* Apply the change to **All occurrences** (renames this speaker everywhere in the transcript)
* Apply to **Only this occurrence** (useful if the AI merged two people into one speaker)
* **Revert all speakers edits** if you want to start over
Once speakers are correctly labeled, all downstream features (summaries, action items, OptiAgent answers) will use the correct names.
Add frequently used terms to your organization's [Custom Dictionary](https://app.optiverse.ai/settings/org-profile) to reduce recurring transcription errors across all future meetings. This prevents you from needing to manually fix the same words repeatedly.
***
## Speaker Statistics [#speaker-statistics]
On the left panel, below the meeting description, you'll find **Speaker Statistics** showing:
* A donut chart with speaking time per participant
* Each speaker's name and their corresponding color
This is valuable for coaching, sales call reviews, and understanding meeting dynamics (e.g., was one person dominating the conversation?).
***
## OptiAgent [#optiagent]
Every recording page has an **OptiAgent** chat interface in the left panel. This is your personal AI assistant that lives directly on the meeting page. It can answer questions about the recording, but it's far more powerful than a simple Q\&A bot.
OptiAgent suggests quick actions based on the meeting content (such as "Bullet point summary," "Send demo follow-up email," or "Create next-Tue 10:00 reminder"), and you can also ask anything in natural language using the chat input.
### Fast and Smart modes [#fast-and-smart-modes]
OptiAgent offers two thinking modes, which you can toggle at the bottom of the chat:
| Mode | Best for |
| --------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Fast** | Working with the single meeting in front of you. Quick answers, summaries, email drafts based on this recording's content. |
| **Smart** | Complex tasks involving multiple meetings, attachments, deep research, or combining knowledge across recordings. |
Use Fast mode for everyday questions and single-meeting tasks. Switch to Smart mode when you need cross-meeting analysis, detailed research, or multi-step workflows.
### Agent tools [#agent-tools]
OptiAgent has access to a comprehensive set of tools, organized by category:
**Search tools:**
* **List Meetings**: Browse all your meetings to find specific topics
* **Search Transcripts**: Search across transcripts of other recordings
* **Browse Topics**: Explore topics discussed across your meeting library
**Precise Analysis tools:**
* **Get Current Transcript**: Load the full transcript of the current meeting for detailed analysis
* **Load Meeting**: Load another meeting's data to combine with the current one
* **Meeting Analysis**: Perform deep analysis on meeting content
* **Protocol Summaries**: Generate or reference protocol-based summaries
**Edit tools:**
* **Draft Email**: Generate tailored follow-up emails ready to send directly to Gmail
* **Edit Summary**: Modify the meeting summary on the page directly
* **Generate Diagram**: Create visual diagrams based on meeting content
### What you can do with OptiAgent [#what-you-can-do-with-optiagent]
Because of these tools, OptiAgent goes well beyond answering questions about the current recording:
* **Answer questions**: "What did the client say about the timeline?"
* **Generate follow-up emails**: "Draft a follow-up email summarizing the next steps" (sends directly to Gmail with one button)
* **Search across meetings**: "Find all meetings where we discussed the Q3 budget"
* **Combine knowledge**: Load data from multiple meetings and synthesize it into a single summary or action plan
* **Create visuals**: Generate diagrams to illustrate meeting content or decisions
* **Edit the summary directly**: Ask OptiAgent to rewrite or restructure the meeting summary on the page
* **Deep research**: Ask complex questions that require analyzing multiple recordings together
For a full overview of OptiAgent capabilities, see [What is OptiAgent](/docs/optiagent-and-knowledge-hub/what-is-optiagent).
***
## Topics and Summary [#topics-and-summary]
The right panel of the recording page contains two tabs: **Topics** and **Protocols**.
### Topics [#topics]
Every meeting, regardless of which summary template is selected, is always analyzed in a topic analysis view. This provides:
* **Extracted topics**: The main subjects discussed during the meeting
* **Action points per topic**: Key takeaways derived from each topic
* **Contributing speakers**: Which participants spoke on each topic, shown with their avatar
* **Time spent**: Approximate duration spent on each topic
Everything in the topic analysis is **linked back to the video and transcript**. Click on any topic to jump to the relevant section, making it easy to trace where the data comes from.
Topic analysis is always generated automatically for every meeting. It works independently of your protocol/template selection and gives you a structured overview regardless of your summary format.
### Protocols (Meeting Summary) [#protocols-meeting-summary]
Toggle from Topics to **Protocols** to see the AI-generated meeting summary based on your selected template.
The summary structure depends entirely on which [protocol](/docs/protocols-and-summaries) is applied. In this example, an "Intro Call" protocol produces an **Outcome** section and a **Main Topics Discussed** section. Other protocols will produce completely different structures (e.g., a sales call protocol might extract BANT criteria, while a board meeting protocol might produce formal minutes).
At the top of the summary, you'll find action buttons to **regenerate**, **copy**, or **download** the summary.
#### Switching protocols [#switching-protocols]
Click the protocol name in the top right corner (e.g., "Intro Call") to open the protocol selector. From here you can:
* **Search** across all your available protocols
* **Create New** protocols directly from the recording page
* **Upload PDF template** to generate a protocol from an existing document
#### Uploading a PDF to create a protocol [#uploading-a-pdf-to-create-a-protocol]
If you don't have a protocol template in Optiverse yet, you can upload a PDF directly from the recording page. This can be a template with your desired agenda, a complete example of minutes from a previous meeting, or any reference document. OptiAgent will reproduce the format from the transcript and generate a protocol template based on that document, all at once.
#### Editing the summary [#editing-the-summary]
The summary is a **live text editor**. You can directly modify any part of it on the page: fix wording, add missing details, restructure sections, or remove irrelevant content. Changes are saved automatically.
If you'd rather not edit manually, you can ask **OptiAgent** to modify the summary for you. Because OptiAgent has the "Edit Summary" tool, it can rewrite, expand, or restructure the summary based on your instructions (e.g., "Add the budget numbers to the outcome section" or "Rewrite this in a more formal tone").
For a deep dive into creating and managing protocols, see [Protocols & Summaries](/docs/protocols-and-summaries).
***
## Action Items [#action-items]
Below the summary on the right panel, Optiverse automatically extracts **Action Items** from the conversation. Each action item includes:
* **Task description**: A clear statement of what needs to be done
* **Assigned person**: The responsible party, based on speaker attribution during the meeting
* **Priority level**: Marked as High, Medium, or Low based on the urgency conveyed in the conversation
The status icon on the left of each action item indicates its current state. You can click the dropdown to change the status (e.g., mark an item as completed or in progress).
Action items are fully editable: you can modify the description, reassign the responsible person, change the priority, or remove items entirely. You can also manually add new action items that weren't automatically detected.
Once finalized, action items can be pushed to connected tools like [task boards](/docs/boards-and-task-management), your CRM, or automation workflows.
The quality of action item extraction improves when speakers are correctly labeled. If a participant commits to something during the meeting, the AI will attribute the task to them by name.
***
## Sharing and Export [#sharing-and-export]
From the recording page, you can share the meeting with others and export the content.
### Sharing a recording [#sharing-a-recording]
Click the **Share** button in the top-right corner of the recording page to open the sharing dialog. From here you can:
* **Share with specific people**: Enter email addresses in the input field and click Share. Recipients will receive access to the full recording, transcript, and summary.
* **View current access**: The "Shared With" section shows all users who currently have access, along with their permission level (e.g., Owner).
* **Remove access**: Click the **×** next to any user to revoke their access.
* **Enable public sharing**: Toggle the public link switch to allow anyone with the link to view the meeting. Click **Copy Link** to copy the shareable URL to your clipboard.
When public sharing is enabled, **anyone with the link can see the meeting**. Use this carefully for sensitive or internal meetings. You can disable it at any time by toggling the switch off.
### Export options [#export-options]
You can also:
* **Export** the summary as PDF or Word
* **Push** to connected integrations (CRM, task tools, n8n workflows)
For full details on who can access recordings and how sharing works, see [Access & Sharing](/docs/how-recording-works/access-and-sharing).
***
## Additional Actions [#additional-actions]
| Action | How |
| --------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Rename** the recording | Click the title at the top of the page |
| **Reprocess** with a different protocol | Select a new protocol from the Protocols tab |
| **Delete** the recording | Trash icon on the recording page or three-dots menu in the list. See [Deleting Recordings](/docs/how-recording-works/deleting-recordings) for details on ownership and deletion options. |
| **Push to integration** | Send the summary to a connected tool (see [Integrations](/docs/integrations-and-workflows)) |
| **Download transcript** | Click the download icon in the transcript toolbar |
| **Copy transcript** | Click the copy icon in the transcript toolbar |
# Integrations (/docs/integrations-and-workflows)
Optiverse integrates with 5000+ tools via native connections, Zapier, API/webhooks, and n8n workflows. This section covers every integration path.
HubSpot, Salesforce, Dynamics 365, Pipedrive, Attio. Push meeting data into your pipeline.
Microsoft Teams, Slack, Gmail & Outlook, Aircall.
How the Model Context Protocol powers tool access, and how to connect custom MCP servers.
Zapier and n8n for event-driven custom workflows.
Build custom integrations with the Optiverse API.
Ready-to-use automation templates you can deploy in minutes.
# Microsoft Integration Approval (/docs/integrations-and-workflows/microsoft-admin-consent)
Some companies do not let employees approve external apps. Connecting a Microsoft integration then fails until an admin approves Optiverse once for the whole organization. This page builds the link you send to your admin.
Each Microsoft app is approved separately. The generator below covers both: the **Optiverse platform** app, used for signing in and reading your calendar, and one app per integration. For the full sign-up walkthrough your admin can follow, see [Admin Approval & Sign-Up Troubleshooting](/docs/getting-started/admin-approval).
## When You Need This [#when-you-need-this]
While signing in to Optiverse, or while connecting Dynamics 365, Microsoft Teams, or Microsoft Planner:
* Microsoft shows **Need admin approval**
* An error mentions `AADSTS65001` or "has not consented"
* You sign in with Microsoft and land back on Optiverse still disconnected
The approval is granted once per organization, not once per person.
## Get Your Approval Link [#get-your-approval-link]
Enter the domain from your work email address. If your email is `you@yourcompany.com`, the domain is `yourcompany.com`.
The first link is the Optiverse platform app itself. It asks only for calendar read access and basic profile information, and it is what unblocks signing in. The other links each cover a single integration.
The links hold no private data, only your domain and the public ID of the Optiverse app, so they are safe to send by email or chat.
## What Your Admin Does [#what-your-admin-does]
Your admin opens the link, signs in, and accepts the permissions. Only a Global Administrator, Privileged Role Administrator, or Cloud Application Administrator can do this — anyone else is told they do not have permission.
After accepting, your admin lands back on Optiverse. If that page shows an error, the approval still went through. Confirm it in **Microsoft Entra ID > Enterprise applications**, where Optiverse now appears with its permissions granted.
## After The Approval [#after-the-approval]
1. Go to [**Settings > Integrations**](https://app.optiverse.ai/settings/integrations)
2. Click **Connect**, or **Reconnect** if it was connected before
3. Pick your Microsoft account
Reconnect even if the integration already looks connected. An older connection keeps the permissions it was granted before the approval, so only a fresh connect picks up the new ones.
For the platform approval there is nothing to reconnect. Sign in to [app.optiverse.ai](https://app.optiverse.ai) again and the block is gone.
## If It Still Fails [#if-it-still-fails]
| What you see | What it usually means |
| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| Still **Need admin approval** | The approval was granted in a different Microsoft organization. Check that the domain matches the account you sign in with. |
| Approval granted, connect still fails | You signed in with a personal Microsoft account instead of your work account. |
| Connected, but lists come back empty | The approval worked. This is a permissions issue inside the tool itself, for example a missing Dynamics security role. |
| Admin sees "you do not have permission" | Whoever opened the link cannot grant consent for the organization. |
A Conditional Access policy can also block Optiverse after the approval, for example a rule that only allows managed devices. Your admin can confirm this in the Entra sign-in logs.
Still stuck? Email [support@optiverse.ai](mailto:support@optiverse.ai) or [book a call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta).
## Related Pages [#related-pages]
* [Dynamics 365 Integration](/docs/integrations-and-workflows/crm/dynamics-365)
* [Microsoft Teams Integration](/docs/integrations-and-workflows/communication/microsoft-teams)
# Mobile App (/docs/mobile-app)
The Optiverse mobile app brings all the power of Optiverse's transcription and summarization capabilities to your pocket. Capture in-person meetings, record voice memos, and upload existing audio files, all processed with the same AI as your online meetings.
## Installation [#installation]
### Download the app [#download-the-app]
* **iOS**: Download from the [App Store](https://apps.apple.com/ch/app/optiverse/id6743003995)
* **Android**: Download from [Google Play](https://play.google.com/store/apps/details?id=com.optiverse.OptiApp\&hl=en)
Or scan the QR codes below:
### Log in [#log-in]
Sign in with the **same email** you use on the Optiverse website (Google or Microsoft). Your recordings will sync to your Optiverse workspace.
The mobile app is available only to users who are already registered on the Optiverse platform. If you haven't signed up yet, create your account at [app.optiverse.ai](https://app.optiverse.ai) first.
***
## Recording In-Person Meetings [#recording-in-person-meetings]
### Start a recording [#start-a-recording]
Tap the **Record** button, place your phone nearby, and let Optiverse do the heavy lifting. The app captures the conversation clearly, even while running in the background, so you can stay focused on the discussion.
### Link to a calendar event (optional) [#link-to-a-calendar-event-optional]
Before recording, you can **select an existing calendar event** from the list. This attaches metadata like the meeting title and participant list to your recording.
You can also skip this and just start recording without selecting an event.
### Pause and resume [#pause-and-resume]
Unlike the Optiverse meeting assistant that joins virtual calls, the mobile app lets you **pause** and **resume** recordings anytime. This gives you more control and flexibility during live interactions.
If you receive a phone call during recording, the app **automatically pauses** and resumes after the call ends.
### End and upload [#end-and-upload]
When the meeting is done:
1. Tap the **checkmark** to stop recording
2. A confirmation dialog asks "Do you want to send this recording to Optiverse?" — tap **Yes, Send**
3. The file uploads and you'll see a green success confirmation
Within minutes, you'll receive a detailed **email summary** along with a link to the processed audio and meeting notes, just like you do for your virtual meetings.
Processing takes approximately 10 to 15 minutes after upload, just like online meetings. You'll receive a notification when your summary is ready.
***
## Use Cases [#use-cases]
The mobile app expands what Optiverse can do beyond virtual meetings:
* **Voice dictation after meetings**: Just had an important on-site visit or client meeting? Pull out the app on your drive back and dictate the most important points while they're still fresh. This is far better than trying to recall details hours later.
* **In-person interviews**: Capture for later analysis and action item generation
* **Spontaneous discussions**: Document conversations that happen outside scheduled calls
* **Team syncs and huddles**: Record quick standups without needing a laptop
* **Field conversations**: Capture customer visits, on-site meetings, or partner discussions
* **Brainstorming sessions**: Record informal ideation in any setting
Studies show that **80% of information** from an in-person discussion or meeting is lost within 24 hours. Right after a conversation, the details are still fresh. Even if you couldn't record the entire meeting, a quick voice dictation of the key points gives Optiverse enough to generate a structured summary with action items.
***
## Offline Recording [#offline-recording]
The app works **offline for recording**. Files are stored locally within the app (not in your phone's general file system).
* If you have no internet when finishing a recording, the file is saved locally
* You can upload it later when you're back online
* Previously saved recordings can be re-uploaded from the app at any time
### Local Recordings [#local-recordings]
All recordings are stored in the **Recordings** tab. You can see a list of all locally stored recordings with their dates.
* If you have no internet when finishing a recording, the file is saved locally
* You can upload it later when you're back online
* Previously saved recordings can be re-uploaded from the app at any time
### Resending a recording [#resending-a-recording]
To resend a recording to Optiverse (for example, if the initial upload failed or you want to reprocess it), tap on any recording and select **"Resend to Optiverse"**.
This is useful when:
* The initial upload failed due to connectivity
* You want to reprocess a recording with updated settings
* You need to share the recording to a different workspace
***
## Uploading Existing Audio Files [#uploading-existing-audio-files]
You can upload audio or video files already on your phone:
1. Open the app
2. Select the **upload** option
3. Choose an MP3, video, or other audio file from your phone's library
4. The file is sent to Optiverse for processing
***
## Speaker Identification [#speaker-identification]
Recordings from the mobile app won't have speaker names automatically assigned. You'll need to **label speakers** in the web interface before generating summaries for accurate attribution.
Go to the recording in the web app, open the transcript, and assign names to each detected speaker voice.
***
## Tips for Better Audio Quality [#tips-for-better-audio-quality]
* **Small groups (2 to 5 people)**: Place your phone on the table near the center
* **Larger groups (10+ people)**: Elevate the phone slightly, place it on top of a cup, book, or similar object for better pickup
* **Minimize background noise**: Close windows and doors when possible
* **Keep the phone stationary**: Avoid moving it during the recording
# Multi-Meeting Search (/docs/optiagent-and-knowledge-hub/cross-meeting-search)
Multi-Meeting Search lives on the Optiverse homepage. It's the same deep thinking AI that powers OptiAgent on recording pages, but with access to a broader set of tools, including your full meeting history, CRM data, internet research, document generation, and MCP integrations.
Ask any question, and it will search across all your meetings to surface insights, draft content, and help you take action.
***
## How It Works [#how-it-works]
When you ask a question on the homepage, the AI:
1. Searches across all relevant meetings (even thousands)
2. Identifies the most relevant passages and conversations
3. Synthesizes information into a clear answer with source references
4. Optionally pulls in data from connected integrations (CRM, email, project tools)
You can also manually select specific meetings to add as context, or let the agent search automatically.
***
## What You Can Do [#what-you-can-do]
### Ask About Optiverse Itself [#ask-about-optiverse-itself]
Multi-Meeting Search is not limited to your meeting data. It also understands Optiverse as a product. You can ask it questions about how features work, where to find specific settings, or how to accomplish something on the platform. The assistant will guide you directly to the right page or explain the steps in natural language.
Examples:
* "How do I change my default protocol?"
* "Where can I manage my team members?"
* "How do I connect my CRM?"
* "What's the difference between Fast and Smart mode?"
This makes the assistant a live help system. Instead of searching documentation or navigating menus, just ask.
***
### Prepare for Any Meeting [#prepare-for-any-meeting]
Drag and drop an upcoming meeting into the search, and Optiverse will automatically fetch all previous context with that person or team. You get a full briefing with open action items, past decisions, and talking points, so you walk in fully prepared.
Drag an upcoming calendar event into the search to get an instant preparation briefing: previous interactions, CRM status, open items, and suggested talking points.
### Run Reports and Analysis [#run-reports-and-analysis]
Need a summary of everything discussed with a client over the past quarter? Want to know which topics keep coming up? Multi-Meeting Search turns your conversations into structured reports and actionable insights.
### Generate Documents Instantly [#generate-documents-instantly]
From meeting summaries to project briefs, Optiverse generates polished documents grounded in what was actually said. Outputs include PDF reports, Word documents, and structured overviews with timelines.
### Draft Emails in Seconds [#draft-emails-in-seconds]
Ask Optiverse to write follow-up emails based on what was discussed. It pulls the right context from your meetings, so every email is accurate, professional, and ready to send.
***
## Example Queries [#example-queries]
| Category | Examples |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **Meeting Prep** | "I have a meeting with \[person] in 5 minutes, give me everything I need" / "What's open with \[company] since our last call?" |
| **Reports** | "Make a progress report on Project X" / "Summarize all client meetings this month" |
| **Client Intelligence** | "What did we discuss with \[company] over the last 6 months?" / "List all objections raised about \[product] and how they were handled" |
| **Sales & CRM** | "Which deals discussed this quarter haven't been updated in the CRM?" / "Summarize all discovery calls from last month" |
| **Follow-ups** | "Draft a follow-up to today's call" / "Write an email to \[person] confirming next steps" |
| **Patterns** | "Track how our pricing discussion evolved over the last 3 months" / "What decisions have we made about \[topic] across all team meetings?" |
| **Platform Help** | "How do I connect my CRM?" / "Where can I change my default protocol?" / "How do I invite team members?" |
***
## Tools Available on the Homepage [#tools-available-on-the-homepage]
Multi-Meeting Search has access to a broader tool set than the recording page agent:
| Tool | What it does |
| ----------------------- | ------------------------------------------------------------------------------------ |
| **Search All Meetings** | Full-text and semantic search across your entire meeting library |
| **CRM Lookup** | Query Salesforce or HubSpot for deal stages, contacts, and pipeline data |
| **Deep Research** | Search the public internet for company info, contact backgrounds, and market context |
| **Document Generation** | Compile findings into downloadable PDF/Word reports |
| **Visual Analysis** | Create timelines, charts, and structured graphics |
| **Draft Email** | Generate follow-up emails grounded in multi-meeting context |
| **MCP Integrations** | Pull data from Slack, Notion, Jira, Linear, and other connected tools |
***
## Connected Integrations (MCP) [#connected-integrations-mcp]
When connected to external tools via MCP, Multi-Meeting Search doesn't just fetch data from those tools in isolation. It combines everything into a single, unified response. When you ask a question, the AI pulls from your meeting transcripts, your CRM records, your project boards, your Slack messages, and your documentation simultaneously. The result is one coherent answer that weaves together information from all sources.
For example, if you ask "What's the status of the Acme deal?", the AI might combine:
* What was discussed in your last three meetings with Acme
* The current deal stage and pipeline value from HubSpot or Salesforce
* Recent Slack messages mentioning the deal
* Open tickets in Jira or Linear related to their requests
All of this appears in a single response, with sources clearly attributed so you know where each piece of information came from.
Supported integrations include:
* **CRM**: Salesforce, HubSpot. Deal stages, contact info, pipeline data.
* **Communication**: Slack, Microsoft Teams. Channel messages, threads.
* **Documentation**: Notion. Pages, databases, wikis.
* **Project Management**: Jira, Linear. Tickets, sprints, roadmaps.
* **Automation**: n8n. Custom workflow triggers.
See [MCP Connections](/docs/integrations-and-workflows/mcp-connections) for setup instructions.
***
## Performance [#performance]
| Query Type | Expected Time |
| -------------------------------------------- | ----------------------- |
| Simple factual question | A few seconds |
| Multi-meeting search | 30 seconds to 2 minutes |
| Deep analysis (many meetings + integrations) | 2 to 5 minutes |
For complex, multi-meeting analysis tasks, let the AI run to completion. These queries may take several minutes. The result will be comprehensive.
***
## Chat History [#chat-history]
All conversations are **saved and searchable**. You can return to previous research sessions, search past chats by topic, and continue where you left off.
# OptiAgent & Meeting Search (/docs/optiagent-and-knowledge-hub)
Optiverse is powered by a single deep thinking AI model that understands every word of every meeting. This AI appears in two places, each optimized for a different workflow:
| | Multi-Meeting Search | OptiAgent (Recording Page) |
| ------------ | --------------------------------------------------------- | ----------------------------------------------------------------- |
| **Where** | Optiverse homepage | Left panel on any recording page |
| **Focus** | All your meetings at once | The meeting in front of you |
| **Strength** | Research, reports, preparation, cross-meeting analysis | Quick answers, editing, follow-ups on a specific recording |
| **Tools** | Full tool set: CRM, internet, documents, MCP integrations | Focused tool set: transcript, edit summary, draft email, diagrams |
Both surfaces share the same underlying intelligence, the same understanding of your transcripts, and the same ability to reason across multiple meetings. The difference is scope and context: Multi-Meeting Search starts broad and pulls from everything; OptiAgent on the recording page starts with the meeting you're looking at and reaches out when needed.
The full-power homepage agent. Search, analyze, and act across your entire meeting history.
Your contextual assistant for a specific meeting. Questions, edits, emails, and diagrams.
Get better results from both surfaces with clear prompting and smart mode choices.
# Tips & Best Practices (/docs/optiagent-and-knowledge-hub/prompting-optiagent)
These tips apply to both [Multi-Meeting Search](/docs/optiagent-and-knowledge-hub/cross-meeting-search) (homepage) and [OptiAgent](/docs/optiagent-and-knowledge-hub/what-is-optiagent) (recording page). The underlying AI is the same. Better prompts get better results everywhere.
***
## Be Specific [#be-specific]
The more specific your question, the better the answer.
| Instead of... | Try... |
| --------------------------- | --------------------------------------------------------------- |
| "What happened?" | "What did we agree on regarding the deadline for the proposal?" |
| "Tell me about the meeting" | "What were the three main action items?" |
| "What did they say?" | "What feedback did Sarah give about the pricing model?" |
***
## Name People Explicitly [#name-people-explicitly]
The AI identifies speakers in the transcript. Use names or email addresses for precise results:
* "What did Thomas say about the timeline?"
* "Summarize Maria's concerns from the last two meetings"
* "What has [john@company.com](mailto:john@company.com) committed to delivering?"
If there's ambiguity (e.g., multiple people named "Albert" in your meetings), the AI will ask you to clarify.
***
## Specify Time Ranges [#specify-time-ranges]
Help narrow results by adding time context:
* "In the last month"
* "Since January"
* "From Q1 this year"
* "In the last 3 meetings with \[company]"
***
## Tell It What to Do [#tell-it-what-to-do]
For faster, more targeted results, specify the action or tool you want:
* "**Search the internet** for recent news about \[company]"
* "**Check our CRM** for the current deal stage with \[company]"
* "**Look at the last 5 meetings** with this client"
* "**Draft an email** to \[person] confirming next steps"
* "**Generate a report** on all client interactions this quarter"
***
## Choose the Right Mode [#choose-the-right-mode]
| Mode | Use when... |
| --------- | ------------------------------------------------------------------------------------------ |
| **Fast** | Quick factual lookups, simple questions, single-meeting tasks |
| **Smart** | Complex analysis, multi-step tasks, cross-meeting research, structured data (CSVs, tables) |
When working with structured data (CSVs, tables, spreadsheets), always use Smart mode. Fast mode is not designed for complex data processing.
***
## Chain Multiple Actions [#chain-multiple-actions]
You can ask for multiple things in a single prompt:
```
Search all meetings with [company] from this quarter, summarize
the key decisions, and draft an email to their team proposing
a quarterly review meeting.
```
The AI will execute each step in sequence.
***
## Let It Finish [#let-it-finish]
Deep analysis across many meetings may take 2 to 5 minutes. Don't interrupt long-running queries. The AI will deliver a complete answer. This is especially relevant for Multi-Meeting Search queries that span dozens of meetings or pull from multiple integrations.
***
## Limitations to Keep in Mind [#limitations-to-keep-in-mind]
* **Transcript-based**: The AI processes spoken content, not chat messages or emoji reactions
* **Shared screen content**: Lower weight than spoken words. If something was only shown on screen (not spoken aloud), results may be less reliable
* **PDF/image attachments**: Processed via image models. OCR inaccuracies are possible for handwritten or low-quality documents
# Use Cases by Role (/docs/optiagent-and-knowledge-hub/use-cases-by-role)
Every role uses meetings differently. These guides show how each team gets value from the Optiverse assistant with specific workflows and ready-to-use prompts.
Automate meeting prep, send follow-ups instantly, and keep your CRM accurate.
Monitor client health and prepare for renewals with full conversation history.
Aggregate feature requests and track how decisions evolved across meetings.
Get instant briefings and cross-team visibility without attending every call.
Extract action items automatically and generate progress reports.
Aggregate interview feedback, track 1:1 themes, and prepare for reviews.
Switch between clients instantly and generate proposals from discovery calls.
Mine customer language and gather competitive intelligence from sales calls.
# OptiAgent on the Recording Page (/docs/optiagent-and-knowledge-hub/what-is-optiagent)
OptiAgent is the chat panel on every [recording page](/docs/how-recording-works/meeting-recording-page). It's the same deep thinking AI as [Multi-Meeting Search](/docs/optiagent-and-knowledge-hub/cross-meeting-search), but scoped to the meeting you're looking at. It prioritizes the current transcript while still being able to reach into other meetings, compare content, and pull context from your meeting library.
Think of it as a shortcut: Multi-Meeting Search starts broad; OptiAgent starts with the recording in front of you.
***
## Fast and Smart Modes [#fast-and-smart-modes]
OptiAgent offers two thinking modes, toggled at the bottom of the chat input:
| Mode | Best for |
| --------- | ----------------------------------------------------------------------- |
| **Fast** | Quick factual answers, simple lookups, single-meeting tasks |
| **Smart** | Complex analysis, cross-meeting research, multi-step tasks, attachments |
Use Fast mode for everyday questions. Switch to Smart mode when your request involves multiple meetings, requires deeper reasoning, or includes structured data (CSVs, tables).
***
## Tools [#tools]
OptiAgent has a focused tool set designed for working with a specific recording:
### Search [#search]
| Tool | What it does |
| ---------------------- | ------------------------------------------------------------------- |
| **List Meetings** | Browse all your meetings to find specific topics or conversations |
| **Search Transcripts** | Search across transcripts of other recordings by keyword or concept |
| **Browse Topics** | Explore topics discussed across your entire meeting library |
### Precise Analysis [#precise-analysis]
| Tool | What it does |
| -------------------------- | ------------------------------------------------------------------- |
| **Get Current Transcript** | Load the full transcript for detailed, line-by-line analysis |
| **Load Meeting** | Load another meeting's data to compare or combine |
| **Meeting Analysis** | Deep analysis on meeting content (sentiment, dynamics, key moments) |
| **Protocol Summaries** | Generate or reference protocol-based summaries |
### Edit [#edit]
| Tool | What it does |
| -------------------- | ------------------------------------------------------------ |
| **Draft Email** | Generate follow-up emails that can be sent directly to Gmail |
| **Edit Summary** | Modify the meeting summary on the recording page directly |
| **Generate Diagram** | Create visual diagrams based on meeting content |
You can enable or disable individual tools from the tools panel. All tools are enabled by default.
***
## What You Can Do [#what-you-can-do]
### Ask questions about the meeting [#ask-questions-about-the-meeting]
Every answer includes a **clickable source reference** that jumps to the exact timestamp in the transcript or recording.
* "What did we agree on regarding pricing?"
* "What was the deadline mentioned for the proposal?"
* "Summarize the first 10 minutes"
* "What objections did the client raise?"
### Draft follow-up emails [#draft-follow-up-emails]
The generated email can be **sent directly to Gmail** with one button. Recipient, subject line, and body are pre-filled.
* "Draft a follow-up email to Sarah confirming next steps"
* "Write an email to the client summarizing what we agreed on"
* "Send a recap email to the team with action items"
### Edit the summary [#edit-the-summary]
OptiAgent can modify the meeting summary live on the page. This is powerful with [custom protocols](/docs/protocols-and-summaries). You can restructure a summary to match a specific template.
* "Update the action items to include the deadline we discussed"
* "Add the budget figure to the key decisions section"
* "Rewrite the summary to focus on technical decisions"
### Create tasks and reminders [#create-tasks-and-reminders]
* "Create a reminder for next Tuesday at 10:00"
* "Extract all action items with owners and deadlines"
* "Generate a task list from the decisions made"
### Generate visuals [#generate-visuals]
* Decision trees discussed in the meeting
* Process flows that were described
* Timeline visualizations
### Reach into other meetings [#reach-into-other-meetings]
OptiAgent can use its search tools to pull context from your full meeting library without leaving the recording page:
* "What did we discuss with this client last time?"
* "Compare what they said today with their position last month"
* "Combine the action items from the last three project meetings"
When working cross-meeting, use **Smart mode** for best results.
***
## Suggested Actions [#suggested-actions]
OptiAgent proactively suggests actions based on the meeting content. You'll see quick-action buttons like "Bullet point summary," "Send demo follow-up email," or "Create next-Tue 10:00 reminder" that you can trigger with a single click.
***
## Architecture: Tools, Not Prompts [#architecture-tools-not-prompts]
OptiAgent is built on a tools-based architecture. Rather than predicting text from a prompt, it actively decides which tools to invoke based on your request. This means it can:
* Retrieve specific data from meetings (rather than guessing)
* Perform calculations and analysis on real numbers
* Take actions (send emails, edit summaries) with your confirmation
* Chain multiple tools together for complex workflows
# Changelog (/docs/product-updates/changelog)
## Latest Updates [#latest-updates]
The changelog will be populated as new features are released. Check back soon.
# Product Updates (/docs/product-updates)
Stay up to date with the latest Optiverse features, improvements, and fixes.
See what's new in the latest releases.
# Creating Custom Protocols (/docs/protocols-and-summaries/creating-custom-protocols)
Optiverse provides multiple ways to create protocol templates, from fully AI assisted generation to complete manual control. Choose the method that matches your comfort level and how well defined your requirements are.
## Getting Started [#getting-started]
1. Go to the [**Protocols** page](https://app.optiverse.ai/protocols) in Optiverse
2. Click **Create New Protocol**
3. Choose your creation method
***
## Method 1: AI Powered Generation [#method-1-ai-powered-generation]
Describe in natural language what type of meeting the protocol is for and what output you need. The AI assistant generates a complete template structure with sections, instructions, and appropriate output data types.
**Example prompt:**
> I need a protocol for client onboarding calls. I want to capture the client's main goals, the agreed timeline, a table of deliverables with owners and deadlines, and any open questions that need follow up.
### Attaching Reference Documents [#attaching-reference-documents]
You can attach **PDFs** to provide additional context to the AI. This is particularly useful when:
* You have an existing meeting template or form you want to replicate in Optiverse
* You have a CRM structure or documentation standard the output needs to match
* You want to provide examples of what good output looks like
The AI reads the attachment and uses it to understand your structure, terminology, and requirements, then builds the protocol accordingly.
The AI assistant may ask clarifying questions before generating the template. Answering them produces a more accurate result on the first try.
### After Generation [#after-generation]
The AI generated protocol is a starting point. You can (and should) review each section and refine the instructions, adjust output types, add or remove sections, and tweak the global description. Most protocols reach their ideal state after 2–3 rounds of testing and refinement.
You can also continue modifying the protocol template inside the editor using natural language with the AI assistant on the right side of the screen. Simply describe what you'd like to change and the assistant will update the template accordingly.
***
## Method 2: Manual Build [#method-2-manual-build]
Build your protocol section by section with full control over every aspect. Add sections one by one, defining the title, AI instructions, and output data type for each.
This method is ideal when you know exactly what structure you want and prefer to control every detail from the start.
### Section Structure [#section-structure]
Each section has three components:
| Component | What It Does |
| ------------------- | --------------------------------------------------------------------- |
| **Title** | The heading that appears in the generated output |
| **AI Instructions** | The prompt telling the AI what to extract or analyze |
| **Output Format** | The data type for this section's output (text, list, number, options) |
### Output Data Types [#output-data-types]
For each section, you choose an output format. This controls both what the user sees on the recording page and what data structure is sent to integrations.
**Text.** Free form text response. The AI writes a paragraph or short text answering your prompt. Best for meeting summaries, context descriptions, and decisions explained in prose.
**Number.** A single numeric value extracted from the meeting. Best for budget amounts, headcount figures, scores, or ratings. When you push protocol output to a CRM or external system, a numeric field requires a numeric value, not a sentence containing a number. The Number type ensures the data matches the expected input format.
**Bullet Point (List).** A structured list where each item is a discrete data point extracted from the meeting. Best for action items, key takeaways, discussion topics, and decisions. Each item includes an embedded link to its source in the transcript and video, so you can click any item to jump to the exact moment it was discussed.
**List of Options (Predefined).** A value selected from a list of options you define in advance, similar to a dropdown. Best for deal stage classifications, meeting sentiment, follow up priority, or any Yes/No/Maybe type output. If your CRM or task management tool has a dropdown field with specific allowed values, this type ensures the protocol output matches exactly, with no free text variations that would fail to map.
### Global Description [#global-description]
The **Description** field at the top of the protocol applies instructions across ALL sections. Use it for rules that should be consistent throughout the entire summary.
**Examples of global instructions:**
* *"Always normalize company names to their official spelling."*
* *"Use formal tone throughout. Output in English regardless of meeting language."*
* *"When referencing people, use their full name on first mention and last name only thereafter."*
Instructions in the **global description** apply to every section. Instructions within a **section** apply only to that section. Use both levels strategically for maximum precision.
***
## Method 3: Template Library [#method-3-template-library]
Browse ready made protocol templates in the **Protocol Gallery** and add them to your workspace with one click. Each template is designed for a specific meeting type or use case.
After adding a template from the library, you can customize it to match your exact needs. Adjust sections, rewrite instructions, change output types, or add new sections.
This is the fastest path to a working protocol when a template exists for your use case.
[Browse the Protocol Gallery →](/docs/protocols-and-summaries/protocol-gallery)
***
## Choosing Simple vs. Deep Analysis [#choosing-simple-vs-deep-analysis]
When creating a protocol, you choose between two processing modes:
| | Simple (Normal) | Deep Analysis |
| --------------------- | -------------------------------------- | ------------------------------------------ |
| **Processing time** | Seconds | 1–2 minutes |
| **Best for** | Quick overviews, high level extraction | Detailed analysis, complex data extraction |
| **Output formats** | Text, lists, numbers, options | All of the above + tables, formatted text |
| **Instruction depth** | Concise prompts | Extensive, detailed prompts |
| **Recommended for** | All users | Experienced prompt engineers |
Start with a **Simple protocol** while iterating on your structure. Once you're satisfied with the sections and instructions, switch to Deep Analysis if you need richer output. This saves processing time during the refinement phase.
***
## Configuring Your Protocol [#configuring-your-protocol]
### Output Language [#output-language]
* **Meeting language** (default). The summary matches whatever language was spoken.
* **Fixed language.** Force output in a specific language regardless of meeting language.
### Duplicating Protocols [#duplicating-protocols]
Use the **Duplicate** button to create variants. For example, duplicate a protocol and change only the output language to create a French version of your English template.
### Testing Your Protocol [#testing-your-protocol]
1. Go to any existing recording
2. Select your new protocol from the dropdown
3. Click **Generate** to test it
If the output isn't what you expected, go back to the editor, adjust instructions, and regenerate. Iteration is normal, and most protocols reach their final form after 2–3 rounds.
***
## Tips for Better Protocols [#tips-for-better-protocols]
* **Be specific in your instructions.** Instead of "summarize the meeting," write "extract the top 3 decisions made, including who made them and the reasoning discussed."
* **Match output types to your integration needs.** If a CRM field expects a dropdown value, use the predefined options type. If it expects a number, use the number type.
* **Test on diverse meetings.** A protocol that works for one meeting may need adjustment when applied to meetings with different participants, topics, or lengths.
* **Use global instructions for consistency.** Tone, language, naming conventions, and formatting rules belong in the global description.
***
## Protocol Examples [#protocol-examples]
### Quick Standup Protocol (Simple) [#quick-standup-protocol-simple]
| Section | Output Type | Instruction |
| ---------- | ------------ | ------------------------------------------------------------------------------ |
| Updates | Bullet Point | Extract what each person shared as their update or progress since last meeting |
| Blockers | Bullet Point | List any blockers or issues raised by team members |
| Next Steps | Bullet Point | Capture action items with the person responsible |
### Sales Call Summary (Simple) [#sales-call-summary-simple]
| Section | Output Type | Instruction |
| ----------------- | --------------- | ------------------------------------------------------------------ |
| Prospect Need | Text | Summarize the main need or pain point expressed by the prospect |
| Deal Stage | List of Options | Classify the deal stage: Discovery / Demo / Proposal / Negotiation |
| Budget Mentioned | Number | Extract the budget figure if one was mentioned, otherwise output 0 |
| Next Steps | Bullet Point | List agreed next steps with owners |
| Overall Sentiment | List of Options | Classify the overall tone: Positive / Neutral / Negative |
### Client Meeting (Deep Analysis) [#client-meeting-deep-analysis]
| Section | Output Type | Instruction |
| ------------------- | --------------- | ----------------------------------------------------------------------- |
| Executive Summary | Text | Comprehensive overview of the meeting with context, outcomes, and tone |
| Topics & Decisions | Table | Columns: Topic, Discussion Summary, Decision Made, Owner, Deadline |
| Risk Factors | Bullet Point | Identify risks, concerns, or red flags raised, explicitly or implicitly |
| Relationship Health | List of Options | Classify: Strong / Stable / At Risk / Critical |
| Detailed Next Steps | Table | Columns: Action, Responsible Party, Deadline, Priority, Dependencies |
# Deep Analysis Protocols (/docs/protocols-and-summaries/deep-analysis-protocols)
Deep Analysis protocols use a multi agent approach under the hood to produce detailed, structured summaries that go far beyond surface level extraction. They take longer to process (typically 1–2 minutes) but deliver significantly richer output.
To enable Deep Analysis on any protocol, toggle the **Deep Protocol** switch in the Protocol Template Editor.
## When to Use Deep Analysis [#when-to-use-deep-analysis]
Deep Analysis protocols are designed for situations where:
* You need **tables** as part of the output (e.g., topics with owners, deadlines, and status columns)
* The analysis requires **multiple reasoning passes** over the data
* You want **extensive, multi paragraph text** with detailed findings per section
* Your instructions per section are **complex and nuanced**, requiring the AI to follow intricate logic
* You need **formatted output** that goes beyond simple text and lists
### Ideal Meeting Types [#ideal-meeting-types]
* Complex client meetings with many topics, stakeholders, and follow ups
* Strategy sessions requiring analysis of discussed options with pros and cons
* Detailed interview scorecards with multiple evaluation criteria
* Management reviews with department level breakdowns
* Project retrospectives with categorized findings
* Any meeting where depth and structure matter more than speed
***
## How Deep Analysis Works [#how-deep-analysis-works]
Unlike Simple protocols that use a single model pass, Deep Analysis protocols use a **multi agent architecture**. Multiple AI models work together:
1. One agent analyzes the transcript structure and context
2. Another agent processes each section with deeper reasoning
3. The results are synthesized into a coherent, formatted output
This multi step approach allows for more nuanced extraction, cross referencing between different parts of the conversation, and richer formatting in the output.
***
## Additional Output Capabilities [#additional-output-capabilities]
Deep Analysis protocols support everything Simple protocols offer (text, lists, numbers, predefined options) plus:
### Tables [#tables]
Structured tabular output with multiple columns. Define the columns you want and the AI populates rows based on the meeting content.
**Use cases:**
* Topics discussed with owner, status, and deadline per row
* Evaluation criteria with scores and justifications
* Comparison of options discussed with pros and cons
* Participant contributions with topic and action item columns
### Formatted Extended Text [#formatted-extended-text]
Longer, more detailed text output with internal structure (headers, emphasis, structured reasoning). Unlike Simple protocol text which tends to be concise paragraphs, Deep Analysis text can include layered analysis.
**Use cases:**
* Detailed executive summaries with multiple sub topics
* Analysis sections that weigh different viewpoints discussed
* Comprehensive meeting narratives with context
### Built in Text Editor [#built-in-text-editor]
Deep Analysis protocols come with a full text editor directly on the recording page. Once the protocol finishes processing, you can edit the output, adjust formatting, correct any details, or restructure content before exporting. This gives you full control over the final document that gets shared or downloaded.
***
## Writing Instructions for Deep Analysis [#writing-instructions-for-deep-analysis]
Because Deep Analysis can handle more complex reasoning, your per section instructions can be significantly more detailed than in Simple protocols.
### Simple Protocol Instruction (concise): [#simple-protocol-instruction-concise]
> List the action items discussed in the meeting with owners.
### Deep Analysis Instruction (extensive): [#deep-analysis-instruction-extensive]
> Analyze the full conversation and extract every commitment, task, or follow up action mentioned, whether explicitly stated as an action item or implied through agreement. For each item, determine: (1) the specific task, (2) who is responsible based on context, (3) any deadline mentioned or implied, (4) the priority level based on how much discussion time it received and the tone of urgency. If responsibility is ambiguous, note it as "TBD" and include the context that makes it unclear. Exclude items that were discussed but explicitly rejected or deferred indefinitely.
Deep Analysis can follow this level of nuance because its multi agent architecture allows for more reasoning depth per section.
***
## Who Should Use Deep Analysis [#who-should-use-deep-analysis]
**Deep Analysis is recommended for experienced prompt engineers.** People who are comfortable writing detailed, specific instructions and iterating on prompt quality. The richer the instructions, the better the output.
### For Beginners [#for-beginners]
If you're new to prompt engineering or protocol creation, we recommend:
1. **Start with the AI assistant.** Describe what you need and let it generate the protocol structure.
2. **Use Simple protocols first.** Get familiar with how sections, instructions, and output types work.
3. **Graduate to Deep Analysis** once you're comfortable refining prompts and understand what level of detail produces the best results.
4. **Upload a Document Template.** If you already have a meeting template, minutes format, or any reference document, you can upload it and the Optiverse team will help you build your protocol inside the software.
5. **Contact our team at [support@optiverse.ai](mailto:support@optiverse.ai).** We can help you build optimized Deep Analysis templates for your specific use case.
### For Experienced Users [#for-experienced-users]
If you're comfortable with prompt engineering:
* Write detailed, multi sentence instructions per section
* Specify edge cases and how to handle ambiguity
* Define the reasoning logic you want the AI to follow
* Use the global description to set overarching analytical standards
* Iterate by testing on diverse meetings and refining based on results
***
## Processing Time and Credits [#processing-time-and-credits]
| Aspect | Simple Protocol | Deep Analysis |
| --------------- | -------------------------- | ---------------------------------- |
| Processing time | Seconds | 1–2 minutes |
| AI credit usage | Standard | Higher (multi agent processing) |
| Iteration speed | Fast, regenerate instantly | Slower, wait 1–2 min per iteration |
**Iteration tip:** Build and refine your protocol structure using Simple mode first. Once you're satisfied with the sections and their basic output, switch to Deep Analysis for the final version. This avoids burning time and credits during the experimentation phase.
***
## Deep Analysis + Integrations [#deep-analysis--integrations]
Deep Analysis protocols work with integrations just like Simple protocols. The structured output feeds into your connected systems. However, keep in mind:
* **Tables** are best suited for display on the recording page and PDF/Word export. Some CRM integrations may flatten table data.
* **Extended text** works well for rich notes fields in CRM systems but may need to be truncated for short text fields.
* For integration critical fields (dropdowns, numbers), the data type behavior is identical to Simple protocols.
***
## Example: Client Meeting Deep Analysis Protocol [#example-client-meeting-deep-analysis-protocol]
| Section | Output Type | Instruction Summary |
| ------------------- | ------------- | ----------------------------------------------------------------------- |
| Executive Summary | Extended Text | Comprehensive overview of the meeting with context, outcomes, and tone |
| Topics & Decisions | Table | Columns: Topic, Discussion Summary, Decision Made, Owner, Deadline |
| Risk Factors | List | Identify risks, concerns, or red flags raised, explicitly or implicitly |
| Relationship Health | Options | Classify: Strong / Stable / At Risk / Critical |
| Detailed Next Steps | Table | Columns: Action, Responsible Party, Deadline, Priority, Dependencies |
| Open Questions | List | Unresolved questions that need follow up before next meeting |
# Verifying AI Accuracy (/docs/protocols-and-summaries/hallucination-elimination)
AI generated summaries are powerful but not infallible. Optiverse provides tools to verify accuracy and correct issues before sharing externally.
## Source Verification [#source-verification]
Every data point in a protocol summary **links back to its source** in the transcript. Click any reference to jump to the exact moment in the recording where that information was stated. This makes it straightforward to verify any claim, action item, or decision before acting on it.
## Accuracy Considerations [#accuracy-considerations]
**Non deterministic output.** Regenerating the same protocol on the same transcript may produce slightly different wording. The substance should remain consistent, but phrasing can vary.
**Speaker attribution.** If transcript speaker labels are wrong (e.g., Person A's statements attributed to Person B), the protocol will inherit those errors. Fix speaker labels in the transcript first, then regenerate the protocol.
**Transcription quality.** Transcript accuracy is affected by audio quality, overlapping speech, accents, and domain specific terminology. Even with 80% transcript accuracy, protocol output is usually solid. The AI model understands context well enough to produce meaningful summaries and can often infer correct meaning from imperfect transcriptions.
Use the **Custom Dictionary** to fix recurring misrecognitions of industry terms, company names, or jargon. The dictionary trains the transcription model to recognize your specific vocabulary.
## Verification Tools [#verification-tools]
**Editable output.** Every protocol summary is fully editable. Correct any errors directly in the output before sharing or exporting.
**OptiAgent chat.** The AI chat on each meeting page lets you ask verification questions like *"Did we agree on a June deadline?"* or *"Who said they'd handle the follow up?"*. OptiAgent will find and cite the exact moment in the recording.
**Source links.** Click through to verify numbers, dates, and commitments directly against the recording.
## Best Practices [#best-practices]
1. Always review before external sharing, especially action items with deadlines and responsible parties
2. Fix speaker labels early. Correct attribution upstream prevents errors downstream
3. Add terms to the Custom Dictionary to reduce recurring transcription issues
4. Use source links for critical data points
Speaker confusion is more likely when people talk over each other. In these cases, verify attribution of important action items using the source links before distributing notes.
# Protocols & Summaries (/docs/protocols-and-summaries)
Protocols are customizable summary templates that define what data to extract from your meetings and how to format it. They turn raw transcripts into structured, actionable output that can feed directly into your CRM, task management tools, or team communication channels.
**Not sure if you need protocols?** If you have generalist workflows without fine grained structure, don't need to track specific data at scale across meetings, and aren't tied to templated documentation processes, you can skip protocols entirely and use the [OptiAgent on the home page](/docs/optiagent-and-knowledge-hub/what-is-optiagent) to find anything you need from your meetings on demand.
## Who Benefits Most from Protocols [#who-benefits-most-from-protocols]
* Teams that follow repeatable meeting structures (e.g., sales calls, standups, client reviews)
* Organizations that need to push standardized data into external systems (CRM fields, project boards)
* Managers tracking specific metrics, decisions, or action items at scale across many meetings
* Anyone bound by documentation processes or compliance requirements
## Section Overview [#section-overview]
Understand what protocol templates are, why they exist, and whether you need them.
Build protocols using AI generation, PDF attachments, or manual section by section editing.
Multi agent processing for detailed, formatted analysis with tables and extended outputs.
Browse ready made templates for common meeting types and industries.
# Protocol Gallery (/docs/protocols-and-summaries/protocol-gallery)
The Protocol Gallery (also called the Protocol Marketplace) is a library of ready made templates for common meeting types. Browse by category, preview the structure of any template, and add it to your workspace to start using it immediately or customize it further.
## How to Use the Gallery [#how-to-use-the-gallery]
1. Open the **Protocol Gallery** from the Protocols page or from the creation options when you click "Create from Template"
2. Browse templates by category (Sales, Operations, Recruitment, Leadership, Other)
3. Click on any template to preview its sections and structure
4. Click **Add to my protocols** at the bottom of the preview to add it to your workspace
Once added, the template becomes fully editable in your workspace. You can adjust sections, rewrite instructions, change output types, or rename it to match your conventions.
***
## Available Templates [#available-templates]
### Deep Analysis Protocols [#deep-analysis-protocols]
These templates use multi agent processing and produce richer, more detailed output:
**Action Decision Extraction Protocol.** Extracts structured action items and decisions from any meeting. We recommend adapting it to your needs and saving it locally for best results.
**Team Update / Check In Protocol.** Ideal for team meetings. Produces a summary per participant of their update, blockers, and contributions.
### Sales & Client Meeting Frameworks [#sales--client-meeting-frameworks]
**MEDDIC for Sales.** Built around the MEDDIC qualification methodology. Extracts Metrics, Economic Buyer, Decision Criteria, Decision Process, Identify Pain, and Champion from sales calls.
**BANT for Sales.** Qualification protocol based on the BANT framework. Extracts Budget, Authority, Need, and Timeline.
**SPICED Framework.** For customer meetings. Extracts Situation, Pain, Impact, Critical Event, and Decision criteria.
**Intro Call.** Works for first time introduction meetings of any kind. Captures participant descriptions, outcomes, and main topics discussed.
### Operations & Leadership [#operations--leadership]
**Board Meeting.** Structured for formal board meetings with agenda tracking, approval of previous minutes, and transcript analysis.
**General Meeting Summary.** Works for any meeting type. Produces a detailed overview, main mentioned topics, and key action items.
### Customer Research & Interviews [#customer-research--interviews]
**Gabor Granger Pricing Protocol.** Designed for customer interviews focused on evaluating pricing sensitivity, product feedback, perceived value, and willingness to pay.
### Recruitment [#recruitment]
**Job Interview.** Ideal for hiring. Covers introduction, candidate background, technical skills and knowledge, and additional evaluation areas.
***
## Customizing Gallery Templates [#customizing-gallery-templates]
All gallery templates are starting points. After adding a template to your workspace:
* Edit instructions to match your specific terminology and requirements
* Add or remove sections as needed
* Change output data types to match your integration needs
* Toggle Deep Analysis on or off depending on the level of detail you need
***
## When to Use Gallery Templates vs. AI Generation [#when-to-use-gallery-templates-vs-ai-generation]
The gallery is useful when you want a quick starting point for a common meeting type. However, in most cases, **prompting the AI assistant directly will produce better templates** that fit your specific needs more deeply.
The AI assistant can tailor every section, instruction, and output type to your exact workflow, terminology, and integration requirements. Gallery templates are generic by design. AI generated templates are personalized from the start.
**Our recommendation:**
* Use gallery templates when you need something working in 30 seconds and plan to customize later
* Use AI generation when you want the best fit for your specific use case from the start
* Combine both: start from a gallery template, then ask the AI assistant to refine it based on your needs
# What Are Protocols? (/docs/protocols-and-summaries/what-are-protocols)
## Why Protocols Exist [#why-protocols-exist]
Every meeting produces information. Decisions, action items, metrics, next steps. But without structure, that information stays buried in recordings and transcripts, requiring manual effort to extract and distribute.
Protocols solve this by letting you define **what** you want to extract and **how** it should be formatted, once. From that point on, every meeting of that type is automatically summarized into a consistent, structured output that can be shared, exported, or pushed to external systems.
### When Protocols Are the Right Tool [#when-protocols-are-the-right-tool]
Protocols are designed for teams and individuals who:
* Run repeatable meeting types where the same kind of information needs to be captured each time
* Need to track specific data points at scale (qualification criteria across sales calls, action items across project meetings)
* Push meeting data into external systems (CRM fields, project boards, task managers) where consistency matters
* Follow documentation or compliance processes that require templated outputs
### When You Can Skip Protocols Entirely [#when-you-can-skip-protocols-entirely]
If your workflow is generalist, meaning you don't follow rigid meeting structures, you don't need to track specific metrics at scale, and you're not feeding data into external systems, you may not need protocols at all.
In that case, the [OptiAgent on the home page](/docs/optiagent-and-knowledge-hub/what-is-optiagent) is likely all you need. It lets you search across all your meetings, ask questions, and get answers on demand without any template setup.
***
## What Is a Protocol Template? [#what-is-a-protocol-template]
A protocol template is the skeleton, or recipe, behind what you want to extract from a given meeting. You define the structure once, and the AI fills it in after every meeting that uses that protocol.
Each template consists of one or more **sections** (sometimes called paragraphs or blocks). For each section, you define:
* **Title.** The heading that appears in the output.
* **Instructions.** A prompt telling the AI what to extract or analyze for this section.
* **Output data type.** How the result should be formatted (text, list, number, options, table).
The combination of sections, instructions, and output types creates a reusable recipe that produces consistent, predictable output regardless of which meeting it's applied to.
***
## Two Types of Protocols [#two-types-of-protocols]
Optiverse offers two types of protocol templates, each suited to different use cases and complexity levels:
### Simple (Normal) Protocols [#simple-normal-protocols]
Fast, surface level extraction equivalent to OptiAgent's short/fast mode. Processes in seconds. Best for quick overviews and high level meeting summaries where you want an easy to read output without deep complexity.
[Learn more about Creating Protocols →](/docs/protocols-and-summaries/creating-custom-protocols)
### Deep Analysis Protocols [#deep-analysis-protocols]
Multi agent processing that produces detailed, formatted analysis with tables, extensive text, and granular data extraction. Takes 1–2 minutes. Recommended for complex use cases and experienced prompt engineers.
[Learn more about Deep Analysis Protocols →](/docs/protocols-and-summaries/deep-analysis-protocols)
***
## Protocols as the Foundation for Integrations [#protocols-as-the-foundation-for-integrations]
Protocol output isn't just for reading. It's the structured data layer that powers your integrations. When a protocol generates a summary, that structured output (with its defined data types per section) can be:
* Pushed to a **CRM system** (e.g., HubSpot, Salesforce) to update deal fields, log activities, or create contacts
* Sent to **task management software** (e.g., Jira, Asana) to create tasks with owners and deadlines
* Delivered to **communication tools** (e.g., Microsoft Teams, Slack) as formatted messages
* Exported as **PDF or Word documents** for archival or external sharing
The data types you define in your protocol sections (text, number, list, predefined options) ensure the output maps cleanly to the input fields expected by your external systems.
**How this works in practice:**
1. Meeting is recorded and transcribed
2. Your protocol processes the transcript
3. Each section produces output in its defined data type
4. That structured output is available to push to integrations
Your output data types map directly to the field types in your external systems. A "Deal Stage" section with predefined options maps to a dropdown in your CRM. A "Budget" section with number output maps to a numeric field. A "Next Steps" section with bullet points maps to a task list. This is how protocols bridge the gap between unstructured meeting conversations and structured business systems.
***
## Key Capabilities [#key-capabilities]
* **Source linking.** Every data point in the output links back to its source in the transcript and video. Click any reference to jump to the exact moment.
* **Editable output.** Correct anything in the generated summary before sharing or exporting.
* **Language control.** Set a protocol to always output in a specific language, or let it follow the meeting language.
* **Multiple protocols per meeting.** Apply several protocols to the same recording (e.g., one for CRM logging, another for internal debrief).
* **Personal or shared.** Keep protocols private or share them across your organization.
* **Reprocessing.** Apply any protocol to any past recording at any time. See [Switching Between Protocols](#switching-between-protocols-on-a-recording) below.
***
## Common Use Cases [#common-use-cases]
| Meeting Type | Protocol Approach |
| -------------------------- | ----------------------------------------------------- |
| Sales calls (MEDDIC, BANT) | Simple or Deep Analysis with CRM integration |
| Team standups | Simple protocol with bullet point output |
| Client meetings | Deep Analysis with table of topics, owners, deadlines |
| Interviews & scorecards | Deep Analysis with predefined scoring options |
| Management reviews | Deep Analysis with department level summaries |
| Quick daily syncs | Simple protocol with short text output |
You can apply any protocol to any past recording at any time, not just new meetings.
***
## Setting Your Default Protocol [#setting-your-default-protocol]
Set a default protocol so Optiverse automatically generates a summary after every meeting, no manual action needed.
1. Go to the **Protocols** page
2. Find the protocol you want as your default
3. Click the **star/default icon** on that protocol
The **Default** badge indicates which protocol currently runs automatically after each meeting.
### Overriding the Default Per Meeting [#overriding-the-default-per-meeting]
You can override the default for specific upcoming meetings:
1. Go to the **Calendar** page
2. Each upcoming meeting shows which protocol will be used
3. Click the protocol name to change it for that specific meeting
**Example:** Your default is "Daily Brief Summary" for most meetings, but for client calls you switch to "Salesforce Contact Report" before the meeting starts. Per meeting overrides only apply to that single meeting. All other meetings continue using the default.
### Organization Wide Defaults [#organization-wide-defaults]
Admins can set an organization wide default protocol that applies to all users in the workspace. Individual users can still override this on their own level unless the admin locks the setting.
| Setting Level | Who Controls It | Can Be Overridden? |
| -------------------- | --------------- | ------------------- |
| Organization default | Admin | Yes (unless locked) |
| User default | Individual user | Yes, per meeting |
| Per meeting override | Individual user | N/A |
***
## Switching Between Protocols on a Recording [#switching-between-protocols-on-a-recording]
The default protocol generates automatically, but any user can load different protocols on the same meeting at any time:
1. Open the **protocol dropdown** (top of the summary area)
2. Browse all available protocols in your workspace
3. Select a different protocol
4. Click **Generate** to produce a new summary using that protocol
Multiple protocol summaries can coexist on the same recording without affecting anyone else's view. This also means you can apply any protocol to any past recording, not just new meetings. Common reasons to reprocess:
* You created a better template and want to re summarize older meetings with it
* A colleague shares a meeting and you want your preferred summary format applied
* You need both a brief overview and a detailed analysis of the same meeting
The protocol currently **displayed** on the recording page is the one that can be pushed to integrations (Teams, task management, CRM) and the one available for export. If you want to send or download a different protocol's output, switch to it first.
**Fix speaker labels before regenerating.** If speaker attribution is wrong in the transcript, correct the labels first. Otherwise the protocol will attribute actions and decisions to the wrong people. Don't just edit the summary, fix the source and regenerate.
Each protocol generation counts toward your AI credit usage quota, whether it's a first generation or a reprocess.
***
## Exporting and Sharing Protocol Summaries [#exporting-and-sharing-protocol-summaries]
The generated protocol summary on any recording page can be exported:
* **PDF.** Download a formatted PDF of the full protocol output for sharing or archival.
* **Word (.docx).** Download as an editable Word document.
Protocol output can also be pushed directly to connected tools:
* **Microsoft Teams.** Send the summary to a Teams channel.
* **Task management.** Push action items to Jira, Asana, or other connected tools.
* **CRM.** Log structured data to HubSpot, Salesforce, or other CRM systems.
See the [Integrations](/docs/integrations-and-workflows) section for setup instructions.
# Resources (/docs/resources)
In-depth guides, comparisons, and real-world case studies to help you get the most from Optiverse.
Optiverse for Sales, CS, PMs, and Executives.
See how Optiverse compares to alternatives.
Real results from real teams.
Best practices for meetings and workflows.
# Data Hosting & Infrastructure (/docs/security-and-compliance/data-hosting)
Optiverse hosts all customer data within the European Union, specifically in **Switzerland (Zurich)** and **Germany (Frankfurt)**. Your meeting data, recordings, transcripts, and AI-generated outputs remain within these regions at all times.
## Infrastructure [#infrastructure]
Optiverse runs on a combination of **Microsoft Azure** (Zurich) for AI processing, **AWS** (Zurich, Frankfurt) for general infrastructure, and **Supabase** (EU regions) for database services.
| Component | Location |
| ------------------------- | -------------------------------------------------------------- |
| AI model inference (LLMs) | **Microsoft Azure, Zurich, Switzerland** |
| Data storage | AWS Zurich, Switzerland / AWS Frankfurt, Germany |
| Database | Supabase EU (HIPAA-compliant) |
| Processing & compute | AWS EC2 instances (Zurich / Frankfurt) |
| Transcription services | Internal EC2 instances within Optiverse-controlled environment |
## Swiss-Based AI Processing [#swiss-based-ai-processing]
All AI models (LLMs) used by Optiverse run on **Microsoft Azure's Swiss data centers in Zurich**. This means:
* Your meeting data is **never sent to the US** for AI processing
* LLM inference happens locally in Zurich
* We do not use US-hosted API endpoints for AI model calls
This is the same Azure infrastructure used by major Swiss financial institutions. Your data stays in Switzerland for all AI processing.
## What This Means for Your Organization [#what-this-means-for-your-organization]
* **Data residency**: All data is stored exclusively in Switzerland or Germany
* **No US routing**: Your data is not routed to US servers or US-hosted API endpoints
* **Regulatory compliance**: Meets Swiss FADP, GDPR, and supports HIPAA-compliant workflows via Supabase
* **Internal processing**: Transcription and compilation services run on EC2 instances within the Optiverse-controlled environment
## Security Measures [#security-measures]
Optiverse maintains comprehensive technical and organizational security measures:
* **Encryption in transit**: TLS 1.3
* **Encryption at rest**: AES-256
* **Authentication**: Short-lived, signed JWT tokens
* **Access control**: Role-based access control (RBAC) and Supabase Row-Level Security (RLS)
* **Video access**: Pre-signed URLs with limited validity
* **Backups**: Daily backups with geo-redundant storage
* **Key rotation**: Every 90 days via AWS Key Management Service (KMS)
* **CI/CD security**: Pipeline security validation, including daily RLS policy checks
## Data Deletion [#data-deletion]
| Data type | Deletion timeline |
| ------------------------------------- | -------------------------------------------------------------------------- |
| Textual data (transcripts, summaries) | Within 24 hours of account or meeting deletion |
| Video recordings | Retained up to 30 days post-deletion for recovery, then permanently erased |
| Access credentials and tokens | Revoked immediately |
| Audit logs | Anonymized logs may be retained for compliance |
## Compliance and Certifications [#compliance-and-certifications]
* **GDPR-compliant** and aligned with Swiss FADP
* **ISO 27001** certification (in progress, expected Q2 2026)
* Supabase is **HIPAA-compliant**
* Security practices are regularly reviewed and updated to reflect legal and industry requirements
\[Screenshot: Architecture diagram showing data flow within Swiss and German infrastructure]
## Enterprise Documentation [#enterprise-documentation]
Enterprise customers can request additional documentation, including:
* Detailed architecture diagrams
* Full Security Overview document
* Data Processing Agreement (DPA)
* Subprocessor list
Contact [security@optiverse.ai](mailto:security@optiverse.ai) or your account manager to request these materials.
# Data Retention & Deletion (/docs/security-and-compliance/data-retention)
Optiverse gives you full control over how long your meeting data is retained. By default, data is stored indefinitely until you choose to delete it, because your recordings form the knowledge base that powers cross-meeting queries and insights.
## Default Retention [#default-retention]
Recordings and transcripts are stored **indefinitely by default**. This is intentional: the majority of customers keep their data because it forms the foundation of OptiAgent's cross-meeting intelligence.
The more meeting history you retain, the more powerful cross-meeting queries become. OptiAgent can reference past conversations, track decisions over time, and identify patterns across hundreds of meetings.
## Manual Deletion [#manual-deletion]
Users can delete individual recordings at any time. Optiverse offers two deletion scopes:
* **Delete for me**: removes the recording from your view only. Other users with access are unaffected.
* **Delete for everyone**: permanently deletes the recording for all users. Only available to recording owners (original meeting attendees).
Bulk deletion is also available from the recordings list, though bulk actions are limited to "Delete for me" only.
For a full guide on how deletion works, ownership rights, and step-by-step instructions, see [Deleting Recordings](/docs/how-recording-works/deleting-recordings).
\[Screenshot: Delete button on a recording page]
## Auto-Deletion Policies [#auto-deletion-policies]
Organization admins can configure automatic deletion policies to remove recordings older than a specified period:
* 6 months
* 12 months
* 18 months
* Custom periods (enterprise)
Once configured, recordings that exceed the retention period are automatically queued for deletion.
\[Screenshot: Auto-deletion policy settings in admin panel]
## What Happens After Deletion [#what-happens-after-deletion]
Deletion timelines depend on the data type:
| Data type | Deletion timeline |
| -------------------------------------------- | ------------------------------------------------------------ |
| Textual data (transcripts, summaries, notes) | Within 24 hours |
| Video recordings | Retained up to 30 days for recovery, then permanently erased |
| Access credentials and tokens | Revoked immediately |
After the retention period, data is permanently and irreversibly deleted from all systems. Only anonymized audit logs may be retained for compliance purposes.
Once the archive period expires, data cannot be recovered. Make sure your deletion policies align with your organization's compliance requirements.
## Bulk Deletion [#bulk-deletion]
You can select multiple recordings from the recordings list and delete them in one action. Bulk deletion always applies as "Delete for me" only, meaning other users retain access. For permanent deletion, recordings must be deleted individually by an owner.
For step-by-step instructions on bulk deletion, see [Deleting Recordings](/docs/how-recording-works/deleting-recordings#bulk-deletion).
Organizations that prefer periodic bulk cleanups rather than automated policies can also contact support for large-scale deletions.
## Disabling Video Storage [#disabling-video-storage]
Organizations can **disable video recording** entirely at the org level. When disabled:
* Only audio transcripts are stored
* Significantly reduces storage usage
* Fewer privacy concerns for participants
* All AI features (summaries, search, OptiAgent) still work from the transcript
## What's Covered by Retention Policies [#whats-covered-by-retention-policies]
All content types follow the same retention and deletion policies:
* Meeting recordings (audio/video)
* Transcripts
* AI-generated summaries and action items
* Uploaded files (PDFs, voice memos)
* OptiAgent chat history for that recording
## Enterprise Custom Policies [#enterprise-custom-policies]
Enterprise customers can request custom retention configurations, including:
* Different retention periods per team or department
* Compliance holds (prevent deletion during legal review)
* Custom archive periods
* Automated exports before deletion
Contact your account manager to discuss custom retention needs.
# Encryption (/docs/security-and-compliance/encryption)
All data in Optiverse is protected with AES 256 encryption at rest and TLS 1.3 encryption in transit.
Content for this page is being written. Check back soon for the complete guide.
# Enterprise Security FAQ (/docs/security-and-compliance/enterprise-faq)
Answers to the most common security questions we receive from enterprise buyers and their security teams.
Content for this page is being written. Check back soon for the complete guide.
# FADP (Swiss Federal Act) (/docs/security-and-compliance/fadp)
As a Swiss company, Optiverse complies with the FADP (Bundesgesetz über den Datenschutz), providing one of the strongest data protection frameworks globally.
Content for this page is being written. Check back soon for the complete guide.
# GDPR & Privacy Compliance (/docs/security-and-compliance/gdpr)
Optiverse is designed to be fully compliant with GDPR and Swiss data protection regulations. This page explains how consent works, what data is collected, and how participants' rights are respected.
## Two Recording Methods, Two Consent Models [#two-recording-methods-two-consent-models]
Optiverse offers two ways to capture meeting content, each with different privacy implications:
### 1. Bot/Assistant Recording [#1-botassistant-recording]
When the Optiverse bot joins a meeting, it acts as a visible participant and requires consent.
**How consent is obtained:**
* The bot appears as a **named participant** in the meeting (visible to everyone)
* It sends a **chat message** announcing that the meeting is being recorded
* Participants can see the bot and are aware recording is active
For external meetings, a simple verbal confirmation is sufficient: "Is it okay if our note-taker joins? It will create minutes for both of us." This counts as valid consent.
**If someone objects:**
Simply remove the bot from the meeting (kick the participant). The recording stops immediately.
### 2. Desktop App Live Transcription [#2-desktop-app-live-transcription]
The desktop app's live transcription feature is **GDPR-compliant without explicit consent**. This is legally equivalent to someone taking notes by hand during a meeting.
* No audio recording is stored
* Only the text transcript is generated and saved
* No bot joins the meeting. It runs locally on your device.
## Data Protection Principles [#data-protection-principles]
| Principle | How Optiverse Complies |
| ------------------ | ------------------------------------------------------------- |
| Purpose limitation | Data is used only for meeting documentation and AI assistance |
| Data minimization | Only meeting audio/video and generated transcripts are stored |
| No AI training | User data is **never** used to train AI models |
| Right to erasure | Users can delete recordings at any time |
| Storage limitation | Auto-deletion policies available (6/12/18 months) |
## Data Deletion [#data-deletion]
* Users can **delete individual recordings** at any time, either for themselves or for everyone (if they are a recording owner)
* **Auto-deletion policies** can be configured by organization admins (e.g., delete everything older than 6, 12, or 18 months)
* Textual data (transcripts, summaries) is deleted within **24 hours**
* Video recordings are retained for up to **30 days** post-deletion (recoverable in case of accidental deletion), then permanently removed
For a detailed guide on deletion options and recording ownership, see [Deleting Recordings](/docs/how-recording-works/deleting-recordings).
MCP integrations (Salesforce, HubSpot, etc.) cannot delete data in external systems. This is blocked by design to prevent accidental data loss in connected platforms.
## Consent Best Practices [#consent-best-practices]
**Internal meetings:**
* Bot recording: The bot's presence and chat announcement serve as notification
* Desktop transcription: No consent needed
**External meetings:**
* Announce verbally at the start: "We have a note-taker that will create minutes for both of us, is that okay?"
* If anyone objects, remove the bot immediately
* For desktop transcription: No announcement needed (equivalent to taking notes)
## Data Subject Rights [#data-subject-rights]
Optiverse supports all GDPR data subject rights:
* **Right to access**: Users can view and export their meeting data
* **Right to erasure**: Delete recordings and transcripts at any time
* **Right to restriction**: Pause processing by removing the bot
* **Right to object**: Participants can request bot removal during meetings
## No AI Training on Your Data [#no-ai-training-on-your-data]
Your meeting recordings, transcripts, and interactions with OptiAgent are never used to train or fine-tune AI models. Your data remains yours.
# Trust Center (/docs/security-and-compliance)
Optiverse security and compliance documentation now lives in the
[Optiverse Trust Center](https://trust.optiverse.ai/).
Use the Trust Center as the canonical source for security, privacy, compliance, and vendor documentation.
## What Moved [#what-moved]
* Security and privacy overview
* Certifications and audit posture
* Data handling and retention details
* Subprocessor and vendor information
* Security contact and review materials
## Visit the Trust Center [#visit-the-trust-center]
Open the live Trust Center here: [trust.optiverse.ai](https://trust.optiverse.ai/).
If your procurement or IT team needs additional help, contact your Optiverse account team or reach out via [optiverse.ai/contact](https://optiverse.ai/contact).
# ISO 27001 (/docs/security-and-compliance/iso-27001)
ISO 27001 is the international standard for information security management systems (ISMS). Optiverse is currently pursuing ISO 27001 certification, expected by Q2 2026.
## What ISO 27001 Means [#what-iso-27001-means]
ISO 27001 certification demonstrates that an organization has implemented a systematic approach to managing sensitive information, including:
* Risk assessment and treatment processes
* Security policies and procedures
* Access control and authentication
* Incident management
* Business continuity planning
* Regular internal audits
## Current Security Practices [#current-security-practices]
Even ahead of formal certification, Optiverse already implements security practices aligned with ISO 27001 requirements:
| Area | Practice |
| --------------- | ----------------------------------------------------------- |
| Encryption | TLS 1.3 in transit, AES-256 at rest |
| Access control | RBAC, Row-Level Security, short-lived JWT tokens |
| Key management | 90-day rotation via AWS KMS |
| Infrastructure | AWS Zurich/Frankfurt, Supabase EU |
| Monitoring | CI/CD pipeline security validation, daily RLS policy checks |
| Backups | Daily, geo-redundant storage |
| Data protection | GDPR and Swiss FADP alignment |
| Personnel | Binding confidentiality obligations, need-to-know access |
## Audit Logs [#audit-logs]
Optiverse maintains and protects audit logs as follows:
| Log type | Retention |
| -------------------------------- | --------- |
| Authentication and security logs | 6 months |
| Access, usage, and system logs | 3 months |
| Administrative actions | 6 months |
All logs are encrypted at rest. Access is restricted to authorized security personnel.
## Certification Timeline [#certification-timeline]
Optiverse is actively working toward ISO 27001 certification with an expected completion date of **Q2 2026**. Upon certification, audit reports and certificates will be available to enterprise customers upon request.
## Request Documentation [#request-documentation]
For detailed security documentation, including our full Security Overview, contact [security@optiverse.ai](mailto:security@optiverse.ai).
# Responsible Disclosure (/docs/security-and-compliance/responsible-disclosure)
If you discover a security vulnerability, please report it responsibly following our disclosure guidelines.
Content for this page is being written. Check back soon for the complete guide.
# Subprocessors (/docs/security-and-compliance/subprocessors)
A complete list of third-party services that process data on behalf of Optiverse.
Content for this page is being written. Check back soon for the complete guide.
# Zero AI Training Policy (/docs/security-and-compliance/zero-ai-training)
Your meeting data is yours. Optiverse has a strict zero AI training policy. Your transcripts, summaries, and recordings are never used to train or fine-tune any AI models.
Content for this page is being written. Check back soon for the complete guide.
# Team & Workspace Setup (/docs/team-and-workspace)
A workspace is your organization's shared Optiverse environment. It's where team members collaborate, share recordings, and benefit from unified settings and pooled resources.
## Creating a Workspace [#creating-a-workspace]
The **first person** to sign up from your organization creates the workspace. After that, others can join via:
* **Invitation**: An admin sends them an email invite from the team page
* **Domain auto-join**: Anyone with a matching email domain joins automatically when they create an account
* **Shared link**: During onboarding, share the workspace link and users sign in to join directly
Users are never forced into a workspace. They have to proactively create an account and join. Adding someone to the SSO group in Microsoft or Google does not send them a notification.
***
## Inviting Team Members [#inviting-team-members]
To invite colleagues to your workspace:
1. Go to [**Settings → Organization → Team**](https://app.optiverse.ai/settings/people)
2. Enter their email addresses (you can add multiple, separated by commas)
3. Click **Invite**
4. They'll receive an invitation to join your workspace
You can invite people with different email domains (e.g., contractors or agency partners). They don't need to be on the same domain.
### Domain auto-join [#domain-auto-join]
If you want anyone with your company email domain to join the workspace automatically without needing an invitation, enable the **"Allow domain members to join workspace"** toggle from [Settings → Organization → Profile](https://app.optiverse.ai/settings/org-profile).
When enabled, any user who signs up with a matching email domain (e.g., @yourcompany.com) is automatically added to your workspace.
***
## Roles [#roles]
| Role | Capabilities |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| **Owner** | Full control over the workspace, billing admin, can transfer ownership. Multiple owners allowed. |
| **Admin** | Everything a member can do, plus: manage licenses, set org-wide settings, manage integrations, invite/remove users, view all usage statistics |
| **Member** | Use Optiverse, manage own settings, record and share meetings, view own usage |
***
## Admin Team View [#admin-team-view]
From the [Team page](https://app.optiverse.ai/settings/people), admins and owners can see a table of all workspace members with their current settings. The columns visible per user are:
| Column | What it shows |
| -------------- | ------------------------------------------------------------------------------------------ |
| **Role** | Member, Admin, or Owner |
| **Join rule** | How the bot joins meetings on behalf of this user (All Meetings, Explicitly Invited, etc.) |
| **Email rule** | Who receives the email summary after this user's meetings (All Attendees, User Only, etc.) |
| **Status** | Whether the user is Active |
### Overriding individual settings [#overriding-individual-settings]
Admins can **modify any user's settings** directly from this table at any time. This is useful when:
* A user has an unexpected setting and is confused about bot behavior
* You need to troubleshoot why an email was sent to the wrong people
* You want to quickly audit the entire team's configuration
If someone reports unexpected behavior (e.g., "the bot joined a meeting it shouldn't have" or "the email went to the wrong people"), go to the Team page, find their row, and check their join rule and email rule. This will immediately explain what happened.
***
## Organization-Wide Settings [#organization-wide-settings]
Admins can configure defaults that apply to all workspace members from [Settings → Organization → Profile](https://app.optiverse.ai/settings/org-profile).
Organization-wide settings **always override** personal user settings. When an admin locks a setting, individual users cannot change it and will see "This is managed by your admin" on their settings page.
### Email recap policy [#email-recap-policy]
Set who receives email summaries for the entire organization:
* **All invitees**: Everyone in the meeting receives the email summary, including external participants
* **My organization members**: Only members from your organization who were in the meeting receive it
* **Only participants with an Optiverse account**: Only attendees who have an Optiverse account receive it
You can also **lock this setting** (toggle the lock icon) so individual users cannot change it.
### Organization agent name [#organization-agent-name]
Define a bot name that applies to all users in your workspace (e.g., "YourCompany AI assistant"). If set, this overrides all individual user names.
If you leave this empty, each user can customize their own agent name from their personal settings. The field will show "Individual agent names are currently used."
### Guest link access [#guest-link-access]
Controls whether non-Optiverse users can view recordings via a shared link (public link sharing):
* **Enabled**: Anyone with the meeting link (from the email) can view the recording without needing an Optiverse account
* **Disabled**: Only users with Optiverse accounts can access recordings
This setting works at both the **organization level** (default for all meetings) and the **per-meeting level** (override for individual recordings).
When guest access is enabled, the link in the email uses an access token. It's not a fully public URL, but anyone who receives the link can view the recording without logging in.
### Custom dictionary [#custom-dictionary]
Add terms to improve transcription accuracy. Include industry-specific words, product names, abbreviations, or acronyms that the AI might not recognize correctly.
Type each term and press Enter to add it. Click **Apply** to save your changes.
### Meeting recording output [#meeting-recording-output]
Admins can choose what internal meetings capture: **Video** or **Audio** only.
When set to Audio:
* Only audio is captured in all meetings
* Meeting pages show audio playback without video
* This cannot be overridden by individual users
***
## SSO and Access Control [#sso-and-access-control]
All login goes through Microsoft or Google SSO. There is no way to bypass this with a manual email entry.
This means:
* **Removing access** is as simple as revoking the app in your Azure/Google enterprise console
* **Group access** is fully supported on the Microsoft side, including nested groups
* No separate user management needed on the Optiverse side for access control
***
## License Management [#license-management]
### Pooled resources [#pooled-resources]
Licenses and meeting minutes are **pooled across the entire workspace**, not limited per user. For example:
* 10 users × 15,000 minutes each = **150,000 minutes shared** across all 10 users
* If one user is more active and another is less active, the balance evens out naturally
This is similar to Microsoft cloud storage pooling. No individual user hits a limit as long as the workspace has capacity.
### Available licenses and upgrading [#available-licenses-and-upgrading]
At the top of the [Team page](https://app.optiverse.ai/settings/people), admins can see how many licenses are available and manage them.
Click **Manage Licenses** to upgrade your plan or add more licenses. See the [Pricing page](https://app.optiverse.ai/PRICING) for available plans.
### Assigning and unassigning licenses [#assigning-and-unassigning-licenses]
Licenses are **not attached to specific users**. If someone leaves your organization or no longer needs Optiverse, you can reassign their license immediately.
To unassign a license, click the **three dots (⋯)** next to the user's profile on the Team page:
* **Unassign License**: Frees up the license for another team member
* **Remove from organization**: Removes the user entirely from your workspace
### License types [#license-types]
| License | Features |
| ------------------------------------------------ | ----------------------------------------------------------- |
| **Free** | Limited recordings and features |
| **[Pro](https://app.optiverse.ai/PRICING)** | Full access to all core features |
| **[Business](https://app.optiverse.ai/PRICING)** | Pro features + Salesforce integration and advanced controls |
### What happens when you reach your limits? [#what-happens-when-you-reach-your-limits]
If your workspace reaches its storage or minutes limit, you have several options:
1. **Bulk delete meetings**: It's easy to select and delete multiple recordings at once to free up space. See [Deleting Recordings](/docs/how-recording-works/deleting-recordings#bulk-deletion) for how to use bulk selection.
2. **Auto-delete policies**: Organizations can set meetings to be automatically deleted after 6, 12, or 18 months
3. **Assisted cleanup**: Our team can help you bulk delete recordings using smart keyword search across meeting titles. Reach out to [support@optiverse.ai](mailto:support@optiverse.ai)
4. **Pay-as-you-go**: If you want to preserve all your meeting knowledge and keep recordings accessible, you can activate pay-as-you-go usage beyond your plan limits
You're never locked out or forced into an upgrade. These are simply options to manage your workspace the way that works best for your team.
***
## Usage Statistics [#usage-statistics]
### For admins [#for-admins]
Admins can see workspace-wide usage from [Settings → Organization → Usage](https://app.optiverse.ai/settings/org-usage), with summary cards at the top and a per-person breakdown below:
The dashboard shows:
| Metric | What it tracks |
| -------------- | -------------------------------------------------- |
| **Minutes** | Total meeting minutes processed per user |
| **AI credits** | AI processing usage (summaries, OptiAgent queries) |
| **Storage** | Storage consumed by each user's recordings |
The right panel shows **Activity Over Time** with charts for meeting minutes per day and meetings recorded per day, helping admins spot trends and plan capacity.
Admins can also see the **Organization Storage** total in the top-right corner.
### For individual users [#for-individual-users]
Each user can see their own consumption from [Settings → Usage](https://app.optiverse.ai/settings/usage), showing percentage gauges for Meeting Minutes, AI Credits, and Storage, along with historical usage over time.
Individual users cannot see other users' statistics.
# API Reference (/docs/integrations-and-workflows/api-and-webhooks/api-reference)
This page documents all available endpoints, parameters, response formats, and error codes for the Optiverse User API.
**For tooling & automation:** Download the OpenAPI 3.1 specification to import into Postman, generate typed SDKs, or use with any OpenAPI-compatible tool.
## Base URL [#base-url]
```
https://api.optiverse.ai/external-api
```
All endpoints are relative to this base URL.
## Quick Start [#quick-start]
Get your first transcript in three steps:
1. [Create an API key](/api-reference/authentication) in your profile settings.
2. Call `GET /v1/list-records` to find your meetings.
3. Call `GET /v1/transcript/:recordId` with a record ID from step 2.
***
## List Meeting Records [#list-meeting-records]
Retrieve a paginated list of meeting records accessible to your API key.
```
GET /v1/list-records
```
### Query Parameters [#query-parameters]
| Parameter | Type | Required | Default | Description |
| ---------- | ------- | -------- | ------- | ----------------------------------------- |
| `limit` | integer | No | 50 | Number of records to return (max: 100) |
| `offset` | integer | No | 0 | Number of records to skip for pagination |
| `dateFrom` | string | No | none | Filter records from this date (ISO 8601) |
| `dateTo` | string | No | none | Filter records until this date (ISO 8601) |
### Response [#response]
```json
{
"success": true,
"data": [
{
"recordId": "54e7e4e4-4417-4662-90db-18456f71ecbb",
"role": "owner",
"ownerEmail": "user@example.ai",
"meetingTitle": "Team Standup",
"startDate": "2025-01-14T10:00:00Z",
"endDate": "2025-01-14T10:30:00Z",
"attendees": [
{
"name": "John Doe",
"email": "john@example.ai"
}
],
"createdAt": "2025-01-14T10:00:00Z"
}
],
"pagination": {
"total": 150,
"limit": 50,
"offset": 0,
"hasMore": true
}
}
```
### Code Examples [#code-examples]
#### cURL [#curl]
```bash
curl -X GET "https://api.optiverse.ai/external-api/v1/list-records?limit=10&dateFrom=2025-01-01T00:00:00Z" \
-H "Authorization: Bearer optiuser_v1_your_key_here"
```
#### JavaScript [#javascript]
```javascript
const API_KEY = process.env.OPTIVERSE_API_KEY;
const BASE_URL = "https://api.optiverse.ai/external-api";
const response = await fetch(
`${BASE_URL}/v1/list-records?limit=10&offset=0&dateFrom=2025-01-01T00:00:00Z`,
{
headers: { "Authorization": `Bearer ${API_KEY}` }
}
);
const { data, pagination } = await response.json();
console.log(`Found ${pagination.total} records`);
```
#### Python [#python]
```python
import os
import requests
API_KEY = os.environ["OPTIVERSE_API_KEY"]
BASE_URL = "https://api.optiverse.ai/external-api"
response = requests.get(
f"{BASE_URL}/v1/list-records",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"limit": 10, "dateFrom": "2025-01-01T00:00:00Z"}
)
data = response.json()
print(f"Found {data['pagination']['total']} records")
```
***
## Get Meeting Transcript [#get-meeting-transcript]
Retrieve the full transcript for a specific meeting record.
```
GET /v1/transcript/:recordId
```
### Path Parameters [#path-parameters]
| Parameter | Type | Required | Description |
| ---------- | ---- | -------- | ------------------------------------------- |
| `recordId` | UUID | Yes | The unique identifier of the meeting record |
### Response [#response-1]
```json
{
"success": true,
"data": {
"recordId": "54e7e4e4-4417-4662-90db-18456f71ecbb",
"metadata": {
"meetingTitle": "Team Standup",
"startDate": "2025-01-14T10:00:00Z",
"endDate": "2025-01-14T10:30:00Z",
"attendees": [
{
"name": "John Doe",
"email": "john@example.ai"
}
]
},
"transcript": "[John Doe]:\nHello everyone, let's start our standup meeting...\n\n[Jane Smith]:\nGood morning! Yesterday I completed..."
}
}
```
### Code Examples [#code-examples-1]
#### cURL [#curl-1]
```bash
curl -X GET "https://api.optiverse.ai/external-api/v1/transcript/54e7e4e4-4417-4662-90db-18456f71ecbb" \
-H "Authorization: Bearer optiuser_v1_your_key_here"
```
#### JavaScript [#javascript-1]
```javascript
const API_KEY = process.env.OPTIVERSE_API_KEY;
const BASE_URL = "https://api.optiverse.ai/external-api";
async function getTranscript(recordId) {
const response = await fetch(`${BASE_URL}/v1/transcript/${recordId}`, {
headers: { "Authorization": `Bearer ${API_KEY}` }
});
if (!response.ok) {
if (response.status === 404) {
console.error("Record not found or access denied");
} else if (response.status === 400) {
console.error("Invalid record ID format");
}
return null;
}
const { data } = await response.json();
console.log(`Meeting: ${data.metadata.meetingTitle}`);
return data;
}
```
#### Python [#python-1]
```python
import os
import requests
API_KEY = os.environ["OPTIVERSE_API_KEY"]
BASE_URL = "https://api.optiverse.ai/external-api"
def get_transcript(record_id):
response = requests.get(
f"{BASE_URL}/v1/transcript/{record_id}",
headers={"Authorization": f"Bearer {API_KEY}"}
)
if response.status_code == 404:
print("Record not found or access denied")
return None
data = response.json()["data"]
print(f"Meeting: {data['metadata']['meetingTitle']}")
return data
```
***
## List Protocol Templates [#list-protocol-templates]
Retrieve all protocol templates available on your account. Each template produces either **structured** (JSON) or **unstructured** (Markdown) summaries.
```
GET /v1/protocol-templates
```
### Response [#response-2]
```json
{
"success": true,
"data": [
{
"protocolId": "b7c4c322-2fd4-474b-8937-b46ff465e0af",
"title": "Meeting Minutes",
"description": "Extracts action items and decisions",
"summaryType": "structured",
"managedBy": "optiverse",
"createdAt": "2025-03-01T12:00:00Z"
},
{
"protocolId": "eefc041d-58ea-4f8f-9119-fd4e9315ff0e",
"title": "Executive Summary",
"description": "Free-form markdown summary",
"summaryType": "unstructured",
"managedBy": "user",
"createdAt": "2025-06-15T09:00:00Z"
}
]
}
```
### Key Fields [#key-fields]
| Field | Description |
| ------------- | ---------------------------------------------------------------------------------------------------- |
| `protocolId` | Use this ID when fetching summaries |
| `summaryType` | `"structured"` → use `/v1/summaries/structured`. `"unstructured"` → use `/v1/summaries/unstructured` |
| `managedBy` | `"optiverse"` for built-in templates, `"user"` for custom ones |
### Code Examples [#code-examples-2]
#### cURL [#curl-2]
```bash
curl -X GET "https://api.optiverse.ai/external-api/v1/protocol-templates" \
-H "Authorization: Bearer optiuser_v1_your_key_here"
```
#### JavaScript [#javascript-2]
```javascript
const response = await fetch(`${BASE_URL}/v1/protocol-templates`, {
headers: { "Authorization": `Bearer ${API_KEY}` }
});
const { data } = await response.json();
data.forEach(t => console.log(`${t.title} → ${t.summaryType}`));
```
***
## Get Structured Summaries [#get-structured-summaries]
Fetch JSON summaries (Q\&A sections) generated by a **structured** protocol template. Use this endpoint when the template has `summaryType: "structured"`.
```
GET /v1/summaries/structured
```
### Query Parameters [#query-parameters-1]
| Parameter | Type | Required | Default | Description |
| ------------ | ------- | -------- | ------- | --------------------------------- |
| `protocolId` | UUID | Yes | — | Protocol template ID |
| `recordId` | UUID | No | none | Filter to a specific meeting |
| `dateFrom` | string | No | none | Filter from this date (ISO 8601) |
| `dateTo` | string | No | none | Filter until this date (ISO 8601) |
| `limit` | integer | No | 20 | Max results (max: 50) |
| `offset` | integer | No | 0 | Skip results for pagination |
### Response [#response-3]
```json
{
"success": true,
"data": [
{
"recordId": "bd435e76-0eb1-432f-91a8-b4fed18744aa",
"createdAt": "2026-04-10T14:30:00Z",
"sections": [
{
"title": "Action Items",
"question": "What are the action items from this meeting?",
"answerType": "text",
"answers": [
{
"answer": "John will prepare the Q2 report by Friday",
"referenceIds": [12, 45]
}
]
}
]
}
],
"pagination": {
"total": 8,
"limit": 20,
"offset": 0
}
}
```
### Code Examples [#code-examples-3]
#### cURL [#curl-3]
```bash
curl -X GET "https://api.optiverse.ai/external-api/v1/summaries/structured?protocolId=b7c4c322-2fd4-474b-8937-b46ff465e0af&limit=10" \
-H "Authorization: Bearer optiuser_v1_your_key_here"
```
#### JavaScript [#javascript-3]
```javascript
const response = await fetch(
`${BASE_URL}/v1/summaries/structured?protocolId=${protocolId}&limit=10`,
{ headers: { "Authorization": `Bearer ${API_KEY}` } }
);
const { data, pagination } = await response.json();
console.log(`${pagination.total} summaries found`);
```
***
## Get Unstructured Summaries [#get-unstructured-summaries]
Fetch Markdown summaries generated by an **unstructured** protocol template. Use this endpoint when the template has `summaryType: "unstructured"`.
```
GET /v1/summaries/unstructured
```
### Query Parameters [#query-parameters-2]
| Parameter | Type | Required | Default | Description |
| ------------ | ------- | -------- | ------- | --------------------------------- |
| `protocolId` | UUID | Yes | — | Protocol template ID |
| `recordId` | UUID | No | none | Filter to a specific meeting |
| `dateFrom` | string | No | none | Filter from this date (ISO 8601) |
| `dateTo` | string | No | none | Filter until this date (ISO 8601) |
| `limit` | integer | No | 20 | Max results (max: 50) |
| `offset` | integer | No | 0 | Skip results for pagination |
### Response [#response-4]
```json
{
"success": true,
"data": [
{
"recordId": "bd435e76-0eb1-432f-91a8-b4fed18744aa",
"createdAt": "2026-04-10T14:30:00Z",
"summary": "## Meeting Summary\n\nThe team discussed the Q2 roadmap...\n\n### Next Steps\n- John: prepare hiring plan\n- Sarah: finalize designs"
}
],
"pagination": {
"total": 3,
"limit": 20,
"offset": 0
}
}
```
### Code Examples [#code-examples-4]
#### cURL [#curl-4]
```bash
curl -X GET "https://api.optiverse.ai/external-api/v1/summaries/unstructured?protocolId=eefc041d-58ea-4f8f-9119-fd4e9315ff0e" \
-H "Authorization: Bearer optiuser_v1_your_key_here"
```
#### Python [#python-2]
```python
response = requests.get(
f"{BASE_URL}/v1/summaries/unstructured",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"protocolId": "eefc041d-58ea-4f8f-9119-fd4e9315ff0e", "limit": 5}
)
for item in response.json()["data"]:
print(f"Meeting {item['recordId']}:")
print(item["summary"])
```
***
## Get Topics [#get-topics]
Retrieve topics discussed in meetings, grouped by meeting.
```
GET /v1/topics
```
### Query Parameters [#query-parameters-3]
| Parameter | Type | Required | Default | Description |
| ---------- | ------- | -------- | ------- | --------------------------------- |
| `recordId` | UUID | No | none | Filter to a specific meeting |
| `dateFrom` | string | No | none | Filter by meeting date (ISO 8601) |
| `dateTo` | string | No | none | Filter by meeting date (ISO 8601) |
| `limit` | integer | No | 300 | Max meetings to return (max: 300) |
### Response [#response-5]
```json
{
"success": true,
"data": [
{
"recordId": "bd435e76-0eb1-432f-91a8-b4fed18744aa",
"meetingTitle": "Q2 Planning",
"meetingDate": "2026-04-10T14:00:00Z",
"attendees": [{ "name": "John Doe", "email": "john@example.ai" }],
"topics": [
{ "topic": "Q2 Roadmap", "description": "Discussion about priorities and timeline" },
{ "topic": "Hiring Plan", "description": null }
]
}
],
"pagination": {
"totalMeetings": 12,
"totalTopics": 47
}
}
```
### Code Examples [#code-examples-5]
#### cURL [#curl-5]
```bash
curl -X GET "https://api.optiverse.ai/external-api/v1/topics?dateFrom=2026-01-01T00:00:00Z&limit=10" \
-H "Authorization: Bearer optiuser_v1_your_key_here"
```
#### JavaScript [#javascript-4]
```javascript
const response = await fetch(
`${BASE_URL}/v1/topics?recordId=${recordId}`,
{ headers: { "Authorization": `Bearer ${API_KEY}` } }
);
const { data } = await response.json();
data.forEach(meeting => {
console.log(`${meeting.meetingTitle}: ${meeting.topics.length} topics`);
});
```
***
## Search Transcripts [#search-transcripts]
Full-text keyword search (BM25) across all meeting transcripts you have access to. Returns matching sentences with speaker attribution.
```
GET /v1/search
```
### Query Parameters [#query-parameters-4]
| Parameter | Type | Required | Default | Description |
| ---------- | ------- | -------- | ------- | --------------------------------- |
| `query` | string | Yes | — | Search keyword or phrase |
| `dateFrom` | string | No | none | Filter by meeting date (ISO 8601) |
| `dateTo` | string | No | none | Filter by meeting date (ISO 8601) |
| `limit` | integer | No | 20 | Max results (max: 50) |
### Response [#response-6]
```json
{
"success": true,
"data": [
{
"recordId": "bd435e76-0eb1-432f-91a8-b4fed18744aa",
"speakerLabel": "John Doe",
"sentence": "We should migrate the electron app to a web-based architecture",
"sentenceIndex": 42
}
],
"pagination": {
"total": 2,
"limit": 20
}
}
```
### Code Examples [#code-examples-6]
#### cURL [#curl-6]
```bash
curl -X GET "https://api.optiverse.ai/external-api/v1/search?query=budget&limit=10" \
-H "Authorization: Bearer optiuser_v1_your_key_here"
```
#### Python [#python-3]
```python
response = requests.get(
f"{BASE_URL}/v1/search",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"query": "deadline", "dateFrom": "2026-01-01T00:00:00Z", "limit": 25}
)
results = response.json()
print(f"Found {results['pagination']['total']} matches")
for r in results["data"]:
print(f" [{r['speakerLabel']}] {r['sentence']}")
```
***
## OpenAPI Specification [#openapi-specification]
A machine-readable OpenAPI 3.1 spec is available for download:
```
https://api.optiverse.ai/external-api/openapi.json
```
You can use this to auto-generate typed client SDKs, import into Postman/Insomnia, or integrate with any OpenAPI-compatible tooling.
***
## Error Codes [#error-codes]
The API uses a simplified error code system. Each error response follows this format:
```json
{
"error": {
"code": "AUTH001",
"message": "Missing authorization header"
}
}
```
### Reference Table [#reference-table]
| Code | HTTP Status | Meaning |
| --------- | ----------- | ---------------------------------------------- |
| `AUTH001` | 401 | Missing `Authorization` header |
| `AUTH002` | 401 | Authentication failed (invalid or expired key) |
| `KEY001` | 409 | API key already exists for this user |
| `VAL001` | 400 | Validation failed (check your parameters) |
| `PERM001` | 404 | Resource not found or access denied |
| `SRV500` | 500 | Internal server error |
`PERM001` returns a 404 (not 403) by design. This prevents exposing whether a record exists when you don't have access to it.
***
## Rate Limits [#rate-limits]
We recommend keeping polling frequency to **one request per 2 minutes** or less. If you need higher throughput, contact [support@optiverse.ai](mailto:support@optiverse.ai).
Consider using [webhooks](/docs/integrations-and-workflows/api-and-webhooks/webhook-events) instead of polling to receive meeting data automatically when processing completes.
***
## Pagination [#pagination]
For endpoints that return lists, use `limit` and `offset` to paginate:
```javascript
let offset = 0;
const limit = 50;
let hasMore = true;
while (hasMore) {
const response = await fetch(
`${BASE_URL}/v1/list-records?limit=${limit}&offset=${offset}`,
{ headers: { "Authorization": `Bearer ${API_KEY}` } }
);
const { data, pagination } = await response.json();
// Process records
data.forEach(record => console.log(record.meetingTitle));
hasMore = pagination.hasMore;
offset += limit;
}
```
***
## Changelog [#changelog]
### v1.1.0 (May 2026) [#v110-may-2026]
* `GET /v1/protocol-templates` endpoint
* `GET /v1/summaries/structured` endpoint
* `GET /v1/summaries/unstructured` endpoint
* `GET /v1/topics` endpoint
* `GET /v1/search` endpoint
* OpenAPI 3.1 specification available at `/openapi.json`
### v1.0.0 (January 2025) [#v100-january-2025]
* Initial release with user-level API keys
* `GET /v1/list-records` endpoint
* `GET /v1/transcript/:recordId` endpoint
# Overview (/docs/integrations-and-workflows/api-and-webhooks)
The Optiverse User API gives you programmatic access to your meeting records, transcripts, summaries, and more.
Full API documentation: authentication, endpoints, parameters, response formats, and code examples.
Real-time notifications when meetings are processed. Coming soon.
# Webhook Events (/docs/integrations-and-workflows/api-and-webhooks/webhook-events)
Optiverse can send meeting data to your own HTTP endpoints (webhooks) whenever a meeting finishes processing. This is ideal for connecting Optiverse to workflow automation tools like **n8n**, **Make**, or **Zapier**, or for pushing data directly to your own backend.
## How It Works [#how-it-works]
1. You create one or more webhook configurations in **Settings → Integrations → n8n Webhooks**.
2. Each webhook points to an HTTPS endpoint (e.g. your n8n webhook URL).
3. When a meeting ends and processing completes, Optiverse sends a `POST` request to your URL with the meeting data you selected.
You can configure multiple webhooks with different data selections, protocols, and custom metadata — each fires independently.
***
## Trigger Modes [#trigger-modes]
Each webhook supports two trigger modes:
| Mode | Description |
| ------------- | ---------------------------------------------------------------------------------------------------------- |
| **Automatic** | Fires automatically after every meeting finishes processing. No manual action required. |
| **Manual** | Only fires when you explicitly trigger it from the meeting summary screen. Useful for selective workflows. |
You can always trigger any webhook manually, regardless of the automatic setting.
***
## Payload Format [#payload-format]
Webhooks deliver a `POST` request with a JSON body. The exact fields included depend on your webhook configuration.
### Full Payload Example [#full-payload-example]
```json
{
"timestamp": "2026-05-19T14:30:00.000Z",
"userId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"recordId": "54e7e4e4-4417-4662-90db-18456f71ecbb",
"meetingTitle": "Q2 Planning Session",
"eventStart": "2026-05-19T14:00:00.000Z",
"participants": ["john@example.ai", "jane@example.ai"],
"organizer": "john@example.ai",
"message": "The team discussed the Q2 roadmap and assigned action items...",
"summary": {
"sections": [
{
"question": "What are the action items?",
"answers": ["John will prepare the Q2 report by Friday", "Jane will finalize the designs"]
}
]
},
"transcript": "[John Doe]:\nLet's start with the roadmap discussion...\n\n[Jane Smith]:\nI think we should prioritize...",
"shareUrl": "https://app.optiverse.ai/share/abc123",
"phoneNumber": "+4930123456"
}
```
### Configurable Data Fields [#configurable-data-fields]
You choose which fields to include for each webhook:
| Field | Key | Description |
| ------------- | -------------------- | ------------------------------------------------------------ |
| Meeting Title | `meetingTitle` | The calendar event title |
| Date & Time | `eventStart` | When the meeting occurred (ISO 8601) |
| Attendees | `participants` | Array of participant email addresses |
| Organizer | `organizer` | Email of the meeting organizer |
| Summary | `message`, `summary` | AI-generated summary (plain text and/or structured sections) |
| Transcript | `transcript` | Full meeting transcript |
| Phone Number | `phoneNumber` | For Aircall recordings only |
Fields that are always included regardless of configuration:
* `timestamp` — when the webhook was sent
* `userId` — your user ID
* `recordId` — unique meeting record identifier
* `shareUrl` — sharing link (if available)
***
## Custom Properties [#custom-properties]
You can attach static key-value pairs to any webhook. These are merged into the payload, which is useful for:
* Routing logic in n8n (e.g. `"team": "sales"`)
* Identifying the source in multi-tenant setups
* Passing metadata your workflow needs
```json
{
"timestamp": "2026-05-19T14:30:00.000Z",
"recordId": "...",
"meetingTitle": "...",
"team": "sales",
"priority": "high"
}
```
***
## Custom HTTP Headers [#custom-http-headers]
You can add custom HTTP headers to each webhook request. This is useful for:
* Authentication tokens expected by your endpoint
* Routing headers for API gateways
* Custom identifiers
For security, certain headers are blocked (e.g. `Authorization`, `Cookie`, `Host`, proxy headers). The `Content-Type: application/json` header is always set automatically.
***
## Summary Protocol Override [#summary-protocol-override]
By default, webhooks include the summary generated by the meeting's default protocol. You can optionally select a specific protocol template per webhook — for example, using a "CRM Update" protocol that extracts just the fields your CRM needs.
This means you can have multiple webhooks for the same meeting, each delivering a differently structured summary.
***
## URL Requirements [#url-requirements]
Webhook URLs must currently follow the n8n webhook URL pattern:
```
https://your-instance.app.n8n.cloud/webhook/your-webhook-id
https://your-instance.app.n8n.cloud/webhook-test/your-webhook-id
```
Self-hosted n8n instances are supported as long as the URL matches the pattern `https:///webhook/` or `https:///webhook-test/`.
Webhook support is currently limited to n8n-compatible URLs. Support for arbitrary HTTPS endpoints (Make, Zapier, custom backends) is on the roadmap.
***
## Setting Up a Webhook [#setting-up-a-webhook]
1. Go to **Settings → Integrations** in Optiverse.
2. In the **n8n Webhooks** section, click **Add Webhook**.
3. Enter a name, your n8n webhook URL, and optionally a description.
4. Choose whether to trigger automatically or manually.
5. Expand **Data to Include** to select which fields to send.
6. Optionally configure a custom summary protocol, custom properties, or HTTP headers.
7. Click **Save**.
Your webhook is now active and will fire based on your trigger configuration.
***
## Example: n8n Workflow [#example-n8n-workflow]
A typical n8n workflow connected to Optiverse:
1. **Webhook trigger node** — receives the POST from Optiverse
2. **IF node** — filters by meeting title or attendees
3. **Action nodes** — send to Slack, update a CRM, create a task in Notion, etc.
```
Optiverse Meeting → Webhook POST → n8n → Slack / CRM / Email / Notion
```
***
## Execution Status [#execution-status]
Each webhook tracks its last execution status, which you can see in the integrations dashboard:
* **Last triggered at** — timestamp of the most recent delivery
* **Last meeting** — title of the meeting that triggered it
* **Status** — `Success` or `Error` with the error message
***
## Next Steps [#next-steps]
* [API Reference](/api-reference) — use the REST API alongside webhooks for a complete integration
# Automation Platforms (/docs/integrations-and-workflows/automation-platforms)
Go beyond native integrations. Build powerful custom workflows that trigger based on meeting events.
Connect Optiverse to 5000+ apps with no code.
Build advanced agentic workflows with downloadable templates.
# n8n Integration (/docs/integrations-and-workflows/automation-platforms/n8n)
Connect your Optiverse meetings to n8n to automate everything that happens after a call. Push summaries to your CRM, draft follow-up emails, create tasks, sync with Slack, or anything else n8n can reach. This guide walks you through every screen on both sides.
## What You'll Build [#what-youll-build]
By the end of this guide you'll have:
* A **webhook trigger workflow** in n8n that's ready to receive meeting data
* A **connected webhook** in Optiverse that fires automatically after every meeting (or manually, on demand)
* A **secure handshake** between the two so only your Optiverse instance can trigger your workflow
* The **n8n quick-access shortcut** pinned to every meeting view so you can push to any workflow in one click
## Before You Start [#before-you-start]
You'll need three things:
1. An Optiverse account with permission to manage integrations ([Settings → Integrations](https://app.optiverse.ai/settings/integrations))
2. An n8n instance, either [n8n Cloud](https://n8n.io) (sign up in two minutes) or a self-hosted instance. The setup is identical for both.
3. About 10 minutes
***
## Part 1: Set Up the Webhook in n8n [#part-1-set-up-the-webhook-in-n8n]
We start on the n8n side because Optiverse needs a destination URL to send meeting data to. You'll create a workflow that listens for that data.
### Step 1.1: Create a new workflow [#step-11-create-a-new-workflow]
Open your n8n instance and create a new workflow. You'll see an empty canvas with an **Add first step...** button in the middle.
### Step 1.2: Add a Webhook trigger [#step-12-add-a-webhook-trigger]
Click **Add first step...** and search for "webhook" in the trigger picker. Pick the very first result: **Webhook** ("Starts the workflow when a webhook is called").
Don't pick Webflow, Webmetic, or Respond to Webhook. They look similar but do different things. You want the plain **Webhook** trigger.
### Step 1.3: Configure the webhook node [#step-13-configure-the-webhook-node]
The Webhook node opens with two tabs at the top: **Test URL** and **Production URL**. Switch to **Production URL**. This is the one you'll paste into Optiverse.
A few things to notice on this screen:
| Setting | What to do |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------- |
| **HTTP Method** | Leave as POST for Optiverse (Optiverse always sends POST) |
| **Path** | n8n auto-generates a 32-character random path. Keep it as-is. We'll explain why in the security section below. |
| **Authentication** | Leave as None. We'll add a custom-property check from the Optiverse side instead, which is simpler and works the same way. |
| **Respond** | Immediately is fine. Optiverse doesn't wait for a response. |
**Copy the Production URL** at the top. You'll paste it into Optiverse in Part 2.
Make sure you copy the **Production URL**, not the Test URL. The Production URL only works once the workflow is published.
### Step 1.4: Publish the workflow [#step-14-publish-the-workflow]
Click **Publish** in the top-right corner. n8n auto-fills a version name (e.g., Version 20c22867). You can leave it as-is or add a description like "Initial Optiverse webhook listener."
The Production URL only receives traffic once the workflow is published. If you skip this step, Optiverse will send data to a URL that nothing's listening on.
That's it for the n8n side. You now have a live endpoint waiting for meeting data. Time to point Optiverse at it.
***
## Part 2: Connect Optiverse to n8n [#part-2-connect-optiverse-to-n8n]
### Step 2.1: Navigate to Integrations [#step-21-navigate-to-integrations]
1. Go to [app.optiverse.ai](https://app.optiverse.ai) and log in
2. In the left sidebar, click **Settings** (the gear icon)
3. Under User Settings, click **Integrations**
4. Scroll down to the **Webhooks & Automation** section
5. Click the **Webhooks** card
A panel slides in from the right showing the current Webhooks status, any existing webhooks you've created, and an **+ Add** button.
### Step 2.2: Enable the meeting quick-access shortcut (recommended) [#step-22-enable-the-meeting-quick-access-shortcut-recommended]
At the top of the Webhooks panel you'll see a toggle: **Show in quick access**. This puts a small n8n icon at the top of every meeting recording, so you can fire any of your webhook workflows on demand without leaving the meeting view.
Here's what that looks like inside a meeting once enabled. Notice the small n8n icon near the top-right of the meeting toolbar:
Clicking that icon opens the **Push to n8n** modal, where you can pick which workflow(s) to trigger and preview the exact summary that will be sent:
### Step 2.3: Add a new webhook [#step-23-add-a-new-webhook]
In the Webhooks panel, click **+ Add**. The Create Webhook dialog opens.
#### Webhook URL [#webhook-url]
Paste the **Production URL** you copied from n8n in Step 1.3. It'll look something like:
```
https://your-instance.n8n.cloud/webhook/b82254a9-338d-4a65-ad61-bebaedb8b572
```
Keep n8n's default 32-character random path. Do not replace it with something readable like `/webhook/meeting-summarizer`. The random path acts as a shared secret. Anything readable is easy to guess, exposed to the internet, and can be abused.
#### Trigger automatically after meetings [#trigger-automatically-after-meetings]
A toggle that controls when Optiverse fires this webhook:
| Setting | Behavior |
| ------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **On** | Fires automatically every time a meeting ends. Use for "always-on" automations like syncing every meeting to your CRM. |
| **Off** | Fires only when you click the n8n icon from inside a meeting (the quick-access flow). Use for selective actions where you want to review first. |
You can always fire an auto-trigger webhook manually from the quick-access menu too. The toggle only controls the automatic side.
#### Data to Include [#data-to-include]
Seven toggles control what's in the payload sent to n8n:
| Field | Description |
| ----------------- | ------------------------------------- |
| **Meeting Title** | The name of the meeting |
| **Date & Time** | When the meeting occurred |
| **Attendees** | List of participants |
| **Organizer** | Who organized the meeting |
| **Summary** | The AI-generated meeting summary |
| **Transcript** | The full conversation transcript |
| **Phone Number** | Phone numbers detected in the meeting |
All seven are on by default. Disable any you don't need to keep payloads small (e.g., turn off Transcript if your workflow only uses the summary).
#### Summary Protocol [#summary-protocol]
By default, the webhook ships the meeting's default summary. If you have custom summary protocols defined in Optiverse, toggle **Use custom protocol** and pick the specific one you want for this webhook. Useful when one workflow wants a sales-style summary and another wants a support-style one.
#### Custom Properties (recommended for security) [#custom-properties-recommended-for-security]
This is where you add a shared secret so your n8n workflow can verify that requests really came from Optiverse.
1. Click **+ Add Property**
2. Set the **Key** to something like `key`, `secret`, or `x-optiverse-token`
3. Set the **Value** to a long random string. Generate one however you like (1Password, a CLI, or `openssl rand -hex 32`). Treat this exactly like a password.
Then, in your n8n workflow, add an **IF node** right after the Webhook trigger that checks whether `{{$json.body.key}}` matches your secret. Reject anything that doesn't match.
#### HTTP Headers (optional, advanced) [#http-headers-optional-advanced]
Same idea as Custom Properties, but the values go in the HTTP request headers instead of the body. Useful if your n8n instance is behind a reverse proxy that filters by header. Most users can skip this.
#### Save [#save]
Click **Save** at the bottom. The webhook is now live.
***
## Part 3: Test It End-to-End [#part-3-test-it-end-to-end]
### From a meeting (quick-access flow) [#from-a-meeting-quick-access-flow]
1. Open any meeting recording
2. Click the small **n8n icon** in the top action bar
3. In the Push to n8n modal, check the webhook(s) you want to fire
4. (Optional) Edit the summary preview before sending
5. Click **Trigger N webhook(s)**
The modal also shows the last time each webhook was triggered, so you can see at a glance whether your automation is healthy.
### From an automatic trigger [#from-an-automatic-trigger]
If you left **Trigger automatically after meetings** on, just end a meeting. The webhook fires within a few seconds. Open your n8n workflow's **Executions** tab to confirm the payload arrived and inspect what was sent.
***
## Security Best Practices [#security-best-practices]
| Practice | Why |
| -------------------------------------------- | ------------------------------------------------------------------------------- |
| Keep n8n's default 32-character path | Don't simplify it to something memorable. It acts as a first layer of security. |
| Add a Custom Property as a shared secret | Verify it with an IF node in n8n. This is the single most important step. |
| Rotate the secret if you suspect it leaked | Update both sides (Optiverse and n8n) in lockstep. |
| Disable unused webhooks rather than deleting | You'll keep the execution history for debugging. |
| Don't put secrets in the URL itself | URLs end up in n8n logs, browser histories, and proxy access logs. |
***
## Troubleshooting [#troubleshooting]
### Nothing happens when I end a meeting [#nothing-happens-when-i-end-a-meeting]
Make sure the workflow is **published** in n8n (Step 1.4) and that **Trigger automatically after meetings** is on in Optiverse. Check the Executions tab in n8n. If there's nothing there, Optiverse isn't reaching n8n (double-check the URL).
### n8n receives the request but my IF node rejects it [#n8n-receives-the-request-but-my-if-node-rejects-it]
The key name in your Custom Property must match exactly what your IF node checks. Custom Properties land in `$json.body.`. Open the execution in n8n and inspect the actual payload to confirm the path.
### The summary is missing fields I expected [#the-summary-is-missing-fields-i-expected]
Go back to Settings → Integrations → Webhooks → your webhook and check the **Data to Include** toggles. Save again after changing them. Existing meetings won't backfill, but new meetings will use the new config.
### My self-hosted n8n isn't receiving anything [#my-self-hosted-n8n-isnt-receiving-anything]
Optiverse needs a publicly reachable URL. If you're running n8n on localhost or a private network, you'll need a tunnel (Cloudflare Tunnel, ngrok, Tailscale Funnel) or a proper public deployment.
***
## What to Build Next [#what-to-build-next]
A few starter workflows that use the same webhook trigger you just built:
* **Auto-update CRM deals**: Push meeting summary, action items, and next steps onto the matching deal record
* **Auto-draft personalized follow-up**: Generate a tailored follow-up email in Gmail or Outlook, ready for you to review and send
* **Slack digest**: Post a structured summary to a team channel after every external meeting
* **Task creator**: Turn action items into Asana, Linear, or Jira tickets assigned to the right person
Each of these only requires different downstream nodes in n8n. The webhook trigger stays the same.
# Zapier Integration (/docs/integrations-and-workflows/automation-platforms/zapier)
Optiverse has a native Zapier integration that fires a trigger every time a meeting ends. This lets you route meeting data (summaries, transcripts, action items, attendees) into any of Zapier's 8,000+ connected apps without writing code.
## How the Integration Works [#how-the-integration-works]
Unlike generic webhook setups, Optiverse appears as a dedicated app inside Zapier's trigger picker. The connection is authenticated with an API key you generate in Optiverse. Once connected, Zapier receives a payload from Optiverse each time a meeting finishes processing, and you build whatever action steps you need on the Zapier side.
The flow is straightforward:
1. A meeting ends and Optiverse processes the recording
2. Optiverse fires the trigger event to Zapier with the meeting data
3. Zapier runs your configured action steps (send email, update CRM, post to Slack, create task, etc.)
Because Optiverse sends structured data fields (title, date, attendees, summary, transcript), you can map each field directly to inputs in downstream Zapier actions. No parsing or formatting needed.
## Setting Up the Connection [#setting-up-the-connection]
### Step 1: Generate Your API Key in Optiverse [#step-1-generate-your-api-key-in-optiverse]
1. Go to [Settings > Integrations > Zapier](https://app.optiverse.ai/settings/integrations?integration=zapier)
2. Click **Generate API Key**
3. Copy the key. You'll paste it into Zapier in the next step.
Treat the API key like a password. Anyone with it can receive your meeting data. If you suspect it's been compromised, generate a new one (which invalidates the old key).
### Step 2: Connect Optiverse in Zapier [#step-2-connect-optiverse-in-zapier]
1. Log in to [Zapier](https://zapier.com) and create a new Zap
2. For the trigger, search for **Optiverse** in the app picker
3. Select the trigger event (meeting ended)
4. When prompted to connect your Optiverse account, paste the API key you generated
5. Test the trigger. Zapier will pull in a sample meeting payload so you can see the available fields.
If Optiverse doesn't appear in the Zapier app picker, use the Zapier invite link shown on your [Optiverse integration page](https://app.optiverse.ai/settings/integrations?integration=zapier) to add Optiverse to your available triggers.
### Step 3: Build Your Action Steps [#step-3-build-your-action-steps]
Once the trigger test succeeds, add one or more action steps. You have access to all the fields Optiverse sends:
| Field | What It Contains |
| ----------------- | --------------------------------------------------------------- |
| **Meeting Title** | The name of the meeting from your calendar |
| **Date & Time** | When the meeting took place |
| **Attendees** | List of participants |
| **Organizer** | Who scheduled the meeting |
| **Summary** | The AI-generated meeting summary (follows your active protocol) |
| **Transcript** | The full conversation transcript |
| **Action Items** | Tasks and follow-ups detected during the meeting |
Map these fields to inputs in your downstream actions. For example, map "Summary" to the body of a Gmail draft, or "Action Items" to a task description in Asana.
## What You Can Automate [#what-you-can-automate]
Here are practical workflows teams commonly build:
| Workflow | Trigger → Action |
| -------------------------- | ------------------------------------------------------------- |
| Auto-send summary to email | Meeting ends → Gmail sends summary to attendees |
| CRM deal update | Meeting ends → HubSpot/Salesforce updates deal notes |
| Slack digest | Meeting ends → Slack posts summary in a team channel |
| Task creation | Meeting ends → Asana/Jira creates tasks from action items |
| Spreadsheet logging | Meeting ends → Google Sheets adds a row with meeting metadata |
| Document generation | Meeting ends → Google Docs creates a formatted meeting report |
## Combining with Protocols [#combining-with-protocols]
The summary field Zapier receives follows whichever [protocol](/docs/protocols-and-summaries/what-are-protocols) is active for that meeting. This means you can control exactly what data reaches your automations by configuring the right protocol.
For example, if you use a sales discovery protocol (like MEDDIC), the summary field will contain structured fields like budget, timeline, decision criteria, and next steps. Your Zapier actions can then map those directly into CRM fields.
## Zapier vs. n8n [#zapier-vs-n8n]
Both platforms receive Optiverse meeting data and automate downstream actions. Choose based on your needs:
| | Zapier | n8n |
| ----------------- | ------------------------------------------- | -------------------------------------- |
| **Best for** | Quick no-code automations | Complex multi-step logic, self-hosted |
| **Setup** | API key, works in minutes | Webhook URL, slightly more config |
| **Pricing** | Free tier (limited tasks), paid plans scale | Free self-hosted, paid cloud option |
| **Custom logic** | Paths and filters | Full code nodes, branching, loops |
| **App ecosystem** | 8,000+ apps | 400+ nodes plus HTTP/code for anything |
You can use both simultaneously. For example, use Zapier for simple "send summary to Slack" automations and n8n for complex workflows that require conditional logic or self-hosting.
## Availability [#availability]
The Zapier integration is available on the **Pro plan** and above. Check [Pricing](https://app.optiverse.ai/PRICING) for details.
# Aircall Integration (/docs/integrations-and-workflows/communication/aircall)
Optiverse connects to Aircall to bring the same AI transcription, structured summaries, and CRM automation to your phone calls that you already get for video meetings. Every call recorded through Aircall is automatically sent to Optiverse, transcribed, and processed with your chosen protocol template. The result is a fully structured summary following your custom format, ready to push to your CRM.
This turns every sales call, support conversation, and client check-in into searchable, structured data, even when there's no video involved.
***
## How It Works [#how-it-works]
When you connect Aircall to Optiverse, the flow is fully automatic:
1. **A call is recorded** on Aircall (inbound or outbound)
2. **The audio is sent** to Optiverse automatically
3. **Optiverse transcribes** the call and identifies speakers
4. **Your chosen protocol** generates a structured summary
5. **The summary appears** in Optiverse as a recording (audio only, no video)
6. **CRM automations fire** just like they would for a video meeting
From this point, the recording behaves exactly like any other meeting in Optiverse: you can view the transcript, see the protocol summary, push notes to your CRM, ask OptiAgent questions about it, or include it in multi-meeting searches.
***
## Connecting Aircall [#connecting-aircall]
1. Go to **Settings > Integrations**
2. Find **Aircall** under the VoIP category
3. Click **Connect**
4. Authenticate with your Aircall account
***
## Integration Settings [#integration-settings]
After connecting, you configure three options:
### Show in Quick Access [#show-in-quick-access]
Enables the Aircall icon on recording pages that originated from Aircall, giving you quick visual identification of which recordings came from phone calls versus video meetings.
### Default Protocol [#default-protocol]
Choose which protocol template Optiverse should use when processing Aircall recordings. This is a dedicated protocol selector for calls coming from Aircall, independent from your general default protocol.
This means you can use a different summary structure for phone calls than for video meetings. For example:
* Video meetings might use a "Team Standup" or "Client Discovery" protocol
* Aircall recordings might use a "BANT for Sales" or "Call Outcome Summary" protocol tailored to short phone conversations
The protocol you select here is applied automatically to every call that comes in from Aircall. You can still switch protocols on individual recordings afterward if needed.
### Automatic Call Sync [#automatic-call-sync]
When enabled, every recorded call from Aircall is automatically pushed to Optiverse without any manual action. Turn this off if you only want to import specific calls manually.
### Manual Call Upload [#manual-call-upload]
If automatic sync is disabled, or if you have older recordings you want to import, use the **Upload** button to manually send specific Aircall recordings to Optiverse for processing.
***
## What You Get from Aircall Recordings [#what-you-get-from-aircall-recordings]
Aircall recordings are processed like any other meeting in Optiverse, with one difference: there's no video, only audio. Everything else works the same:
| Feature | Available |
| --------------------------------------------------- | --------- |
| Full transcript with speaker labels | Yes |
| Protocol-based structured summary | Yes |
| OptiAgent Q\&A on the recording | Yes |
| Push to CRM (HubSpot, Salesforce, Pipedrive, Attio) | Yes |
| Include in multi-meeting search | Yes |
| Export as PDF/Word | Yes |
| Share with teammates | Yes |
| Action items extraction | Yes |
| Speaker statistics | Yes |
***
## Filtering Aircall Recordings [#filtering-aircall-recordings]
You can filter your meeting library to show only recordings that originated from Aircall. This is useful when you want to review phone call performance separately from video meetings, or when building reports specifically about your calling activity.
***
## Aircall + CRM: The Dual Integration [#aircall--crm-the-dual-integration]
The Aircall integration becomes especially powerful when paired with a CRM integration. This section explains how the combination works to solve a problem that most standalone tools cannot.
### The Phone Number Challenge [#the-phone-number-challenge]
With video meetings, Optiverse matches attendees to CRM records using **email addresses** from calendar invites. This works seamlessly because emails are the universal identifier across meeting platforms and CRMs.
Phone calls are different. Aircall provides a **phone number**, not an email address. Without a bridge, there's no way to automatically associate a call recording with the right CRM contact.
### How Optiverse Solves It [#how-optiverse-solves-it]
Optiverse acts as the intelligent middle layer between Aircall and your CRM. When a call comes in from Aircall:
1. **Aircall sends the recording** to Optiverse along with the associated phone number
2. **Optiverse looks up the phone number** in your connected CRM (e.g., HubSpot)
3. **The matching contact is found**, along with their associated deals and companies
4. **The structured summary** (following your chosen protocol) is pushed to the right CRM records
This means your Aircall phone calls end up logged under the correct contacts, deals, and companies in your CRM, with a properly structured summary, not just a raw audio link.
### Aircall + HubSpot [#aircall--hubspot]
When both Aircall and HubSpot are connected to Optiverse:
* Phone calls are automatically transcribed and summarized with your Aircall protocol
* The phone number from the call is matched to HubSpot contacts
* The structured summary is pushed to the matched contact, their associated deals, and their companies
* All HubSpot automation settings apply (push to contacts, push to deals, push to companies)
* New contacts can be created if the phone number matches no existing record
This gives sales teams a complete CRM logging workflow for their phone activity. No more manually writing up call notes or copy-pasting into HubSpot after every dial.
**The same principle applies to Salesforce, Pipedrive, and Attio.** Any CRM integration you have connected will receive Aircall recording data through the same phone-number-to-CRM-record matching.
The phone number association works automatically. Optiverse searches your connected CRM for the phone number that Aircall provides. If a match is found, all your existing CRM automation preferences apply to the call recording.
***
## Use Cases [#use-cases]
### Sales Teams Running Outbound Calls [#sales-teams-running-outbound-calls]
Every outbound dial through Aircall gets transcribed, summarized with your sales protocol (BANT, MEDDPICC, or any custom template), and pushed to the right deal in your CRM. Reps never need to write up call notes manually.
### Customer Success Check-ins [#customer-success-check-ins]
Short phone check-ins with customers get the same structured documentation as full meetings. Customer sentiment, open issues, and next steps are captured and logged to the account record automatically.
### Support Escalations [#support-escalations]
When a support call needs to be escalated or reviewed, having a full transcript with a structured summary (issue, resolution steps, outcome) makes handoffs seamless. The summary lives in the CRM for full team visibility.
### Inside Sales Qualifying Calls [#inside-sales-qualifying-calls]
High-volume dialing teams can process every call through a qualification protocol. Budget, authority, need, and timeline get extracted automatically and flow into CRM fields for reporting and pipeline management.
### Account Executives Doing Discovery [#account-executives-doing-discovery]
Discovery calls often happen over the phone. With Aircall connected, every piece of qualification data discussed is captured, summarized per your protocol structure, and associated with the right opportunity.
***
## Example Workflows [#example-workflows]
| Scenario | What happens automatically |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| Outbound cold call via Aircall | Call recorded > transcribed > BANT protocol applied > pushed to HubSpot lead |
| Inbound customer support call | Call recorded > transcribed > Support Summary protocol applied > logged under contact and company |
| Account check-in call | Call recorded > transcribed > default protocol applied > pushed to deal with latest updates |
| Discovery call with new prospect | Call recorded > transcribed > MEDDPICC protocol applied > new contact created in CRM > summary pushed to new deal |
***
## Troubleshooting [#troubleshooting]
| Issue | Solution |
| -------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Calls not appearing in Optiverse | Check that **Automatic Call Sync** is enabled in the Aircall integration settings |
| Wrong protocol being applied | Verify the **Default Protocol** selector in the Aircall settings is set to your desired template |
| CRM not receiving call summaries | Ensure your CRM integration is connected and automation preferences are enabled |
| Phone number not matching CRM contacts | Verify the phone number format in your CRM matches what Aircall provides (including country code) |
| Older calls missing | Use the **Manual Call Upload** button to import historical Aircall recordings |
Phone number matching depends on consistent formatting. If your CRM stores numbers as "+41791234567" but Aircall provides "0791234567", the match may fail. Standardize phone number formats in your CRM for best results.
# Gmail & Outlook (/docs/integrations-and-workflows/communication/gmail-outlook)
Configure automatic email summaries sent to meeting participants, and use OptiAgent to draft follow-up emails.
Content for this page is being written. Check back soon for the complete guide.
# Communication Integrations (/docs/integrations-and-workflows/communication)
Send meeting recaps via email, push summaries to Slack channels, and integrate with VOIP platforms.
Join Teams meetings, push summaries to channels, and troubleshoot common join restrictions.
Automatic email recaps and draft follow-ups.
Post meeting summaries to Slack channels.
Transcribe and summarize phone calls with custom protocols, and automatically push structured notes to your CRM via phone number matching.
# Microsoft Teams Integration (/docs/integrations-and-workflows/communication/microsoft-teams)
Optiverse integrates with Microsoft Teams in three distinct ways: meeting joining, output pushing, and data access through MCP. Each serves a different purpose and can be configured independently.
If the assistant joins some Teams meetings but fails on others, the cause is often a Teams admin policy difference between organizers. See [Troubleshoot Microsoft Teams Join Issues](/docs/integrations-and-workflows/communication/teams-join-troubleshooting).
## Three Integration Layers [#three-integration-layers]
| Layer | Purpose | Setup Required |
| ------------------------ | ---------------------------------- | ------------------------------------ |
| Calendar/Meeting joining | Optiverse bot joins Teams meetings | None (works via calendar connection) |
| Output integration | Push summaries to Teams channels | Connect in Settings |
| MCP integration | OptiAgent reads channel data | Enable in MCP settings |
## 1. Calendar and Meeting Joining [#1-calendar-and-meeting-joining]
Optiverse joins your Teams meetings automatically through your calendar connection. No additional Teams-specific setup is needed.
When the bot joins a Teams meeting:
* It appears as a participant in the meeting
* It announces itself in the Teams meeting chat
* It records and transcribes the conversation
Meeting joining works by default once you've connected your calendar. The bot reads your calendar events and joins scheduled Teams meetings automatically.
### When Meeting Joining Fails For Only Some Users [#when-meeting-joining-fails-for-only-some-users]
If one organizer can use the assistant successfully while another cannot, the issue is usually not the calendar connection. It is more often caused by Teams admin settings that differ across users or meeting policies.
The most common fix is for your IT admin to verify that **Anonymous users can join a meeting unverified** is enabled at the global level and on any custom meeting policy assigned to affected organizers.
Privacy-sensitive teams can still keep the assistant in the lobby until it is admitted. See [Troubleshoot Microsoft Teams Join Issues](/docs/integrations-and-workflows/communication/teams-join-troubleshooting) for the full checklist.
\[Screenshot: Optiverse bot announcement in a Teams meeting chat]
## 2. Pushing Summaries to Teams Channels [#2-pushing-summaries-to-teams-channels]
Send meeting summaries and protocols directly to any Teams channel your account has access to.
### How to Push a Summary [#how-to-push-a-summary]
1. Open the recording page for a processed meeting
2. Click the **Teams icon**
3. Browse or search your available channels
4. Select the target channel
5. Click **Push**
The integration fetches all channels from your Teams workspace, letting you choose exactly where each summary should go.
\[Screenshot: Teams channel selection dialog on the recording page]
You can push the same meeting summary to multiple channels by repeating the push process.
## 3. MCP Integration (Knowledge Hub) [#3-mcp-integration-knowledge-hub]
When enabled, the Teams MCP integration gives OptiAgent read access to Teams channel data. This allows OptiAgent to combine channel messages with your meeting data for richer, more contextual answers.
### What OptiAgent Can Access [#what-optiagent-can-access]
* **Channel messages**, public channel conversations in your Teams workspace
* **Channel files**, shared content within channels
### What OptiAgent Cannot Access [#what-optiagent-cannot-access]
* Private individual chats
* Group chats
* Direct messages
The Teams MCP integration is limited to **channels only**. Private and group chats are never accessible to OptiAgent, ensuring personal conversations remain private.
### Example Queries [#example-queries]
* "What was discussed in the #sales channel this week?"
* "Combine my meeting notes with the latest channel updates on Project X"
* "Are there any messages in the engineering channel about the API changes we discussed?"
\[Screenshot: OptiAgent answering a query that combines Teams channel data with meeting insights]
## Setup [#setup]
### Output Integration [#output-integration]
1. Go to **Settings > Integrations > Microsoft Teams**
2. Click **Connect**
3. Authenticate with your Microsoft account
4. Grant the necessary permissions for channel access
Teams asks for permissions that many companies reserve for admins. If sign-in shows **Need admin approval**, or you land back on Optiverse still disconnected, see [Microsoft Admin Approval](/docs/integrations-and-workflows/microsoft-admin-consent) to generate the link your admin needs.
### MCP Integration [#mcp-integration]
1. Go to **Settings > MCP / Knowledge Hub**
2. Find Microsoft Teams in the available integrations
3. Toggle it on
4. Select which tools to enable (read channel messages, list channels, etc.)
\[Screenshot: MCP settings page showing Teams integration toggles]
# Slack Integration (/docs/integrations-and-workflows/communication/slack)
Keep your team informed by automatically posting meeting recaps to designated Slack channels.
Content for this page is being written. Check back soon for the complete guide.
# Troubleshoot Microsoft Teams Join Issues (/docs/integrations-and-workflows/communication/teams-join-troubleshooting)
If the Optiverse assistant joins some Microsoft Teams meetings successfully but fails on others, the issue is usually caused by Teams admin policy settings, not by an Optiverse outage.
This guide explains why that happens, how to preserve lobby-based approval for privacy, and what your IT admin should check to restore normal joining behavior.
## When This Guide Applies [#when-this-guide-applies]
Use this guide if any of the following are true:
* The assistant joins one organizer's Teams meetings but not another's
* The assistant appears to hit a sign-in or anonymous access restriction
* Meeting options look correct, but the assistant still cannot join
* The issue started after a Microsoft change, policy rollout, or admin update
If you need a general explanation of how the assistant behaves in meetings, see [How the Assistant Works](/docs/how-recording-works/how-the-assistant-works).
## Short Answer [#short-answer]
Microsoft Teams controls meeting access at more than one level.
* **Tenant-wide admin settings** define the organization default
* **Per-user meeting policies** can override the default for specific organizers
* **Per-meeting options** only work within the limits set by the admin policy
That means a meeting organizer can set options that look correct, but the assistant may still be blocked if the assigned Teams policy does not allow anonymous participants to join.
## Why It Works For Some Meetings But Not Others [#why-it-works-for-some-meetings-but-not-others]
This pattern usually means different organizers in your company are using different Teams meeting policies.
For example:
* Organizer A uses the global default policy, which allows anonymous users to join unverified
* Organizer B has a custom policy that blocks anonymous users
* Result: the Optiverse assistant can join Organizer A's meetings, but fails on Organizer B's meetings
This is why the issue can feel random even though the root cause is policy-based and consistent.
## Privacy: You Do Not Need To Bypass The Lobby [#privacy-you-do-not-need-to-bypass-the-lobby]
Many teams worry that fixing this issue means letting the assistant enter meetings automatically. That is not required.
You can keep the assistant waiting in the Teams lobby until someone admits it.
The assistant does not need lobby bypass permission in order to work. A common enterprise setup is to allow anonymous users to join unverified while keeping "Who can bypass the lobby" restricted to people in your organization.
This setup preserves control for the meeting host while still allowing the assistant to request entry successfully.
## The Setting That Usually Fixes The Issue [#the-setting-that-usually-fixes-the-issue]
Your IT admin should check whether **"Anonymous users can join a meeting unverified"** is enabled:
* At the **global Teams meeting settings** level
* On any **custom meeting policy** assigned to affected organizers
If this setting is off in either place, the assistant may be blocked before it can wait in the lobby.
## IT Admin Checklist [#it-admin-checklist]
### 1. Check The Global Meeting Setting [#1-check-the-global-meeting-setting]
Go to the Microsoft Teams Admin Center and review the organization-wide meeting settings:
1. Open `https://admin.teams.microsoft.com/one-policy/settings/meeting`
2. Find the **Meeting join & lobby** section
3. Confirm that **Anonymous users can join a meeting unverified** is turned **On**
This is the default behavior used unless a custom meeting policy overrides it.
### 2. Check The Policy Assigned To Affected Organizers [#2-check-the-policy-assigned-to-affected-organizers]
Then confirm whether affected users have a custom policy:
1. Open **Teams Admin Center**
2. Go to **Users**
3. Select **Manage users**
4. Open the affected meeting organizer
5. Click the **Policies** tab
6. Review the **Meeting policy** row
If the organizer is assigned a custom meeting policy instead of **Global (Org-wide default)**, that custom policy must also have **Anonymous users can join a meeting unverified** turned **On**.
### 3. Keep Lobby Approval If Needed [#3-keep-lobby-approval-if-needed]
If your team wants full control over when the assistant enters, you can usually keep:
* **Who can bypass the lobby** = **People in my org**
With this setup, the assistant can reach the lobby and wait there until someone admits it.
## Why Per-Meeting Settings Are Not Enough [#why-per-meeting-settings-are-not-enough]
Teams meeting options shown to the organizer are not the highest level of control.
If the organizer changes a meeting option but the admin-level policy blocks anonymous participants, the policy wins. From the organizer's point of view, it can look like the assistant is broken even though Teams is enforcing a higher-level rule.
This is the main reason support teams see statements like:
* "It worked before"
* "We changed the meeting options and it still did not work"
* "Only some users are affected"
## How To Test After Changing The Settings [#how-to-test-after-changing-the-settings]
After your admin updates the relevant Teams settings:
1. Ask an affected organizer to schedule or reopen a Teams meeting
2. Send the assistant to the meeting
3. Confirm it appears in the lobby
4. Admit it manually
5. Verify that the assistant joins and posts its transparency message in the chat
If you miss the first attempt, you can resend the assistant from the [Calendar page](https://app.optiverse.ai/meetings-calendar). More detail is available in [How the Assistant Works](/docs/how-recording-works/how-the-assistant-works#what-if-you-missed-the-window).
## Common Misunderstandings [#common-misunderstandings]
### "We must allow the assistant to bypass the lobby" [#we-must-allow-the-assistant-to-bypass-the-lobby]
No. The assistant can work while still waiting for approval in the lobby.
### "The organizer already changed the meeting settings, so Teams is configured correctly" [#the-organizer-already-changed-the-meeting-settings-so-teams-is-configured-correctly]
Not necessarily. Tenant settings and assigned meeting policies can override what the organizer sees at the meeting level.
### "If some meetings work, Optiverse must be unstable" [#if-some-meetings-work-optiverse-must-be-unstable]
Usually not. Mixed success across organizers often points to different Teams policies assigned to different users.
### "It started after a Microsoft change, so Optiverse must have changed something" [#it-started-after-a-microsoft-change-so-optiverse-must-have-changed-something]
Not always. Teams behavior can change after Microsoft updates, admin policy edits, or policy reassignment. Rechecking the meeting policy is a good first step.
## When To Contact Optiverse Support [#when-to-contact-optiverse-support]
Contact support if:
* The required Teams settings are confirmed and the assistant still cannot reach the lobby
* The assistant joins but fails after being admitted
* You want help validating the Teams configuration with your IT admin
When contacting support, include:
* The affected organizer's email address
* Whether the issue affects all organizers or only some
* Whether the assistant reaches the lobby, shows a sign-in prompt, or never appears
* The exact Teams policy assigned to the affected user, if known
## Related Pages [#related-pages]
* [Microsoft Teams Integration](/docs/integrations-and-workflows/communication/microsoft-teams)
* [How the Assistant Works](/docs/how-recording-works/how-the-assistant-works)
# Attio Integration (/docs/integrations-and-workflows/crm/attio)
Optiverse integrates with Attio to automatically log meeting summaries to your contacts, deals, and people records, with the added flexibility of mapping structured protocol data directly to Attio's custom object structure. Combined with a powerful 31-tool MCP integration, Optiverse gives you bilateral access to your entire Attio workspace through natural conversation.
Attio's flexible, data-model-first approach to CRM pairs naturally with Optiverse's protocol system. Where other CRMs have rigid object structures, Attio lets you build custom objects and attributes. Optiverse's field-by-field mapping feeds structured meeting intelligence directly into those custom structures after every call.
***
## Part 1: Native Attio Integration [#part-1-native-attio-integration]
The native integration handles automatic data flow from Optiverse into Attio. Meeting summaries, new contacts, and structured protocol data push to your Attio records without manual work.
### Connecting Attio [#connecting-attio]
1. Go to **Settings > Integrations**
2. Find **Attio** under the CRM category
3. Click **Connect**
4. Authenticate with your Attio workspace in the popup window
5. Once connected, the status changes to **Connected and ready**
Each user connects their own Attio account. The integration respects Attio workspace permissions, so it only accesses records the authenticated user can view and edit.
***
### Automation Settings [#automation-settings]
After connecting, you configure four automation preferences that control what happens after every meeting.
#### Show in Quick Access [#show-in-quick-access]
Enables the Attio icon on every Meeting Recording page, next to the **Share** button. This lets you manually push the currently displayed meeting notes to any Attio deal at any time.
#### Add New Contacts to Attio from Optiverse [#add-new-contacts-to-attio-from-optiverse]
Optiverse reads attendee email addresses from your calendar invites. When this setting is enabled, if a meeting attendee does not already exist as a contact in Attio, Optiverse automatically creates a new person record for them.
#### Automatically Push Summaries to Associated Attio Contacts [#automatically-push-summaries-to-associated-attio-contacts]
After every meeting, Optiverse pushes the meeting summary as a note under the matched contact records in Attio. Matching is based on attendee email addresses from the calendar invite.
#### Automatically Push Summaries to Associated Attio Deals [#automatically-push-summaries-to-associated-attio-deals]
The meeting summary is also pushed to any open deals associated with the matched contacts. This keeps your deal timeline current with every customer conversation.
#### Automatically Map and Push Summaries to People [#automatically-map-and-push-summaries-to-people]
This option takes the integration a step further. Instead of just logging a note, Optiverse maps your protocol's structured output directly to attributes on the person record in Attio. Each section of your protocol can map to a specific Attio attribute, turning unstructured meeting conversations into structured data on your people records.
***
### Which Summary Gets Pushed? [#which-summary-gets-pushed]
The note that is automatically pushed to Attio is the output of your **default protocol**. Each user selects one protocol as their default on the [Protocols page](https://app.optiverse.ai/protocols), and that protocol generates the meeting summary that flows into Attio after every call.
If you want a different protocol's output pushed to a specific deal, use the manual push via the Attio Quick Access icon after switching to the desired protocol on the recording page.
***
### Custom Object and Attribute Mapping [#custom-object-and-attribute-mapping]
Attio's strength is its flexible data model. You define your own objects, attributes, and relationships. Optiverse maps directly into that structure.
When you enable the mapping options, each section of your protocol template can push its output to a specific Attio attribute on any object type:
* Protocol sections with **text** output map to text attributes
* Protocol sections with **number** output map to number attributes
* Protocol sections with **list** output map to multi-select or text attributes
* Protocol sections with **predefined options** map to select attributes
This means your meeting data doesn't just land as a blob of text in an activity note. It arrives as structured, queryable, reportable data inside Attio's native object model.
Attio's custom objects give you full flexibility. If you've built custom objects for tracking deal qualifications, customer health scores, or project milestones, Optiverse can push structured data directly into those objects after every meeting.
***
### How Auto-Matching Works [#how-auto-matching-works]
The integration uses a straightforward matching process:
1. **Optiverse reads attendee emails** from your calendar invite
2. **Emails are matched** against existing Attio person records
3. **Associations are followed** from people to their linked deals and companies
4. **Summaries are pushed** as notes and/or mapped attributes to all matched records
For the best matching accuracy, ensure your Attio people records have email addresses that match what attendees use in their calendar invitations.
***
### Manual Push from the Recording Page [#manual-push-from-the-recording-page]
When **Show in Quick Access** is enabled, the Attio icon appears at the top of every Meeting Recording page.
Click the icon to open the push dialog:
1. A **deal selector** lets you choose which deal to push the notes to
2. A **summary preview** shows the protocol output that will be pushed (formatted, with word count)
3. Click **Push to Attio** to send the notes
#### When Manual Push Is Essential [#when-manual-push-is-essential]
Automatic matching relies on attendee email addresses from calendar invites. Manual push fills the gap for situations where that matching cannot happen:
* **On-site visits** documented afterward using the [Optiverse mobile app](/docs/mobile-app)
* **Voice memos** recorded on the go to capture client conversations
* **In-person meetings** without a calendar event containing attendee emails
* **Meetings with attendees** whose emails aren't yet in Attio
In all these cases, you can still push with one click by selecting the right deal manually. You can also ask the AI assistant on the homepage to push it for you via the MCP integration.
For quick dictations captured on the go with the [mobile app](/docs/mobile-app), record your thoughts after the meeting. Then push the resulting notes to the right Attio deal either manually or by asking the AI assistant.
***
## Part 2: MCP Integration (Bilateral Access) [#part-2-mcp-integration-bilateral-access]
The native integration pushes data from meetings to Attio. The MCP integration opens the reverse direction: the Optiverse AI assistant can search, read, create, update, and manage your entire Attio workspace through natural language.
With 31 available tools, the Attio MCP integration is the most comprehensive CRM connection Optiverse offers. It covers records, lists, notes, tasks, and custom objects.
### Connecting the MCP Integration [#connecting-the-mcp-integration]
1. On the Optiverse **homepage**, click the **MCPs** tab in the top left
2. In the MCP Integrations popup, search for **Attio** and click **Connect**
3. The connection re-uses your OAuth tokens from the native integration (no separate authentication required)
4. Once linked, you'll see all 31 available tools and permission controls
The MCP connection is authenticated via your existing integration settings. A short-lived access token is generated server-side each session for security.
### Available Tools (31 Total) [#available-tools-31-total]
The Attio MCP integration gives the AI assistant the broadest access of any CRM connection:
| Tool | What it does |
| -------------------- | ------------------------------------------------------ |
| **Search Records** | Find any record across all object types |
| **Get Record** | Retrieve full details on a specific record |
| **Create Record** | Create new people, companies, deals, or custom objects |
| **Update Record** | Modify attributes on any record |
| **Delete Record** | Remove records (with permission controls) |
| **List Records** | Browse records in any object or list |
| **Search Notes** | Find notes across your workspace |
| **Create Note** | Add notes to any record |
| **List Tasks** | View tasks across deals and people |
| **Create Task** | Create new tasks with deadlines and assignees |
| **Update Task** | Modify task status, deadline, or assignment |
| **List Lists** | View all custom lists in your workspace |
| **Get List Entries** | Browse entries in a specific list |
### Permission Modes [#permission-modes]
You control how much autonomy the AI assistant has when interacting with Attio:
| Mode | Behavior |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Auto-run** | The assistant executes any tool without asking. Best for power users who trust the workflow. |
| **Ask on writes** | The assistant reads freely but asks permission before creating, updating, or deleting records. Recommended for most users. |
| **Ask on every action** | The assistant requests consent at every step, including read operations. Most conservative. |
***
## Use Cases for Modern Sales Teams [#use-cases-for-modern-sales-teams]
Attio users tend to value flexibility and data structure. The combination of Optiverse's protocol system and Attio's custom objects creates workflows that are far more powerful than basic meeting note logging.
### Cross-Reference Deals with Recent Meetings [#cross-reference-deals-with-recent-meetings]
Validate that your Attio deals reflect the reality of what was discussed in recent customer conversations.
**Example prompt:**
> "Can you list my last three deals in Attio and check if I have met these clients in the last week?"
The assistant loads your recent deals from Attio, identifies the associated people, searches for meetings with those contacts in the specified timeframe, and reports back with a clear picture of which deals have had recent engagement and which haven't.
***
### Build Structured Deal Qualification Data [#build-structured-deal-qualification-data]
Attio's custom attributes are designed to hold structured data. Optiverse's protocol system extracts that data from conversations. Together, they create an automated qualification engine.
After every discovery call, your MEDDPICC or BANT protocol extracts qualification criteria. The mapping pushes each criterion to the corresponding attribute on the deal in Attio. Over time, this builds a complete qualification picture without any manual CRM entry.
**Example prompts:**
* "For my deals in the 'Discovery' stage, which ones are missing key qualification data?"
* "Show me all deals where the economic buyer hasn't been identified yet."
* "Which deals have complete MEDDPICC data based on our meeting notes?"
***
### Keep Pipeline Stages Aligned with Conversations [#keep-pipeline-stages-aligned-with-conversations]
Deal stages should reflect what's actually happening with the customer. Use meeting intelligence to verify Attio pipeline data.
**Example prompts:**
* "Based on my last ten client meetings, are all deal stages in Attio still accurate?"
* "Which deals should have progressed based on what was discussed this month?"
* "Flag any deals where the stage hasn't changed in two weeks but we've had active meetings."
***
### Prepare for Calls with Full CRM Context [#prepare-for-calls-with-full-crm-context]
Drag and drop an upcoming meeting into the Optiverse homepage chat. With the Attio MCP connected, the briefing includes live deal data, people attributes, and notes from Attio alongside your meeting history.
**Example prompts:**
* "I have a call with \[company] in 10 minutes. Pull their Attio deal details, last meeting notes, and open tasks."
* "What attributes do we have on the \[company] deal? What did we last discuss and what should I focus on?"
* "Show me all people associated with \[company] and our recent interactions with each."
***
### Populate Custom Objects from Meeting Data [#populate-custom-objects-from-meeting-data]
If you've built custom objects in Attio for use cases like customer health tracking, competitive intelligence, or project milestones, Optiverse can populate them directly from meeting discussions.
**Example prompts:**
* "After today's call, update the customer health score for \[company] in Attio based on the sentiment of our discussion."
* "Create a new entry in my 'Competitive Mentions' list for the competitor discussed in today's meeting."
* "Add a milestone to the \[company] deal based on the commitment they made today."
***
### Automate Contact Enrichment [#automate-contact-enrichment]
Attio thrives on rich contact data. Optiverse captures details about people during meetings (their role, priorities, concerns, communication style) that can flow into Attio as structured attributes.
**Example prompts:**
* "Which meeting attendees from this month don't have a person record in Attio yet? List them."
* "Update the contact notes for \[person] based on what they said in today's call about their priorities."
* "For all new contacts created this week, add notes about their role and what they care about based on our meetings."
***
### Manage Tasks and Follow-ups from Conversations [#manage-tasks-and-follow-ups-from-conversations]
Every meeting generates next steps. Use the MCP to create tasks directly in Attio from what was discussed.
**Example prompts:**
* "Create tasks in Attio for all action items from today's client meetings."
* "What open tasks do I have in Attio for \[company]? Have any been addressed in our recent meetings?"
* "Schedule a follow-up task for \[person] based on the timeline they mentioned in our call."
***
### Generate Pipeline Intelligence Reports [#generate-pipeline-intelligence-reports]
Combine meeting insights with Attio data to create reports that capture what's truly happening in your pipeline.
**Example prompts:**
* "Give me a pipeline review: for each deal in 'Negotiation', show the last meeting date and what was discussed."
* "Which deals closing this month have had positive recent meetings? Which seem at risk?"
* "Summarize all client conversations from this week and which Attio deals they relate to."
***
### Audit Data Completeness Across Objects [#audit-data-completeness-across-objects]
Attio's flexibility means there are often many attributes to keep current. Use Optiverse to identify gaps between what was discussed in meetings and what's actually recorded.
**Example prompts:**
* "Which people records are missing attributes that were discussed in recent meetings? (role, budget authority, timeline)"
* "For deals in my pipeline, which ones have empty fields that should be filled based on our conversations?"
* "Compare what we know from meetings about \[company] versus what's currently in their Attio record."
***
## Example Prompt Library [#example-prompt-library]
| Category | Prompt |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------ |
| **Deal Validation** | "List my last three deals in Attio and check if I have met these clients in the last week." |
| **Pipeline Review** | "For each deal in 'Proposal' stage, show the last meeting summary and next steps from Attio and meetings." |
| **Meeting Prep** | "I'm meeting with \[company] tomorrow. Pull their Attio deal info, people records, and my last meeting notes." |
| **Task Creation** | "Create follow-up tasks in Attio for all action items from today's calls." |
| **Contact Enrichment** | "Which meeting attendees from this month don't exist in Attio yet? Add them with their role and company." |
| **Custom Object Updates** | "Update the health score for \[company] in Attio based on today's conversation." |
| **Stage Accuracy** | "Based on recent meetings, which deal stages in Attio need to be updated?" |
| **Forecasting** | "Which deals closing this quarter have had recent positive meetings? Which are at risk based on conversation sentiment?" |
| **Activity Gaps** | "Which deals haven't had a logged meeting in over two weeks? List them with their current stage." |
| **Competitive Intel** | "Which competitors were mentioned across my client meetings this month? Map them to the relevant Attio deals." |
***
## Troubleshooting [#troubleshooting]
| Issue | Solution |
| --------------------------------- | ------------------------------------------------------------------------------------------------- |
| Integration not syncing | Click **Reconnect** in Settings > Integrations > Attio to refresh authentication |
| Contacts not matching | Verify that attendee emails in calendar invites match the email attribute on Attio people records |
| Notes not appearing on deals | Ensure the person is properly associated with the deal in Attio |
| Mapping not populating attributes | Check that the protocol section data types match the expected Attio attribute types |
| MCP not finding records | Check that your Attio user has access to the objects and lists you're querying |
If you disconnect and reconnect the integration, your automation preferences and attribute mappings will reset to defaults. Reconfigure them after reconnecting.
# Dynamics 365 Integration (/docs/integrations-and-workflows/crm/dynamics-365)
Optiverse pushes structured meeting data into Microsoft Dynamics 365 after every call. This page covers how to connect, how to choose your Dataverse environment, and what to do when records fail to load.
***
## Connecting Dynamics 365 [#connecting-dynamics-365]
1. Go to [**Settings > Integrations**](https://app.optiverse.ai/settings/integrations?integration=dynamics%20365)
2. Find **Dynamics 365** under the CRM category
3. Click **Connect**
4. Pick the Microsoft account you use for Dynamics
5. Once connected, the status changes to **Connected and ready**
Each user connects their own Microsoft account. Optiverse only reads and writes records that account is allowed to access in Dynamics.
***
## Your environment URL [#your-environment-url]
Dynamics stores your data in one **Dataverse environment**, the Dynamics 365 instance your company works in. Optiverse reads and writes in that environment only.
It looks like this:
```
https://contoso.crm.dynamics.com
```
Keep the `https://` at the front. Optiverse will not accept the address without it. Stop at `.dynamics.com` and drop anything after it.
Many companies have more than one environment, for example production, sandbox, and trial. Optiverse checks the environment before saving it. If verification fails, your previously selected environment is unchanged.
### When you connect [#when-you-connect]
After you sign in:
* **One ready environment:** Optiverse selects and verifies it for you. You will see its name and URL in the integration panel.
* **Several ready environments:** choose the one you work in and click **Verify & save**. An environment marked **Not ready** cannot be selected.
* **No environment found:** enter the Dataverse URL manually and click **Verify & save**.
### Where to find your environment URL [#where-to-find-your-environment-url]
If you need to check or enter it yourself:
1. Go to the [Power Platform admin center](https://admin.powerplatform.microsoft.com)
2. Click **Environments**
3. Click the environment holding your CRM data
4. Copy the value shown under **Environment URL**
You can also read it from your browser. Open Dynamics as you normally would and look at the address bar. Keep everything from `https://` up to `.dynamics.com`, and drop the rest.
### Change the environment later [#change-the-environment-later]
The selected environment name and URL stay visible after you connect. Click **Change environment**, pick another environment or enter a URL, then click **Verify & save**.
If an environment is already saved, confirm the change with **Switch environment**.
Your opportunity settings, actions, and field mappings stay saved. Review them afterwards, because the new environment may use different fields.
A wrong environment usually looks like a permissions problem. You get errors saying your user has no roles, because your account exists in that environment but has never been used there. Check the environment before asking an admin to change your permissions.
***
## Defining actions [#defining-actions]
Actions decide what happens automatically after every meeting. Click **Add New Action** to add one. You can add as many as you need.
| Action Type | What it does |
| ------------------------- | -------------------------------------------------------------------- |
| **Add New Contacts** | Creates a contact when a meeting attendee is not already in Dynamics |
| **Push to Contacts** | Pushes the meeting summary to matched contact records |
| **Push to Leads** | Pushes the meeting summary to matched lead records |
| **Push to Opportunities** | Pushes the meeting summary to matched opportunity records |
| **Push to Accounts** | Pushes the meeting summary to matched account records |
For each push action you choose which protocol's output gets pushed. Different actions can use different protocols, and they all run after every qualifying meeting.
***
## Field mapping [#field-mapping]
By default the summary lands as a note on the record. If you want the data in specific Dynamics fields instead, click **Create Mapping** on any push action.
You then pick a protocol and choose which Dynamics field each of its sections writes to. Mapping works on contacts, leads, accounts, and opportunities.
This turns each meeting into data you can report on, rather than a block of text nobody can filter.
Map sections to text fields. Optiverse writes the section text as it is, so a field expecting a number, a date, or a set of options will reject the value and that field stays empty.
***
## Troubleshooting [#troubleshooting]
Missing or revoked Microsoft permissions show a **Needs attention** banner and a **Reconnect** action. Reconnecting refreshes Microsoft authorization. It does not delete or replace saved Dynamics actions. Your automations stay saved and run again once the connection is fixed.
| What you see | Why | What to do |
| --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| "Your Microsoft session for Dynamics 365 has expired. Reconnect to continue." | Password change, sign-out everywhere, or the session aged out. | Click **Reconnect**. |
| "Optiverse no longer has permission to access Dynamics 365. Reconnect, or ask your Microsoft admin to grant consent." | App consent was removed, or your organization requires admin consent. | Click **Reconnect**. If it keeps failing, ask your Microsoft admin to grant consent to Optiverse. See [Microsoft Admin Approval](/docs/integrations-and-workflows/microsoft-admin-consent). |
| "Your Microsoft account doesn't have access to this environment." | You are not a user of that environment, or you have no security role there. | Ask your Dynamics admin for a security role, for example Salesperson, or choose another environment. |
| "We couldn't reach this environment. It may have been deleted or disabled." | The environment was deleted or disabled, or the URL is wrong. | Check the URL in the Power Platform admin center, or choose another environment. |
| "This environment belongs to a different Microsoft organisation than the account you connected." | The URL is from another tenant than the account you connected. | Connect with an account from that organisation, or choose another environment. |
| "We didn't find a Dataverse environment for this Microsoft account." | Your tenant has no Dataverse database yet. This is common for new or trial tenants. | Create one in the Power Platform admin center, or start a Dynamics 365 Sales trial, then enter its URL. |
| "Enter a URL like `https://yourorg.crm.dynamics.com`." | The URL is not a Dynamics 365 environment address. It must start with `https://` and end in `.dynamics.com`. | Copy the Environment URL from the Power Platform admin center. |
| "Microsoft didn't respond. Try again in a moment." | Temporary Microsoft outage or network issue. | Click **Try again**. Your selected environment is unchanged. |
| "User has not been assigned any roles" | No security role, or the wrong environment. | Check the environment first, then the role. |
| Empty contact and account lists | The account has Basic User instead of Salesperson, so it only sees its own records. | Ask your admin for the Salesperson role. See below. |
| "Need admin approval" when you sign in | Your company does not let users approve apps themselves. An admin approves Optiverse once for everyone. | See [Microsoft Admin Approval](/docs/integrations-and-workflows/microsoft-admin-consent) to get the link to send them. |
| Records load but pushes do nothing | The role allows reading but not writing. | Ask your admin to add write permissions. |
### Assigning a security role [#assigning-a-security-role]
Do this when Dynamics says the user has no roles, or when your lists come back empty. Check the environment URL first. A wrong URL causes the same error, and no role will fix it.
1. Go to the [Power Platform admin center](https://admin.powerplatform.microsoft.com)
2. Click **Environments**, then your environment
3. Click **Settings**, then **Users + permissions**, then **Users**
4. Find the user and click **Manage security roles**
5. Tick **Salesperson**, then click **Save**
Pick **Salesperson** rather than Basic User. Basic User only shows records the user created themselves, so your lists come back empty and it still looks broken.
You need Dynamics admin rights to do this. If you do not have them, send these steps to whoever manages your Dynamics.
Still stuck? Email [support@optiverse.ai](mailto:support@optiverse.ai) or [book a call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta).
# HubSpot Integration (/docs/integrations-and-workflows/crm/hubspot)
Optiverse connects to HubSpot in two powerful ways: a native integration that automatically pushes meeting summaries to your CRM records, and an MCP integration that lets the AI assistant read, search, and update HubSpot data through natural conversation.
Together, they eliminate the manual data entry that drains sales teams and ensure every customer interaction is captured in HubSpot without lifting a finger.
***
## Part 1: Native HubSpot Integration [#part-1-native-hubspot-integration]
The native integration handles the automatic flow of meeting data from Optiverse into HubSpot. Once connected, your meeting summaries, contacts, and activity logs push to HubSpot without any manual work.
### Connecting HubSpot [#connecting-hubspot]
1. Go to [**Settings > Integrations**](https://app.optiverse.ai/settings/integrations?integration=hubspot)
2. Find **HubSpot** under the CRM category
3. Click **Connect**
4. Authenticate with your HubSpot account in the popup window
5. Once connected, the status changes to **Connected and ready**
Any user in your workspace can connect their own HubSpot account. Each connection uses that user's HubSpot permissions, so the integration only accesses records they have permission to view and edit.
***
### Automation Settings [#automation-settings]
After connecting, you can configure four automation preferences that control how Optiverse interacts with your HubSpot data.
#### Show in Quick Access [#show-in-quick-access]
Enables the HubSpot icon on every Meeting Recording page, next to the **Share** button. This lets you manually push the currently displayed meeting notes to HubSpot at any time, choosing exactly which deal, contact, or company to send them to.
#### Add New Contacts to HubSpot from Optiverse [#add-new-contacts-to-hubspot-from-optiverse]
Optiverse reads attendee email addresses from your calendar invites. When this setting is enabled, if a meeting attendee does not already exist as a contact in HubSpot, Optiverse automatically creates a new contact record for them.
#### Automatically Push Summaries to Associated Contacts [#automatically-push-summaries-to-associated-contacts]
After every meeting, Optiverse pushes the meeting summary as a note under the matched contact records in HubSpot. The matching is based on attendee email addresses from the calendar invite.
#### Automatically Push Summaries to Associated Deals [#automatically-push-summaries-to-associated-deals]
Same as above, but the summary is also pushed to any open deals associated with the matched contacts. This keeps your deal timeline current with every customer conversation.
#### Automatically Push Summaries to Associated Companies [#automatically-push-summaries-to-associated-companies]
Pushes the meeting summary to the company records associated with the matched contacts. Useful for account level visibility across your entire organization.
#### Which Summary Gets Pushed? [#which-summary-gets-pushed]
The note that is automatically pushed to HubSpot is the output of your **default protocol**. Each user selects one protocol as their default on the [Protocols page](https://app.optiverse.ai/protocols), and that protocol generates the meeting summary that flows into HubSpot after every call.
If you want a different protocol's output pushed to a specific record, use the manual push via the HubSpot Quick Access icon and switch to the desired protocol on the recording page first.
***
### How Auto-Matching Works [#how-auto-matching-works]
The integration uses a straightforward matching process to connect meeting participants to HubSpot records:
1. **Optiverse reads attendee emails** from your calendar invite
2. **Emails are matched** against existing HubSpot contact records
3. **Associations are followed** from contacts to their linked companies and deals
4. **Summaries are pushed** as notes/activities to all matched records (contacts, deals, companies)
This means every meeting is logged in HubSpot under the right records without anyone on your team needing to open HubSpot manually.
For the best matching accuracy, ensure your HubSpot contacts have email addresses that match what attendees use in their calendar invitations.
***
### Manually Pushing Notes from a Recording [#manually-pushing-notes-from-a-recording]
When **Show in Quick Access** is enabled, a HubSpot icon appears at the top of every Meeting Recording page. This gives you manual control over what gets pushed and where.
Click the HubSpot icon to open the push dialog:
1. A **summary preview** shows the current meeting notes that will be pushed (in HTML format)
2. A **destination selector** lets you choose which deal, contact, or company to push to
3. Click **Push** to send the notes
This is useful when you want to:
* Push notes to a specific deal that wasn't automatically matched
* Re-push updated notes after editing the summary
* Send a specific protocol's output to HubSpot (switch protocols first, then push)
* Log a dictation or voice memo recorded via the mobile app
#### Mobile Dictations and Recordings Without Attendees [#mobile-dictations-and-recordings-without-attendees]
When you record a note or voice memo through the [Optiverse mobile app](/docs/mobile-app), there are no calendar attendees associated with the recording. This means automatic matching cannot work, since there are no email addresses to look up in HubSpot.
In these cases, you have two options:
1. **Manual push.** Open the recording in Optiverse, click the HubSpot icon, and manually select the deal, contact, or company where the note should be logged.
2. **Ask the assistant.** Go to the Optiverse homepage and tell the AI to push the recording for you. For example: "Push my latest voice memo to the Acme Corp deal in HubSpot." The MCP integration handles the rest, finding the right record and logging the note without you needing to navigate HubSpot at all.
The assistant approach is especially convenient for quick dictations captured on the go. Record your thoughts after a meeting, and let the AI file them in the right place.
***
## Part 2: MCP Integration (Bilateral Access) [#part-2-mcp-integration-bilateral-access]
The native integration pushes data **from** Optiverse **to** HubSpot. The MCP integration adds the reverse direction: it gives the Optiverse AI assistant the ability to **read, search, and update** your HubSpot data directly.
This transforms Optiverse from a one-way sync tool into a bilateral CRM assistant that can query your pipeline, validate deal data, cross-reference meeting discussions with CRM records, and take actions in HubSpot on your behalf.
### Connecting the MCP Integration [#connecting-the-mcp-integration]
1. On the Optiverse **homepage**, click the **MCPs** tab in the top left
2. In the MCP Integrations popup, search for **HubSpot** and click **Connect**
3. The connection re-uses your OAuth tokens from the native integration (no separate authentication required)
4. Once linked, you'll see all 21 available tools and permission controls
The MCP connection is authenticated via your existing integration settings. A short-lived access token is generated server-side each session for security.
### Available Tools (21 Total) [#available-tools-21-total]
The HubSpot MCP integration exposes a comprehensive set of tools to the AI assistant:
| Tool | What it does |
| ------------------------ | ----------------------------------------------- |
| **List Objects** | Browse contacts, deals, companies, tickets |
| **Search Objects** | Find specific records using filters and queries |
| **Batch Read Objects** | Retrieve multiple records at once |
| **Batch Create Objects** | Create multiple new records |
| **Batch Update Objects** | Update fields on multiple records |
| **Get Schemas** | Understand your HubSpot data structure |
| **List Properties** | See all available fields on an object type |
| **Get Property** | Retrieve details about a specific field |
| **List Owners** | See all HubSpot users/owners in your account |
| **List Pipelines** | View deal pipelines and their stages |
| **Get Pipeline** | Get details on a specific pipeline |
### Permission Modes [#permission-modes]
You control how much autonomy the AI assistant has when interacting with HubSpot:
| Mode | Behavior |
| ----------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Auto-run** | The assistant runs any tool without asking. Best for power users who trust the workflow. |
| **Ask on writes** | The assistant reads freely but asks permission before creating or updating records. Recommended for most users. |
| **Ask on every action** | The assistant requests consent at every step, including read operations. Most conservative. |
***
## Use Cases for Sales Teams [#use-cases-for-sales-teams]
The real power of the HubSpot integration emerges when you combine meeting intelligence with CRM data. Below are practical workflows that solve common pains for sales teams.
### Keep Deals Updated Without Manual Entry [#keep-deals-updated-without-manual-entry]
The number one complaint from sales leaders: reps don't update HubSpot. With Optiverse, every customer call automatically updates the relevant deal with what was discussed, decisions made, and next steps agreed upon.
**What happens automatically:**
* Meeting summary is logged under the deal as a timestamped note
* Key information from qualification frameworks (MEDDIC, BANT, SPIN) is captured via protocols
* Action items and commitments are visible on the deal timeline
**Example prompt (MCP):**
> "Look at my last ten client meetings and validate that all deal information in HubSpot is up to date."
The assistant will search your recent meetings, cross-reference them with HubSpot deals, and flag any discrepancies: deals that should have moved stages, missing notes, or outdated information.
***
### Audit Pipeline Health from Meeting Data [#audit-pipeline-health-from-meeting-data]
Sales leaders need to verify that pipeline data reflects reality, not just what reps entered weeks ago. Optiverse can compare what was actually said in meetings against what's recorded in HubSpot.
**Example prompts:**
* "Which deals in my pipeline haven't had a meeting in the last 30 days?"
* "Compare the deal stages in HubSpot with what was discussed in recent meetings. Are any deals stuck?"
* "List all deals where the decision maker hasn't been identified in any meeting yet."
***
### Prepare for Calls with Full CRM Context [#prepare-for-calls-with-full-crm-context]
Before any customer call, drag and drop the upcoming meeting from your calendar directly into the Optiverse homepage chat. The assistant will automatically pull together everything you need: past meeting discussions with those attendees, current HubSpot deal status, open action items, contact history, and suggested talking points.
With the HubSpot MCP connected, the briefing automatically includes CRM data: deal stage, pipeline value, associated contacts, and recent activities logged in HubSpot. You get a complete picture in seconds.
**Example prompts:**
* "I have a call with Acme Corp in 10 minutes. Show me the HubSpot deal status, last three meeting summaries, and any open action items."
* "What's the current deal value and stage for the Acme opportunity? What did we discuss last time?"
* "Pull up all contacts associated with Acme and summarize our interaction history."
***
### Auto-Create Contacts After Discovery Calls [#auto-create-contacts-after-discovery-calls]
When you take a first meeting with a new prospect, Optiverse detects attendee emails that don't exist in HubSpot and creates contact records automatically. No more losing leads because someone forgot to add them to the CRM after an intro call.
***
### Cross-Reference Meeting Commitments with Deal Progress [#cross-reference-meeting-commitments-with-deal-progress]
One of the most painful gaps in sales: a rep promises something on a call, but it never gets logged or followed up. Optiverse captures every commitment from every meeting and can validate whether those commitments are reflected in HubSpot.
**Example prompts:**
* "In my last five sales calls, what next steps did I commit to? Have those been reflected in HubSpot?"
* "Show me all action items from client meetings this week that haven't been logged in a deal."
* "Which prospects mentioned a timeline or deadline in our conversations? Are those deadlines captured in the HubSpot deal properties?"
***
### Generate Weekly Pipeline Reports from Meetings [#generate-weekly-pipeline-reports-from-meetings]
Instead of manually reviewing calls and CRM entries separately, ask Optiverse to generate a unified pipeline report that combines both sources.
**Example prompts:**
* "Generate a pipeline review report combining meeting notes and HubSpot deal data for this week."
* "Summarize all deal progression this month based on what was discussed in meetings."
* "Create an exec summary of pipeline changes: deals that advanced, deals at risk, and new opportunities from this week's conversations."
***
### Identify Deals at Risk Early [#identify-deals-at-risk-early]
Catch at-risk deals before they slip by analyzing meeting sentiment, buyer engagement, and CRM data together.
**Example prompts:**
* "Which deals haven't moved stage in over two weeks despite having recent meetings?"
* "In my discovery calls this month, which prospects raised objections that haven't been addressed?"
* "Flag any deals where the meeting discussions suggest a lower likelihood of closing than the current HubSpot forecast."
***
### Automate Post-Meeting CRM Hygiene [#automate-post-meeting-crm-hygiene]
After every call, the combination of native push and MCP gives you complete CRM hygiene without manual work:
1. **Native integration** automatically pushes the meeting summary to the right contact, deal, and company
2. **MCP integration** lets you ask the AI to verify the data was pushed correctly, update deal stages, or add missing information
**Example prompts:**
* "After today's calls, check that all meeting notes were pushed to the right deals in HubSpot."
* "Update the deal stage for Acme Corp to 'Proposal Sent' based on today's conversation."
* "Create a new contact for the CFO I met today and associate them with the Acme deal."
***
## Example Prompt Library [#example-prompt-library]
Here's a collection of high-value prompts for sales teams using the HubSpot MCP integration:
| Category | Prompt |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| **Pipeline Review** | "Give me a full pipeline review. For each deal in 'Negotiation' stage, show last meeting date, key discussion points, and next steps." |
| **Deal Validation** | "Look at my last ten client meetings and validate that all the information in HubSpot deals is up to date." |
| **Meeting Prep** | "I'm meeting with \[company] tomorrow. Pull their HubSpot deal info, last three meeting summaries, and any open action items." |
| **Contact Enrichment** | "Which meeting attendees from this month don't have a contact record in HubSpot? List them with their email and company." |
| **Forecast Support** | "Based on my meetings this quarter, which deals are likely to close and which are at risk? Cross-reference with HubSpot stages." |
| **Activity Gaps** | "Which deals in my pipeline haven't had a logged meeting in over three weeks?" |
| **Competitive Intel** | "In all my sales meetings this month, which competitors were mentioned? Map them to the relevant HubSpot deals." |
| **Stakeholder Mapping** | "For the \[company] deal, list all people I've met with, their roles, and what each cares about most based on our conversations." |
| **Follow-up Drafting** | "Draft a follow-up email to \[person] at \[company] summarizing our last meeting and confirming the next steps we agreed on." |
| **Quarterly Review** | "Summarize all client meetings from Q1 and compare the outcomes against HubSpot deal stages. Where are the gaps?" |
***
## Troubleshooting [#troubleshooting]
| Issue | Solution |
| ---------------------------- | ----------------------------------------------------------------------------------------- |
| Integration not syncing | Click **Reconnect** in Settings > Integrations > HubSpot to refresh authentication |
| Contacts not matching | Verify that attendee emails in calendar invites match the email field in HubSpot contacts |
| Notes not appearing on deals | Ensure the contact is properly associated with the deal in HubSpot |
| MCP not finding records | Check that your HubSpot user has read access to the objects you're querying |
| Permission errors on writes | Switch MCP permission mode to "Ask on writes" to see which action is being blocked |
If you disconnect and reconnect the integration, your automation preferences will reset to defaults. Reconfigure them after reconnecting.
# CRM Integrations (/docs/integrations-and-workflows/crm)
Automatically sync meeting summaries, action items, and deal insights into your CRM after every call.
Native auto-push integration + bilateral MCP access for querying and updating deals with natural language.
Field-by-field mapping, multi-action workflows, and bilateral MCP access for querying opportunities with natural language.
Push meeting summaries to contacts, leads, opportunities, and accounts, with field mapping and control over which Dataverse environment you connect to.
Auto-push meeting notes to deals and contacts, plus bilateral MCP access for managing your pipeline with natural language.
Custom object mapping, auto-push to contacts and deals, plus 31-tool MCP access for managing your flexible CRM with natural language.
# Pipedrive Integration (/docs/integrations-and-workflows/crm/pipedrive)
Optiverse connects to Pipedrive to keep your sales pipeline up to date after every customer conversation. Meeting summaries flow directly into your deals and contacts, new contacts are created automatically from meeting attendees, and the MCP integration lets you manage your entire Pipedrive instance through natural language on the Optiverse homepage.
***
## Part 1: Native Pipedrive Integration [#part-1-native-pipedrive-integration]
The native integration handles automatic data flow from Optiverse into Pipedrive. Every meeting that involves a Pipedrive contact gets its summary logged to the right records without any manual work.
### Connecting Pipedrive [#connecting-pipedrive]
1. Go to **Settings > Integrations**
2. Find **Pipedrive** under the CRM category
3. Click **Connect**
4. Authenticate with your Pipedrive account in the popup window
5. Once connected, the status changes to **Connected and ready**
Each user connects their own Pipedrive account. The integration respects Pipedrive permissions, so it only accesses deals and contacts the authenticated user can view and edit.
***
### Automation Settings [#automation-settings]
After connecting, you configure three automation preferences that control what happens after every meeting.
#### Show in Quick Access [#show-in-quick-access]
Enables the Pipedrive icon on every Meeting Recording page, next to the **Share** button. This lets you manually push the currently displayed meeting notes to Pipedrive deals at any time.
#### Add New Contacts to Pipedrive from Optiverse [#add-new-contacts-to-pipedrive-from-optiverse]
Optiverse reads attendee email addresses from your calendar invites. When this setting is enabled, if a meeting attendee does not already exist as a contact (person) in Pipedrive, Optiverse automatically creates a new contact record for them.
This ensures you never lose a prospect because someone forgot to add them to the CRM after a call.
#### Automatically Push Summaries to Associated Contacts [#automatically-push-summaries-to-associated-contacts]
After every meeting, Optiverse pushes the meeting summary as a note under the matched contact records in Pipedrive. Matching is based on attendee email addresses from the calendar invite.
#### Automatically Push Summaries to Associated Deals [#automatically-push-summaries-to-associated-deals]
The meeting summary is also pushed to any open deals associated with the matched contacts. This keeps your deal timeline current with every customer interaction, building a complete activity history without manual logging.
***
### Which Summary Gets Pushed? [#which-summary-gets-pushed]
The note that is automatically pushed to Pipedrive is the output of your **default protocol**. Each user selects one protocol as their default on the [Protocols page](https://app.optiverse.ai/protocols), and that protocol generates the meeting summary that flows into Pipedrive after every call.
If you want a different protocol's output pushed to a specific deal, use the manual push via the Pipedrive Quick Access icon after switching to the desired protocol on the recording page.
***
### How Auto-Matching Works [#how-auto-matching-works]
The integration uses a straightforward matching process:
1. **Optiverse reads attendee emails** from your calendar invite
2. **Emails are matched** against existing Pipedrive contact (person) records
3. **Associations are followed** from contacts to their linked deals and organizations
4. **Summaries are pushed** as notes to all matched records (contacts and deals)
This means every qualifying meeting is logged in Pipedrive under the right records automatically.
For the best matching accuracy, ensure your Pipedrive contacts have email addresses that match what attendees use in their calendar invitations.
***
### Manual Push from the Recording Page [#manual-push-from-the-recording-page]
When **Show in Quick Access** is enabled, the Pipedrive icon appears at the top of every Meeting Recording page.
Click the icon to open the push dialog:
1. A **deal selector** lets you choose which deal to push the notes to
2. A **summary preview** shows the protocol output that will be pushed (in HTML format, with word count)
3. Click **Push to Pipedrive** to send the notes
#### When Manual Push Is Essential [#when-manual-push-is-essential]
Automatic matching relies on attendee email addresses from calendar invites. Manual push fills the gap for situations where that matching cannot happen:
* **On-site visits** documented afterward using the [Optiverse mobile app](/docs/mobile-app)
* **Voice memos** recorded on the go to capture client conversations
* **In-person meetings** without a calendar event containing attendee emails
* **Meetings with attendees** whose emails aren't yet in Pipedrive
In all these cases, you can still push with one click by selecting the right deal manually. You can also ask the AI assistant on the homepage to push it for you via the MCP integration.
For quick voice memos and dictations captured on the go with the [mobile app](/docs/mobile-app), just record your thoughts after the meeting. Then push the resulting notes to the right Pipedrive deal either manually or by asking the AI assistant.
***
## Part 2: MCP Integration (Bilateral Access) [#part-2-mcp-integration-bilateral-access]
The native integration pushes data from meetings to Pipedrive. The MCP integration opens the reverse direction: the Optiverse AI assistant can read, search, create, and update Pipedrive records directly through conversation.
This turns Optiverse into a hands-free Pipedrive manager. Ask questions about your pipeline, create records from meeting context, or validate deal data, all without opening Pipedrive.
### Connecting the MCP Integration [#connecting-the-mcp-integration]
1. On the Optiverse **homepage**, click the **MCPs** tab in the top left
2. In the MCP Integrations popup, search for **Pipedrive** and click **Connect**
3. The connection re-uses your OAuth tokens from the native integration (no separate authentication required)
4. Once linked, you'll see all 22 available tools and permission controls
The MCP connection is authenticated via your existing integration settings. A short-lived access token is generated server-side each session for security.
### Available Tools (22 Total) [#available-tools-22-total]
The Pipedrive MCP integration gives the AI assistant comprehensive access to your pipeline:
| Tool | What it does |
| ----------------------- | ---------------------------------------- |
| **List Deals** | Browse deals in your pipeline |
| **Get Deal** | Retrieve details on a specific deal |
| **Create Deal** | Create a new deal with custom fields |
| **Update Deal** | Modify deal stage, value, or any field |
| **Delete Deal** | Remove a deal (with permission controls) |
| **List Persons** | Browse contacts in Pipedrive |
| **Get Person** | Retrieve contact details |
| **Create Person** | Create a new contact |
| **Update Person** | Modify contact fields |
| **List Organizations** | Browse organizations |
| **Create Organization** | Create a new organization |
| **Update Organization** | Modify organization fields |
| **List Activities** | View activities and tasks |
| **Create Activity** | Schedule new activities |
| **List Pipelines** | View all pipeline configurations |
| **List Stages** | See stages within pipelines |
### Permission Modes [#permission-modes]
You control how much autonomy the AI assistant has when interacting with Pipedrive:
| Mode | Behavior |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Auto-run** | The assistant executes any tool without asking. Best for power users who trust the workflow. |
| **Ask on writes** | The assistant reads freely but asks permission before creating, updating, or deleting records. Recommended for most users. |
| **Ask on every action** | The assistant requests consent at every step, including read operations. Most conservative. |
***
## Use Cases for Sales Teams [#use-cases-for-sales-teams]
The combination of automatic meeting logging and MCP access creates workflows that eliminate the manual CRM data entry that drains sales productivity.
### Bulk-Create Records from Recent Meetings [#bulk-create-records-from-recent-meetings]
After a busy week of client calls, use the MCP to create all the necessary Pipedrive records at once, including organizations, contacts, and deals, based on what was discussed.
**Example prompt:**
> "I need you to create a deal, contact, and account on Pipedrive for the last 3 clients I met with."
The assistant identifies your recent client meetings, extracts the relevant information (company names, contact details, deal context), and creates all records in Pipedrive with proper associations between them.
In this example, the assistant created 9 records total: 3 organizations, 3 contacts linked to those organizations, and 3 deals linked to both, all in under 2 seconds.
***
### Keep Your Pipeline Current Without Opening Pipedrive [#keep-your-pipeline-current-without-opening-pipedrive]
The most common complaint from sales managers: reps don't update their CRM. With Optiverse, deal data stays current because meeting summaries are automatically pushed after every call. But the MCP takes it further by letting you validate and update pipeline data through conversation.
**Example prompts:**
* "Which deals in my pipeline haven't had a meeting logged in the last two weeks?"
* "Move the \[company] deal to the 'Proposal Sent' stage based on today's call."
* "Update the deal value for \[company] to the budget they mentioned in our meeting."
***
### Prepare for Calls with Full Pipeline Context [#prepare-for-calls-with-full-pipeline-context]
Drag and drop an upcoming meeting into the Optiverse homepage chat. With the Pipedrive MCP connected, the briefing includes live deal data alongside your meeting history.
**Example prompts:**
* "I have a call with \[company] in 10 minutes. Show me the Pipedrive deal status, last meeting notes, and any open action items."
* "What stage is the \[company] deal in? What did we last discuss and what should I bring up?"
* "Pull up all contacts at \[organization] and summarize our recent interactions."
***
### Auto-Create Contacts After Every New Meeting [#auto-create-contacts-after-every-new-meeting]
When you meet someone for the first time, Optiverse checks if they exist in Pipedrive. If they don't, a new contact is created automatically with their name and email. No more forgetting to log new prospects after intro calls.
***
### Validate Deal Stages Against Meeting Reality [#validate-deal-stages-against-meeting-reality]
Pipeline data should reflect what's actually happening in customer conversations. Optiverse can cross-reference both sources and flag inconsistencies.
**Example prompts:**
* "Based on my recent meetings, are all deal stages in Pipedrive accurate?"
* "Which deals should have progressed based on what was discussed this month?"
* "Flag any deals where the last meeting outcome suggests the stage should be different."
***
### Generate Pipeline Reports from Meeting Data [#generate-pipeline-reports-from-meeting-data]
Combine meeting intelligence with Pipedrive data to produce reports that capture what's really happening in your pipeline.
**Example prompts:**
* "Give me a pipeline review: for each deal in the 'Qualified' stage, show the last meeting date and key discussion points."
* "Summarize all client meetings from this week and which Pipedrive deals they relate to."
* "Which deals closing this month actually had positive last meetings? Which are at risk?"
***
### Track Action Items and Follow-ups [#track-action-items-and-follow-ups]
Every meeting produces next steps. Optiverse captures them automatically, and the MCP lets you verify they're reflected in Pipedrive activities.
**Example prompts:**
* "What action items did I commit to in client meetings this week? Create activities in Pipedrive for each one."
* "Check if the next steps from yesterday's calls have been logged as activities."
* "Schedule follow-up activities in Pipedrive for all deals that had meetings today."
***
### Competitive Intelligence from Conversations [#competitive-intelligence-from-conversations]
When competitors come up in sales calls, that context gets captured by your meeting protocols. Use the MCP to connect those insights back to specific deals.
**Example prompts:**
* "In my sales calls this month, which competitors were mentioned? Which deals are they affecting?"
* "Summarize what prospects said about \[competitor] across all my recent meetings."
* "For deals in the 'Negotiation' stage, has any competitor been discussed?"
***
### Clean Up Stale Pipeline Data [#clean-up-stale-pipeline-data]
Pipelines accumulate dead deals and outdated contacts over time. Use meeting data as the source of truth to identify what should be cleaned up.
**Example prompts:**
* "Which deals in my pipeline haven't had any meeting in over a month? Should any be moved to lost?"
* "List contacts I haven't spoken with in the last quarter who still have open deals."
* "Are there any deals where the associated contact hasn't responded to outreach based on our meetings?"
***
## Example Prompt Library [#example-prompt-library]
| Category | Prompt |
| ------------------------ | ------------------------------------------------------------------------------------------------------- |
| **Bulk Record Creation** | "Create a deal, contact, and organization in Pipedrive for the last 3 clients I met with." |
| **Pipeline Review** | "For each deal in 'Proposal Sent' stage, show the last meeting summary and next steps." |
| **Stage Updates** | "Based on today's meetings, which deals should move to a new stage? Update them." |
| **Meeting Prep** | "I'm meeting with \[company] in 5 minutes. Pull their Pipedrive deal info and my last 3 meeting notes." |
| **Activity Tracking** | "Create follow-up activities in Pipedrive for all action items from today's client calls." |
| **Contact Gaps** | "Which meeting attendees from this month don't have a Pipedrive contact record yet?" |
| **Forecasting** | "Based on recent meetings, which deals closing this month are genuinely on track?" |
| **Win/Loss Analysis** | "Summarize the meeting discussions for deals I closed this quarter. What patterns led to wins?" |
| **Pipeline Hygiene** | "Which deals haven't had a logged meeting in over three weeks? List them with their current stage." |
| **Competitive Intel** | "Which competitors were mentioned in sales calls this month? Map them to the relevant deals." |
***
## Troubleshooting [#troubleshooting]
| Issue | Solution |
| ------------------------------ | ------------------------------------------------------------------------------------------- |
| Integration not syncing | Click **Reconnect** in Settings > Integrations > Pipedrive to refresh authentication |
| Contacts not matching | Verify that attendee emails in calendar invites match the email field on Pipedrive persons |
| Notes not appearing on deals | Ensure the contact is properly linked to the deal in Pipedrive |
| New contacts not being created | Check that "Add new contacts to Pipedrive from Optiverse" is enabled in automation settings |
| MCP not finding records | Check that your Pipedrive user has access to the deals and contacts you're querying |
If you disconnect and reconnect the integration, your automation preferences will reset to defaults. Reconfigure them after reconnecting.
# Salesforce Integration (/docs/integrations-and-workflows/crm/salesforce)
Optiverse integrates with Salesforce at a depth that goes far beyond logging a text note after a meeting. You get full control over what data gets pushed, where it goes, and how it maps to your Salesforce fields. Combined with the MCP integration for bilateral access, Optiverse becomes the missing link between your customer conversations and your Salesforce data.
***
## Part 1: Native Salesforce Integration [#part-1-native-salesforce-integration]
The native integration handles the automatic flow of structured meeting data from Optiverse into Salesforce. Unlike basic notetakers that dump unformatted text into activity logs, Optiverse lets you define exactly which protocol outputs push to which Salesforce objects, with field-by-field precision.
### Connecting Salesforce [#connecting-salesforce]
1. Go to [**Settings > Integrations**](https://app.optiverse.ai/settings/integrations?integration=salesforce)
2. Find **Salesforce** under the CRM category
3. Click **Connect**
4. Authenticate with your Salesforce credentials in the popup window
5. Once connected, the status changes to **Connected and ready**
Each user connects their own Salesforce account. The integration respects Salesforce permissions, so it only accesses records the authenticated user can view and edit.
***
### Defining Actions [#defining-actions]
After connecting, you configure **actions** that define what happens automatically after every meeting. There is no limit on how many actions you can define. Each action specifies a destination and which protocol template to use.
#### Available Action Types [#available-action-types]
Click **Add New Action** to see the full list of available action types:
| Action Type | What it does |
| ------------------------- | --------------------------------------------------------------------------------- |
| **Add New Contacts** | Creates a new contact in Salesforce if the meeting attendee doesn't already exist |
| **Push to Contacts** | Pushes the meeting summary to matched contact records |
| **Push to Leads** | Pushes the meeting summary to matched lead records |
| **Push to Opportunities** | Pushes the meeting summary to matched opportunity records |
| **Push to Accounts** | Pushes the meeting summary to matched account records |
#### Choosing a Protocol Per Action [#choosing-a-protocol-per-action]
For every push action, you select which protocol template's output will be pushed. This is configured directly on the action row.
You can have multiple actions pushing different protocols to different destinations simultaneously. For example:
* **Action 1:** Push your "BANT for Sales" protocol to Leads
* **Action 2:** Push your "MEDDPICC Client Interaction Summary" to Opportunities
* **Action 3:** Push a general meeting summary to Accounts using the meeting's default protocol
All of these execute automatically after every qualifying meeting.
You can also select "Use meeting's protocol" to push whatever protocol was active for that specific meeting, rather than a fixed template.
***
### Field-by-Field Mapping [#field-by-field-mapping]
This is where the Salesforce integration delivers something most meeting notetakers cannot: granular, structured data flowing into specific Salesforce fields, not just a blob of text in an activity note.
For any push action, click **Create Mapping** to define how each section of your protocol maps to Salesforce fields.
Clicking **Create Mapping** opens a configuration panel where you map each protocol section to a specific Salesforce field:
#### How It Works [#how-it-works]
Each section of your protocol template has a defined data type (text, bullet list, number, predefined options, table). These data types map directly to Salesforce field types:
| Protocol Section Type | Maps to Salesforce Field Type |
| --------------------- | ------------------------------------- |
| Text | Text, Long Text Area |
| Bullet/List | Long Text Area, Multi-Select Picklist |
| Number | Number, Currency |
| Predefined Options | Picklist, Dropdown |
| Table | Long Text Area (formatted) |
#### Why This Matters for RevOps [#why-this-matters-for-revops]
Most meeting recording tools push an unformatted text note or HTML blob into Salesforce. This creates a data problem: the information exists in Salesforce, but it's unstructured and cannot be used for reporting, pipeline analysis, or automation rules.
With Optiverse's field-by-field mapping:
* **Deal stages** extracted from conversation flow into the Stage picklist
* **Budget figures** mentioned in calls populate the Amount field
* **Decision criteria** captured by the protocol map to custom fields you've built for your sales process
* **Next steps** push directly into activity fields that trigger workflow rules
This turns every meeting into structured, reportable, automatable Salesforce data.
#### Mapping Across Object Types [#mapping-across-object-types]
Field mapping is not limited to Opportunities. You can create mappings for:
* **Opportunities** (deal data, qualification criteria, next steps)
* **Accounts** (company-level insights, relationship notes)
* **Contacts** (individual preferences, communication notes)
* **Leads** (qualification scores, discovery insights)
Each object type can use a different protocol template with its own mapping. Everything runs simultaneously after every meeting.
***
### Show in Quick Access [#show-in-quick-access]
Enable this toggle to display Salesforce icons on every Meeting Recording page, next to the **Share** button. Two icons appear:
1. **Sync status icon** (shows auto-push feedback)
2. **Manual push icon** (lets you push on demand)
***
### Auto-Sync Status and Feedback [#auto-sync-status-and-feedback]
The sync status icon gives you direct, per-meeting feedback on what happened with the Salesforce integration after each recording.
For every meeting, you can see:
* Which actions were executed successfully
* Which actions were skipped and why
* Timestamps for each push attempt
Common reasons for a skipped push:
* No matching contact found (attendee email doesn't exist in Salesforce)
* No associated lead or opportunity for the matched contact
* The "Add New Contacts" action is disabled, so unrecognized attendees are ignored
* Multiple ambiguous matches (e.g., contact is linked to several open opportunities)
This transparency makes troubleshooting straightforward. You never have to wonder if your meeting data made it to Salesforce.
***
### Manual Push [#manual-push]
When auto-push cannot work, or when you want to send notes to a specific record manually, click the Salesforce cloud icon on the recording page.
The manual push dialog gives you full control:
* **Destination tabs:** Choose between Accounts, Contacts, Leads, or Opportunities
* **Record selector:** Search and pick the exact record to push to
* **Push mode:** Send the summary **As a Note** (full text) or **Per Section** (field-by-field mapping)
This means even with the manual push, you still get structured field mapping, not just a text dump.
#### When Manual Push Is Essential [#when-manual-push-is-essential]
The automatic matching relies on attendee email addresses from calendar invites. Manual push fills the gap for situations where that matching cannot happen:
* **On-site visits** where you dictate notes through the [Optiverse mobile app](/docs/mobile-app) afterward
* **In-person meetings** without a calendar event containing attendee emails
* **Voice memos** recorded on the go to document a client conversation
* **Meetings with external participants** whose emails aren't in Salesforce yet
* **Internal debriefs** that should be logged against a specific opportunity
In all these cases, you can still push with one click, selecting the right destination and getting the full benefit of protocol-based structured output.
For quick voice memos captured on the go, the [Optiverse mobile app](/docs/mobile-app) records and transcribes immediately. Then you can push the resulting notes to the right Salesforce record either manually from the recording page or by asking the AI assistant on the homepage.
***
## Part 2: MCP Integration (Bilateral Access) [#part-2-mcp-integration-bilateral-access]
The native integration moves data in one direction: from meetings to Salesforce. The MCP integration opens the reverse channel, giving the Optiverse AI assistant the ability to query, search, and update Salesforce records directly through conversation.
### Connecting the MCP Integration [#connecting-the-mcp-integration]
1. On the Optiverse **homepage**, click the **MCPs** tab in the top left
2. In the MCP Integrations popup, search for **Salesforce** and click **Connect**
3. The connection re-uses your OAuth tokens from the native integration (no separate authentication required)
4. Once linked, you'll see all 20 available tools and permission controls
The MCP connection is authenticated via your existing integration settings. A short-lived access token is generated server-side each session for security.
### Available Tools (20 Total) [#available-tools-20-total]
The Salesforce MCP integration gives the AI assistant comprehensive access to your Salesforce data:
| Tool | What it does |
| ------------------- | --------------------------------------------------- |
| **SOQL Query** | Run any SOQL query against your Salesforce data |
| **Describe Object** | Understand the schema of any Salesforce object |
| **List Objects** | Browse available Salesforce objects |
| **Get Record** | Retrieve a specific record by ID |
| **Create Record** | Create new contacts, leads, opportunities, accounts |
| **Update Record** | Modify fields on existing records |
| **Delete Record** | Remove records (with permission controls) |
| **Search** | Full-text search across all Salesforce data |
### Permission Modes [#permission-modes]
You control how much autonomy the AI assistant has:
| Mode | Behavior |
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| **Auto-run** | The assistant executes any tool without asking. Best for experienced users who trust the workflow. |
| **Ask on writes** | The assistant reads freely but asks permission before creating, updating, or deleting records. Recommended for most users. |
| **Ask on every action** | The assistant requests consent at every step, including read operations. Most conservative. |
***
## Use Cases for Sales and Revenue Teams [#use-cases-for-sales-and-revenue-teams]
The combination of meeting intelligence and live Salesforce access opens up workflows that were previously impossible without hours of manual CRM work.
### Validate Opportunity Data Against Recent Conversations [#validate-opportunity-data-against-recent-conversations]
The most common gap in any sales org: what's in Salesforce doesn't reflect what was actually discussed with the customer. Optiverse bridges this by cross-referencing meeting content with Salesforce records.
**Example prompt:**
> "Can you please browse the last five opportunities that we created on Salesforce and then validate the conclusion of each one of the last meetings we had with these clients?"
The assistant pulls your recent opportunities via SOQL, finds the corresponding meetings for each client, analyzes the discussion outcomes, and reports back with a clear comparison. Any mismatches between what was discussed and what's recorded in Salesforce get flagged immediately.
***
### Keep Pipeline Stages Accurate [#keep-pipeline-stages-accurate]
Sales managers often find that deal stages in Salesforce lag behind reality. A deal might have moved to "Negotiation" in conversation three weeks ago, but the stage field still shows "Discovery."
**Example prompts:**
* "Check my pipeline. Based on recent meeting discussions, are all opportunity stages accurate?"
* "Which deals should have moved forward based on what was discussed in the last two weeks?"
* "Flag any opportunities where the Salesforce stage doesn't match the most recent conversation outcome."
***
### Build Pre-Call Briefings with Live CRM Data [#build-pre-call-briefings-with-live-crm-data]
Drag and drop an upcoming meeting into the Optiverse homepage chat. With the Salesforce MCP connected, the briefing automatically includes live CRM data alongside meeting history.
**Example prompts:**
* "I have a call with \[company] in 10 minutes. Pull their opportunity details, last meeting notes, and any open action items."
* "What's the current stage, amount, and close date for the \[company] opportunity? What did we last discuss?"
* "Show me all contacts under the \[company] account and our most recent interactions with each."
***
### Qualify Deals Faster with Structured Data [#qualify-deals-faster-with-structured-data]
When your protocols capture qualification frameworks (MEDDPICC, BANT, SPIN) and field mapping pushes each criterion to dedicated Salesforce fields, you build a qualification engine that runs automatically after every call.
**Example prompts:**
* "For my deals in the 'Discovery' stage, which ones have all MEDDPICC fields filled and which are missing data?"
* "Summarize the economic buyers identified across my top five opportunities."
* "Which opportunities are missing a decision process or timeline in Salesforce?"
***
### Audit CRM Hygiene at Scale [#audit-crm-hygiene-at-scale]
Revenue operations teams spend significant time ensuring data quality in Salesforce. Optiverse can audit across meetings and CRM records simultaneously.
**Example prompts:**
* "Look at all opportunities closed this quarter. Did each one have at least one meeting logged in the last 30 days before closing?"
* "Which contacts in my Salesforce instance have had meetings with us but have incomplete profiles (missing title, phone, or company)?"
* "List all accounts with more than three meetings in the last quarter but no associated open opportunity."
***
### Generate Forecasting Insights from Conversations [#generate-forecasting-insights-from-conversations]
Forecasting based purely on Salesforce fields misses the nuance of what's actually happening in customer conversations. Optiverse combines both sources for more accurate predictions.
**Example prompts:**
* "Based on my recent meetings, which opportunities are likely to close this quarter and which are at risk?"
* "Summarize all pricing discussions from this month's sales calls. Are any deals showing price resistance?"
* "For each deal in 'Proposal Sent' stage, what was the customer's reaction in our last meeting?"
***
### Create Records from Meeting Context [#create-records-from-meeting-context]
After a discovery call or networking event, use the MCP to create Salesforce records pre-filled with information from the conversation.
**Example prompts:**
* "Create a new opportunity for \[company] based on today's discovery call. Use the budget, timeline, and next steps we discussed."
* "Add \[person] as a new lead in Salesforce. Fill in their title, company, and the pain points they mentioned on our call."
* "Create a new account for \[company] and log today's meeting notes as the first activity."
***
### Track Competitive Mentions Across Deals [#track-competitive-mentions-across-deals]
When competitors come up in sales conversations, that intelligence should be captured and connected to the right opportunity.
**Example prompts:**
* "In all my sales meetings this month, which competitors were mentioned? Show me which opportunities they're associated with."
* "Has \[competitor name] come up in any conversations with my top ten accounts?"
* "Create a summary of competitive objections raised this quarter and which opportunities are affected."
***
## Example Prompt Library [#example-prompt-library]
| Category | Prompt |
| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Pipeline Validation** | "Browse my last five Salesforce opportunities and validate them against the conclusions from recent meetings with those clients." |
| **Stage Accuracy** | "Which opportunities should have changed stage based on what was discussed in meetings this month?" |
| **Meeting Prep** | "Pull the Salesforce opportunity details and my last three meeting summaries for \[company]. What should I focus on in tomorrow's call?" |
| **Data Gaps** | "Which opportunities in my pipeline are missing key fields like Amount, Close Date, or Decision Maker?" |
| **Qualification** | "For deals in 'Negotiation' stage, summarize the MEDDPICC data captured from meetings. What's still missing?" |
| **Contact Enrichment** | "Which meeting attendees from this month don't exist as contacts in Salesforce? List them with their role and company." |
| **Competitive Intelligence** | "Across all meetings this quarter, which competitors were discussed? Map them to the relevant Salesforce opportunities." |
| **Forecasting** | "Based on meeting sentiment and Salesforce data, which deals closing this month are genuinely on track?" |
| **Account Reviews** | "Summarize everything discussed with \[company] over the last six months and compare it to what's currently in their Salesforce account record." |
| **Activity Compliance** | "Which of my open opportunities haven't had a meeting logged in the last three weeks?" |
***
## Troubleshooting [#troubleshooting]
| Issue | Solution |
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| Integration not syncing | Click **Reconnect** in Settings > Integrations > Salesforce to refresh authentication |
| Contacts not matching | Verify that attendee emails in calendar invites match the Email field on Salesforce contacts |
| Push skipped with "no opportunity found" | The matched contact isn't associated with an open opportunity. Push manually or create the opportunity first. |
| Multiple matches causing skips | When a contact is linked to several open opportunities, auto-push skips to avoid ambiguity. Push manually to the correct one. |
| Field mapping errors | Ensure data types match between protocol sections and Salesforce fields (text to text, number to number, etc.) |
| MCP not finding records | Check that your Salesforce user has read access to the objects you're querying |
Deleting the Salesforce integration removes all configured actions and field mappings. This cannot be undone. You will need to reconfigure everything if you reconnect.
# MCP Connections (/docs/integrations-and-workflows/mcp-connections)
The Model Context Protocol (MCP) is the layer that gives OptiAgent the ability to interact with external tools through natural conversation. Every integration that lets OptiAgent read, search, or write data in an external platform is powered by MCP under the hood.
This page explains how MCP works at a system level, how native and custom integrations differ, and how to connect your own MCP servers for tools that Optiverse doesn't natively support.
## How MCP Works [#how-mcp-works]
MCP is an open protocol that standardizes how AI assistants communicate with external tools. When an MCP integration is active:
1. The integration exposes a set of **tools** (read contacts, search deals, post a message, etc.)
2. You ask OptiAgent a question or give a command in natural language
3. OptiAgent selects the right tools to fulfill your request
4. The tools execute against the external platform and return results
5. OptiAgent combines the results into a single, coherent response
This means you never need to learn an API or memorize commands. You just ask for what you need and OptiAgent handles the tool orchestration.
***
## Native vs. Custom Integrations [#native-vs-custom-integrations]
Optiverse provides two ways to connect tools via MCP:
| | Native Integrations | Custom MCP Servers |
| ----------------- | ------------------------------------------------------ | ------------------------------------------ |
| **Setup** | One-click connect via OAuth or API key | Provide server URL and optional auth token |
| **Maintained by** | The Optiverse team | You or the tool vendor |
| **Examples** | HubSpot, Salesforce, Pipedrive, Attio, Microsoft Teams | Any platform that exposes an MCP server |
| **Tool curation** | Pre-configured tool set with tested permissions | You manage which tools are available |
| **Updates** | Automatic. New tools added as the integration evolves | You control the server version |
**Native integrations** cover the most common platforms and are optimized for reliability, token management, and permission controls. See the [CRM](/docs/integrations-and-workflows/crm), [Communication](/docs/integrations-and-workflows/communication), and [Automation](/docs/integrations-and-workflows/automation-platforms) sections for setup guides.
**Custom MCP servers** fill the gaps. If a tool you rely on has an MCP server (published by the vendor or community), you can connect it directly to OptiAgent and gain the same conversational access.
***
## Connecting a Custom MCP Server [#connecting-a-custom-mcp-server]
Any platform that exposes an MCP-compatible HTTP endpoint can be connected to OptiAgent.
### Setup Steps [#setup-steps]
1. On the Optiverse **homepage**, click the **MCPs** tab in the top left
2. Click **Custom Server** to open the connection dialog
3. Fill in the required fields:
| Field | Description |
| ------------------------ | ----------------------------------------------------------------------------- |
| **Server Key** | A unique identifier used as the tool name prefix (e.g., `my-server`) |
| **Display Name** | A human-readable label shown in the UI (e.g., "My MCP Server") |
| **Server URL** | The HTTP endpoint of the MCP server (e.g., `https://your-mcp-server.com/mcp`) |
| **Authorization Header** | Optional. A Bearer token or API key if the server requires authentication |
4. Click **Connect**
5. Once connected, review the tools the server exposes and enable/disable individual tools as needed
The Server Key becomes a prefix for all tools from that server. Choose something short and recognizable so you can identify the source when OptiAgent uses the tools.
### Technical Requirements [#technical-requirements]
Optiverse connects to custom MCP servers over **Streamable HTTP**, the standard remote transport for MCP. Your server must:
* Expose an HTTP endpoint that supports POST and GET requests
* Implement the MCP protocol (tool listing, tool execution, result responses)
* Optionally support Server-Sent Events (SSE) for streaming responses
Most MCP server frameworks (the official TypeScript SDK, Python SDK, and community implementations) handle the transport layer automatically. If you can run the server and access its URL, it will work with Optiverse.
### What Can You Connect? [#what-can-you-connect]
Any tool with an MCP server is a candidate. Common examples include:
* **Project management**: Jira, Linear, Asana, Monday.com
* **Documentation**: Notion, Confluence, Google Docs
* **Communication**: Slack, Discord
* **Developer tools**: GitHub, GitLab, Sentry
* **Internal tools**: Custom databases, proprietary platforms, internal APIs
The MCP ecosystem is growing rapidly. If a tool you use has published an MCP server (check their docs or the [MCP server directory](https://github.com/modelcontextprotocol/servers)), you can connect it.
***
## Managing Tools and Permissions [#managing-tools-and-permissions]
Each MCP integration (native or custom) exposes multiple tools. You have granular control over what OptiAgent can do.
### Tool-Level Toggles [#tool-level-toggles]
After connecting a server, you can enable or disable individual tools. This lets you:
* Allow read operations but block writes
* Expose search tools but hide bulk operations
* Limit access to only the capabilities your team actually needs
### Safety by Design [#safety-by-design]
MCP integrations include built-in safety measures:
* **Delete operations are blocked by default.** OptiAgent cannot delete records from any connected system.
* **Granular tool control.** Enable only the specific tools you need, nothing more.
* **Audit visibility.** Every tool call is visible in the conversation, so you can see exactly what OptiAgent accessed.
* **Permission customization available.** If your team needs specific permission modes (like requiring confirmation before write operations), contact [support@optiverse.ai](mailto:support@optiverse.ai) to enable them for your workspace.
Before enabling write-capable tools on any integration, align with your team on which data OptiAgent should be allowed to modify. Start with read-only access and expand once you've validated the workflows.
***
## Verifying a Connection Works [#verifying-a-connection-works]
After connecting a custom MCP server, verify that it's working correctly:
1. Go to the **Multi-Meeting Search** (homepage) or open any meeting page with OptiAgent
2. Ask a simple question that would require the connected tool, for example:
* "What tools do you have access to from \[server name]?"
* "Search \[tool] for \[something you know exists]"
3. OptiAgent should respond using the connected tool and show the tool name in the response
**If the connection fails:**
| Symptom | Likely Cause | Fix |
| ---------------------- | -------------------------------------- | --------------------------------------------------------------- |
| "Tool not found" | Server connected but tools not enabled | Go to MCPs tab and enable the tools |
| Timeout or no response | Server URL unreachable | Verify the URL is publicly accessible and the server is running |
| Authentication error | Missing or invalid token | Check the Authorization Header field |
| Unexpected results | Server returns malformed data | Test the server independently to confirm it works |
***
## Best Practices [#best-practices]
1. **Start with native integrations.** If Optiverse has a native integration for your tool, use it. Native integrations are maintained, updated, and optimized for reliability.
2. **Use custom servers for the gaps.** Reserve custom connections for tools that aren't natively supported but are critical to your workflow.
3. **Keep Server Keys short and clear.** They appear as tool prefixes in conversations. `hubspot` is better than `my-company-hubspot-production-v2`.
4. **Test before rolling out.** After connecting, ask OptiAgent a few test questions to confirm the tools work as expected.
5. **Review tool permissions.** Disable tools you don't need. Fewer enabled tools means faster, more focused AI responses.
6. **Monitor usage.** Check conversation logs periodically to see which tools OptiAgent uses most. Disable unused integrations to keep things clean.
# Task Management Integrations (/docs/integrations-and-workflows/task-management)
Route action items from meetings directly into your task management system of choice.
Built-in Kanban boards powered by AI task extraction.
Push meeting notes and tasks to Notion databases.
Create Jira issues from meeting action items.
# Jira Integration (/docs/integrations-and-workflows/task-management/jira)
Turn meeting action items into Jira tickets, keeping your engineering and project workflows in sync.
Content for this page is being written. Check back soon for the complete guide.
# Notion Integration (/docs/integrations-and-workflows/task-management/notion)
Send structured meeting summaries to Notion databases and pages automatically after each meeting.
Content for this page is being written. Check back soon for the complete guide.
# Optiverse Boards (/docs/integrations-and-workflows/task-management/optiverse-boards)
Optiverse Boards provides Kanban-style task management directly within the platform, powered by AI that automatically mines action items from your meetings.
Content for this page is being written. Check back soon for the complete guide.
# Auto Follow-Up Emails After Demos (/docs/integrations-and-workflows/workflow-recipes/auto-follow-up-emails)
This workflow automatically generates a personalized follow-up email draft in Gmail after every demo call, using the meeting summary and action items from Optiverse.
Content for this page is being written. Check back soon for the complete guide.
# Auto-Update HubSpot Deal Stages (/docs/integrations-and-workflows/workflow-recipes/auto-update-hubspot-deals)
This workflow uses Optiverse meeting summaries + AI to determine deal progression and automatically update the deal stage in HubSpot.
Content for this page is being written. Check back soon for the complete guide.
# Workflow Recipes (/docs/integrations-and-workflows/workflow-recipes)
Pre-built workflow templates that solve common use cases. Each recipe includes step-by-step setup instructions and downloadable workflow files.
Automatically draft personalized follow-up emails after demos.
Let AI update deal stages based on meeting content.
Automatically send meeting notes to Notion databases.
# Push Meeting Notes to Notion (/docs/integrations-and-workflows/workflow-recipes/push-notes-to-notion)
This workflow pushes Optiverse meeting summaries into a Notion database, creating a searchable knowledge base of all your meetings.
Content for this page is being written. Check back soon for the complete guide.
# Big Group (/docs/resources/case-studies/big-group)
Content for this page is being written. Check back soon for the complete case study.
# Bloom Rocket (/docs/resources/case-studies/bloom-rocket)
Content for this page is being written. Check back soon for the complete case study.
# Demodia (/docs/resources/case-studies/demodia)
Content for this page is being written. Check back soon for the complete case study.
# ID Quantique (/docs/resources/case-studies/id-quantique)
# Case Studies (/docs/resources/case-studies)
See how companies across industries are saving time and driving results with Optiverse.
Automated meeting minutes, saving 2 to 3 hours per week.
Streamlined multilingual meeting notes and client collaboration.
Scaled client transparency and CRM discipline.
Cut hours of meeting overhead.
3 hours saved per employee per week.
# qashqade (/docs/resources/case-studies/qashqade)
Content for this page is being written. Check back soon for the complete case study.
# SI Nyon (/docs/resources/case-studies/si-nyon)
## At a Glance [#at-a-glance]
| Metric | Result |
| ---------------------------------- | --------------------------------- |
| Users deployed | 18 |
| Meetings recorded since adoption | 75% |
| Time saved per week (per key user) | 2 to 3 hours |
| Minutes centralized in Asana | 75% |
| Adoption timeline | Immediate across all teams |
| Transcription accuracy | Improved with custom dictionaries |
> "Optiverse helped us gain time, quality, and comfort."
> — Ingrid Binovsky, PMO, Services industriels de Nyon
## Context [#context]
Services industriels de Nyon (SI Nyon) is a sustainable energy solutions provider responsible for the multi-utility supply and distribution across the Nyon district: electricity, water, gas, heating, and energy efficiency services.
Like many public entities, meeting follow-up was a constant challenge. Not enough time, too many stakeholders, and important decisions that needed to be properly tracked.
## Before Optiverse: A Problem Every City Knows [#before-optiverse-a-problem-every-city-knows]
At SI Nyon, meeting minutes practices were very similar to those found in other municipalities or industrial services:
* Minutes written by hand, in Word, or on notepads.
* Some meetings had no minutes at all.
* Notes focused only on decisions, without context.
* 1 to 2 hours to write a complete set of minutes.
* Information was difficult to retrieve later.
* Growing frustration among project managers and department heads.
> "We were losing time, and some minutes were incomplete. Sometimes we could not even find the information anymore."
## Why They Chose Optiverse [#why-they-chose-optiverse]
Before adopting Optiverse, the team tried basic AI tools (ChatGPT, etc.). The result: many promises, very little that was actually usable.
They were looking for:
* A tool specialized for meetings.
* Automatic generation of minutes to their own standard.
* Reliable transcription in French.
* Simple integration with their existing tools (Asana, Outlook).
* A significant time saving without changing their work habits.
## Deployment: Instant Adoption [#deployment-instant-adoption]
Eighteen people now use Optiverse daily. Most importantly, every meeting is now recorded.
> "We almost never hold a meeting without Optiverse anymore. It has become a reflex."
The onboarding experience played a key role. Simple, responsive, and human.
> "The Optiverse team is particularly attentive. That is rare in IT."
## How SI Nyon Uses Optiverse [#how-si-nyon-uses-optiverse]
### Automatic Detailed Minutes [#automatic-detailed-minutes]
The detailed protocol is the most used and most appreciated feature. Complete, structured minutes are generated automatically after every meeting.
### Audio and Video to Clarify Exchanges [#audio-and-video-to-clarify-exchanges]
The team goes back to the recording when needed to validate who said what.
### OptiAgent to Quickly Find a Topic [#optiagent-to-quickly-find-a-topic]
Searches take just seconds across the full history of meetings.
### Asana Integration [#asana-integration]
Minutes are integrated directly into project tracking, keeping everything centralized.
### Custom Dictionary [#custom-dictionary]
Technical terms, site names, and suppliers are recognized automatically thanks to a personalized dictionary.
## The Impact: Time Saved and Governance Transformed [#the-impact-time-saved-and-governance-transformed]
### 2 to 3 Hours Saved Every Week [#2-to-3-hours-saved-every-week]
For project managers like Ingrid, and likely for many other users.
> "There is still a bit of reviewing to do, but the bulk is done. I save an enormous amount of time."
### Clean, Centralized Governance [#clean-centralized-governance]
Minutes, decisions, and action items are all indexed in Asana.
> "The follow-up is clearly better than before."
### More Relaxed Meetings [#more-relaxed-meetings]
Ingrid, who used to both facilitate and write the minutes at the same time, summarizes:
> "Program reviews used to be exhausting. Now the transcription takes care of itself."
## Why This Matters for Other Cities and Public Utilities [#why-this-matters-for-other-cities-and-public-utilities]
The challenges are universal:
* Not enough time to write meeting minutes.
* High administrative pressure.
* Overloaded teams.
* Numerous cross-functional meetings.
* Need for transparency and traceability.
* Demanding public governance standards.
Optiverse solves these problems without changing existing habits, and delivers:
* Rapid adoption.
* Reliable minutes.
* Immediate time savings.
* Better inter-department coordination.
* Improved decision quality.
## Conclusion: Optiverse as a Governance Accelerator [#conclusion-optiverse-as-a-governance-accelerator]
For SI Nyon, Optiverse delivered a triple benefit:
* **Time.** Hours returned every week to focus on actual project work.
* **Quality.** Complete, structured, and accurate meeting records.
* **Comfort.** Meetings that are no longer a source of stress.
> "Optiverse helped us gain time, quality, and comfort."
A clear message for all cities, municipalities, industrial services, and public entities looking to modernize their meeting management without complexity.
# Comparisons (/docs/resources/comparisons)
Detailed, fair comparisons between Optiverse and alternative meeting intelligence tools.
Enterprise meeting intelligence comparison.
Feature-by-feature comparison.
Transcription and beyond.
Free tier comparison and advanced features.
# Optiverse vs. Fathom (/docs/resources/comparisons/vs-fathom)
Compare Optiverse and Fathom on features, pricing, integrations, and customization depth.
Content for this page is being written. Check back soon for the complete comparison.
# Optiverse vs. Fireflies (/docs/resources/comparisons/vs-fireflies)
Compare Optiverse and Fireflies across transcription quality, integrations, customization, and security.
Content for this page is being written. Check back soon for the complete comparison.
# Optiverse vs. Microsoft Copilot (/docs/resources/comparisons/vs-microsoft-copilot)
How does Optiverse compare to Microsoft Copilot for meeting transcription, summarization, and workflow automation?
Content for this page is being written. Check back soon for the complete comparison.
# Optiverse vs. Otter.ai (/docs/resources/comparisons/vs-otter)
See how Optiverse goes beyond transcription compared to Otter.ai.
Content for this page is being written. Check back soon for the complete comparison.
# From Call to CRM: Complete Guide (/docs/resources/guides-and-playbooks/call-to-crm)
Content for this page is being written. Check back soon for the complete guide.
# How to Run Effective Meetings (/docs/resources/guides-and-playbooks/effective-meetings)
Content for this page is being written. Check back soon for the complete guide.
# Guides & Playbooks (/docs/resources/guides-and-playbooks)
Best practices for productive, well-documented meetings.
Build a healthy meeting culture in your organization.
The complete guide to turning sales calls into deal-ready insights.
# Meeting Culture Best Practices (/docs/resources/guides-and-playbooks/meeting-culture)
Content for this page is being written. Check back soon for the complete guide.
# Multi-Client Meeting Management and Proposal Generation for Consultants | Optiverse (/docs/resources/use-case-guides/consultants-and-agencies)
Consultants juggle context. Back-to-back calls with completely different clients, each expecting you to remember exactly where you left off. The Optiverse assistant eliminates ramp-up time by giving you instant access to every conversation with every client, and the ability to generate proposals, track deliverables, and draft communications from what was actually discussed.
***
## Instant Context Switching Between Clients [#instant-context-switching-between-clients]
The hardest part of consulting is maintaining depth across many engagements. You finish a call with one client and immediately join a call with another. The Optiverse assistant makes that transition seamless.
**Before any client call, ask:**
* "Summarize my last 3 meetings with Meridian and list open action items"
* "What did we commit to delivering for Atlas Corp at the end of our last session?"
* "What was the main discussion point with NovaTech last time and where did we leave it?"
**Or drag and drop:**
Drag the upcoming calendar event into the Optiverse search on the homepage. The AI pulls all previous meetings with that client, open items, and key context automatically.
**What you get in seconds:**
* Summary of recent interactions
* Outstanding deliverables and commitments
* Key contacts and their priorities
* Topics that need follow-up
* Any unresolved questions from previous sessions
You walk into every call fully briefed, even if you haven't spoken to that client in three weeks. No more scrambling through notes or starting meetings with "remind me where we left off."
***
## Generate Proposals and SOWs from Discovery Calls [#generate-proposals-and-sows-from-discovery-calls]
Discovery calls are where scope is defined. But translating a fluid conversation into a structured proposal takes hours. The assistant does the heavy lifting by extracting stated needs, timelines, and constraints directly from the recording.
**What to ask:**
* "Generate a scope of work based on today's discovery call with Prism, including their stated needs, timeline, and budget constraints"
* "Draft a proposal outline based on what the client described as their top three priorities"
* "Create a project plan from the kickoff meeting, including milestones and responsibilities discussed"
* "What requirements did the client explicitly state versus what I inferred? List them separately"
**What makes this better than writing from scratch:**
* The proposal references what the client actually said, using their language
* Nothing mentioned in the conversation gets missed or forgotten
* You can cite specific statements when justifying scope or pricing
* The draft is ready in minutes, not hours
**Practical workflow:**
1. Conduct the discovery call with Optiverse recording
2. Immediately after, ask the assistant to draft a proposal outline
3. Review and refine the structure (add your methodology, pricing, terms)
4. Send a proposal the same day while the conversation is still fresh in the client's mind
Speed matters. The consultant who sends a tailored proposal within 24 hours wins over the one who takes a week.
***
## Track Deliverables and Commitments per Client [#track-deliverables-and-commitments-per-client]
When you manage five, ten, or twenty active engagements, things fall through the cracks. The assistant tracks what was promised, what's outstanding, and what's overdue across every client.
**What to ask:**
* "What have we committed to delivering for Vertex and what's still open?"
* "List all deadlines mentioned in meetings with CloudFirst this month"
* "Across all active clients, what deliverables are due in the next two weeks?"
* "What did I promise to send after my last meeting with Beacon Labs?"
**Cross-engagement view:**
* "Which clients have outstanding items I haven't followed up on?"
* "List everything I committed to this week across all client meetings"
* "What proposals or documents did I promise to send that I haven't sent yet?"
This is your safety net. Run it at the end of each day or week to ensure nothing slips. The assistant catches commitments made casually in conversation that you might not have written down.
***
## Meeting Prep When Juggling Many Accounts [#meeting-prep-when-juggling-many-accounts]
The drag-and-drop meeting prep works especially well for consultants. When you have five client calls in a day, you need instant context before each one.
**How to build it into your routine:**
1. At the start of each day, look at your calendar
2. For each client meeting, drag the event into the Optiverse search
3. Scan the briefing for open items, recent progress, and upcoming milestones
4. Identify one or two things to proactively bring up that show attentiveness
**What this signals to clients:**
When you reference something specific from three meetings ago, the client notices. It demonstrates that you're engaged, organized, and invested in their success. That perception translates directly into renewals, expansions, and referrals.
**Prompt variations for different meeting types:**
| Meeting type | What to ask |
| ------------------ | ----------------------------------------------------------------------------------------- |
| Strategy session | "What strategic decisions have we discussed with this client over the last quarter?" |
| Progress check-in | "What was delivered since our last meeting and what's still pending?" |
| Kickoff meeting | "Summarize the proposal and SOW we agreed on. What are the client's stated expectations?" |
| Renewal discussion | "What value have we delivered this year? What outcomes has the client described?" |
***
## Cross-Client Pattern Recognition [#cross-client-pattern-recognition]
Working across multiple clients gives you a unique vantage point. The assistant helps you identify patterns that inform your practice and service offerings.
**What to ask:**
* "What challenges have multiple clients raised about their data migration process this quarter?"
* "Which recommendations have I made most frequently across all engagements this year?"
* "What outcomes are clients achieving and how do they describe the value we delivered?"
* "What questions do new clients always ask in the first month?"
**How to use these patterns:**
* **Refine your frameworks.** If you keep solving the same problem, build a methodology around it.
* **Create productized services.** Patterns across clients reveal demand for repeatable offerings.
* **Improve proposals.** Use outcomes from past clients to strengthen the case for new prospects.
* **Develop content.** Write thought leadership based on real patterns, not theoretical ones.
***
## Example Prompts for Consultants and Agencies [#example-prompts-for-consultants-and-agencies]
| What you need | What to ask the assistant |
| ---------------------------- | ---------------------------------------------------------------------------------------------------- |
| Client context before a call | "Summarize my last 3 meetings with \[client] and list all open action items" |
| Proposal generation | "Draft a scope of work from today's discovery call including stated needs, timeline, and budget" |
| Deliverable tracking | "What have we committed to delivering for \[client] that's still outstanding?" |
| Cross-client overview | "What deliverables are due across all active clients in the next two weeks?" |
| Pattern recognition | "What problems have multiple clients raised about \[topic] this quarter?" |
| Value documentation | "What outcomes has \[client] described achieving through our engagement?" |
| Billing verification | "How many sessions have I had with \[client] this month and what topics did we cover?" |
| Handoff preparation | "Generate a full briefing on the \[client] engagement for a colleague taking over" |
| Referral preparation | "Summarize the results we delivered for \[client] in language suitable for a case study" |
| End-of-engagement summary | "Compile everything we delivered, discussed, and recommended for \[client] over the full engagement" |
***
## Workflow Tips [#workflow-tips]
* **Start every day with a calendar scan.** Drag each upcoming meeting into the search to prep in seconds.
* **Run a weekly commitment audit.** Ask "What did I commit to this week across all clients?" every Friday afternoon.
* **Proposal same-day.** After discovery calls, generate a proposal draft immediately. Speed wins deals.
* **Document outcomes continuously.** Periodically ask "What results has \[client] described?" so you have case study material ready at engagement end.
* **Use for timesheets.** Ask "How many meetings did I have with \[client] this month and what did we discuss?" for accurate billing and time tracking.
***
## Get Started [#get-started]
Setup takes under 5 minutes. Sign up, connect your calendar, and the assistant joins your client calls automatically. From the very first recorded meeting, you can query it, draft from it, and search across it.
1. [Create your free account](https://app.optiverse.ai) (Google or Microsoft sign-in)
2. Connect your calendar and let the assistant join client meetings
3. After your first discovery call, ask the assistant to draft a proposal outline
4. Before your next client call, drag the calendar event into the search for instant prep
The compounding value is real. After one week of recorded client calls, you have a searchable multi-client knowledge base. After a month, you can run cross-client analyses and never lose context again.
Want to see how Optiverse works for consulting workflows? [Book a short call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta) and we'll demo it with your use case.
# How Customer Success Teams Monitor Client Health and Prepare Renewals with the Optiverse Assistant (/docs/resources/use-case-guides/customer-success)
Customer success runs on context. Every client interaction contains signals about health, risk, and opportunity. The Optiverse assistant searches across all your recorded meetings to surface those signals, so you can act on them before they become problems.
This guide covers the workflows that CS teams use most, with real prompts you can copy and adapt.
***
## Monitor Client Health Across Every Touchpoint [#monitor-client-health-across-every-touchpoint]
When you manage dozens of accounts, it's easy to miss a subtle shift in tone or a concern raised once that never got addressed. The Optiverse assistant searches across all meetings with a client and identifies patterns that would take hours to catch manually.
**What to ask:**
* "What concerns has Acme raised in the last 3 months?"
* "How has the tone from Delta Corp changed over the last quarter? Are they more or less enthusiastic about our product?"
* "List every time a contact at Globex mentioned considering alternatives or competitors"
* "What commitments did we make to NovaTech that haven't been mentioned as resolved?"
**Why this works:** The AI reads across every touchpoint, including calls you didn't attend. It detects patterns in language and topics that would require reading dozens of transcripts to spot yourself. You get an honest, data-grounded view of account health rather than relying on gut feeling or sporadic notes.
**Practical workflow:**
1. Set a weekly or bi-weekly cadence to check on your top accounts
2. Ask the assistant for a health summary of each key account
3. Flag any accounts showing declining sentiment or unresolved concerns
4. Use those insights to prioritize your outreach for the week
***
## Prepare for Renewals with Full Context [#prepare-for-renewals-with-full-context]
Renewal conversations go better when you know exactly what happened over the contract period. The assistant compiles everything discussed with an account into a structured briefing so you walk in prepared.
**What to ask:**
* "Summarize everything discussed with Acme Corp since their last renewal, focusing on concerns, feature requests, and commitments we made"
* "What outcomes has Meridian achieved with our product based on what they've said in meetings?"
* "List all unresolved issues raised by anyone at CloudFirst in the past 6 months"
* "What features does Prism use and love based on our conversations with them?"
**What you get back:**
* A timeline of the relationship over the contract period
* Features and capabilities the client has praised
* Issues they raised and whether those were resolved
* Promises or commitments your team made
* Outstanding requests that haven't been addressed
**Practical workflow:**
1. Two weeks before a renewal meeting, ask for a full account summary
2. Identify wins you can highlight and risks you need to address
3. Prepare responses for any unresolved concerns
4. Use the assistant to draft a renewal deck or talking points document
***
## Seamless Account Handoffs [#seamless-account-handoffs]
Taking over an account from another CSM usually means weeks of ramp-up, reading disorganized notes, and hoping nothing important was lost. With the Optiverse assistant, you can get a complete briefing on any account in minutes.
**What to ask:**
* "Give me a complete briefing on Atlas Inc: key contacts, relationship history, open items, and what they care about most"
* "Who are the main stakeholders at Vertex and what does each person focus on?"
* "What was discussed in the last 5 meetings with Helios? What's the current status of their implementation?"
* "Are there any sensitive topics or past issues with Beacon Labs I should be aware of?"
**What makes this powerful:** The briefing is generated from actual conversations, not secondhand summaries. You'll know exactly what was said, by whom, and when. This means you can reference specific past discussions in your first interactions with the client, building trust immediately.
**Practical workflow:**
1. Ask for a full account briefing covering history, contacts, and open items
2. Follow up with specific questions about any areas that need more depth
3. Ask the assistant to draft your introduction email referencing their priorities
4. Within one day, you have the context that would normally take two weeks to build
***
## Track Feature Requests and Recurring Issues [#track-feature-requests-and-recurring-issues]
Product teams need to hear what clients actually say, not filtered summaries. The Optiverse assistant searches across all client meetings to identify the most requested features and the most common pain points.
**What to ask:**
* "What feature requests have clients mentioned more than once this quarter?"
* "Which clients have raised concerns about reporting capabilities and what specifically did they say?"
* "List every mention of API limitations across all client calls in the last 3 months"
* "What workarounds are clients describing for problems our product doesn't solve yet?"
**How to use this with Product:**
1. Run a monthly or quarterly feature request summary across all client meetings
2. Ask the assistant to group requests by theme and count how many clients mentioned each
3. Include direct quotes from clients to strengthen your prioritization case
4. Share the results in your next Product sync to inform roadmap decisions
**For issue tracking:**
* "How many clients have mentioned slow load times in the last month?"
* "What did we tell TechNova about the export bug, and has it been fixed?"
* "Which accounts are being impacted by the same issue, and what's the business impact they've described?"
***
## Proactive Outreach Grounded in Real Conversations [#proactive-outreach-grounded-in-real-conversations]
Generic check-in emails get ignored. Emails that reference something the client actually said get responses. The Optiverse assistant drafts outreach that includes specific details from your meetings.
**What to ask:**
* "Draft an email to Sarah at Acme following up on the integration concern she raised last call, letting her know we have a solution ready"
* "Write a check-in email to Marcus at Beacon referencing the workflow improvements he mentioned wanting to explore"
* "Draft a QBR invitation to the Vertex team that references the three goals they set at the beginning of the quarter"
* "Write an email to the CloudFirst team celebrating the milestone they mentioned hitting in our last call"
**Why this works:** The assistant pulls specific details from the actual conversation. The email will mention what the client said, when they said it, and what you're doing about it. This turns a routine check-in into a touchpoint that demonstrates you're paying attention.
**Best practices:**
* Reference something specific from the last meeting within the first two sentences
* Include a concrete next step or offer, not just "checking in"
* Keep the tone consistent with how you actually speak in meetings
* Ask the assistant to match the formality level of your previous interactions with that contact
***
## Example Prompts for Customer Success [#example-prompts-for-customer-success]
| What you need | What to ask the assistant |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Account health check** | "How is the sentiment from \[company] trending? Are there any warning signs in our last 5 meetings?" |
| **Renewal preparation** | "Summarize all interactions with \[company] since \[date], focusing on outcomes achieved, concerns raised, and open requests" |
| **Account handoff briefing** | "Give me a full briefing on \[company]: key contacts, relationship history, communication style, open items, and priorities" |
| **Feature request roundup** | "What features have been requested by more than 2 clients this quarter? Group by theme and list who asked" |
| **Proactive email draft** | "Draft a personalized check-in email to \[contact] at \[company] referencing what they said they wanted to achieve this quarter" |
| **QBR preparation** | "Compile a quarterly business review for \[company]: goals set at the start of Q2, progress discussed in meetings, metrics mentioned, and recommendations" |
| **Escalation detection** | "Flag any meetings in the last 2 weeks where a client expressed frustration, disappointment, or urgency about an unresolved issue" |
| **Competitive risk** | "Have any clients mentioned evaluating competitors or alternative solutions in the last 3 months? What specifically did they say?" |
| **Success story material** | "What positive outcomes or results has \[company] described achieving with our product? Pull direct quotes" |
| **Multi-account pattern** | "Across all my accounts, what are the three most common topics raised in meetings this month?" |
***
## Get Started [#get-started]
Optiverse setup takes under 5 minutes. Sign up, connect your calendar, and the assistant joins your meetings automatically. Every client call from that point forward becomes searchable.
1. [Create your free account](https://app.optiverse.ai) (Google or Microsoft sign-in)
2. Connect your calendar and choose when the assistant should join
3. After your first few client calls are recorded, start querying across them
4. Try a health check on one account you know well to see the accuracy firsthand
The more meetings recorded, the richer the context. Within a week, you'll have enough data to run meaningful cross-account queries.
Want to see how Optiverse fits your CS team's workflow? [Book a short call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta) and we'll walk you through it live.
The Optiverse assistant searches only meetings you have access to. If another team member recorded a call with your client, make sure it's shared with you or your workspace so the AI can include it in search results. See [Access and Sharing](/docs/how-recording-works/access-and-sharing) for details.
# Stay Informed Without Attending Every Meeting (/docs/resources/use-case-guides/executives)
You don't have time for every meeting. But you need to know what happened, what was decided, and what's at risk. Optiverse gives you instant access to the substance of any conversation across your organization.
***
## Get Briefed on Any Meeting in Seconds [#get-briefed-on-any-meeting-in-seconds]
You don't need to attend every meeting. You need the outcomes.
Open any recording in Optiverse and ask **OptiAgent** directly:
* "What are the 3 most important things from this meeting?"
* "What decisions were made and who owns what?"
* "Were there any disagreements or unresolved issues?"
The response includes **clickable source references** linked to exact timestamps in the recording. If something matters, you can verify it in the speaker's own words within seconds.
This works for meetings you attended, meetings you skipped, and meetings you didn't know happened. If it was recorded, you can query it.
***
## Cross-Team Visibility Without Extra Meetings [#cross-team-visibility-without-extra-meetings]
Use **Multi-Meeting Search** on the Optiverse homepage to ask questions that span departments, teams, and time periods.
Examples:
* "What are the top issues engineering raised this week?"
* "Summarize all client-facing meetings from this week with open risks"
* "What did the product team commit to delivering this sprint?"
* "Are there any cross-team dependencies that were flagged in the last 7 days?"
You get a consolidated answer with sources from multiple meetings. No need to schedule a sync just to gather information that already exists in conversations.
***
## Track Strategic Decisions Over Quarters [#track-strategic-decisions-over-quarters]
Decisions get made, revised, and sometimes forgotten. The assistant tracks the full arc across months of meetings.
Examples:
* "What strategic decisions have we made about \[initiative] over the last 6 months?"
* "How has our position on \[topic] changed since Q1?"
* "When did we first discuss \[initiative], and what was the original rationale?"
* "List every commitment made to the board in the last two quarters"
This is especially useful for:
* **Board preparation.** Verify that what you plan to report matches what was actually decided.
* **Alignment checks.** Confirm that teams are still executing on the direction that was agreed.
* **Institutional memory.** Retrieve the reasoning behind past decisions, not just the outcomes.
***
## Generate Board and Investor Reports [#generate-board-and-investor-reports]
Pull together narratives from internal meetings into structured, polished documents. The assistant synthesizes across many conversations and outputs formatted reports.
Examples:
* "Generate an executive summary of all leadership meetings this month, focusing on revenue, product milestones, and risks"
* "Create a board update covering Q2 progress against our strategic pillars"
* "Draft an investor memo summarizing product traction and customer feedback from the last 90 days"
Outputs are available as **PDF or Word documents**, ready for distribution. The content is grounded in what was actually discussed, not what someone remembered to write down.
***
## Pipeline and Revenue Intelligence [#pipeline-and-revenue-intelligence]
When connected to your CRM via integrations, the assistant combines what sales discussed in meetings with actual pipeline data from Salesforce or HubSpot.
Examples:
* "What's the current state of deals over $100K? What did the team say about them in the last two weeks?"
* "Which enterprise deals are at risk based on recent call sentiment?"
* "Summarize the pipeline review meeting and flag any deals where the CRM stage doesn't match what was discussed"
You see the full picture: what's recorded in the CRM and what was actually said in conversations. Discrepancies become visible immediately.
CRM integration requires connecting Salesforce or HubSpot via MCP. See [MCP Connections](/docs/integrations-and-workflows/mcp-connections) for setup.
***
## Example Prompts for Executives [#example-prompts-for-executives]
| What you need | What to ask the assistant |
| ---------------------- | -------------------------------------------------------------------------------------------- |
| Quick meeting briefing | "Give me the 3 key takeaways from today's leadership sync" |
| Team oversight | "What did the engineering team discuss this week? Any blockers?" |
| Strategic tracking | "How has our go-to-market strategy evolved over the last quarter?" |
| Board preparation | "Compile all strategic decisions from leadership meetings this quarter into a board summary" |
| Pipeline intelligence | "Which deals over $50K were discussed this week and what's their current status?" |
| Decision history | "When did we decide to deprioritize \[initiative], and what was the reasoning?" |
| Risk identification | "Are there any customer escalations or churn risks mentioned in meetings this month?" |
| Cross-team alignment | "What did product and sales each say about the Q3 roadmap? Are there conflicts?" |
| Investor prep | "Draft a 1-page investor update based on this month's all-hands and leadership meetings" |
| Accountability check | "List all action items assigned to VPs in the last 30 days and their current status" |
***
## Get Started [#get-started]
Setup takes under 5 minutes. Once your calendar is connected, the assistant joins meetings automatically. You don't need to change how your organization runs meetings. Just let the recording happen, and everything becomes searchable.
1. [Create your account](https://app.optiverse.ai) (Google or Microsoft sign-in)
2. Connect your calendar
3. After any meeting is recorded, open it and ask the assistant your question
You can also ask your team to share their recordings with you, giving you visibility into meetings you never attended.
Want to see how Optiverse gives executive teams visibility? [Book a short call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta) and we'll show you live.
# How HR Teams Aggregate Interview Feedback and Track 1:1s with the Optiverse Assistant (/docs/resources/use-case-guides/hr-and-people-ops)
People decisions should be based on evidence, not impressions. The Optiverse assistant searches across recorded interviews, 1:1s, team meetings, and feedback sessions to give HR teams a complete, documented picture of what was said, by whom, and when.
***
## Aggregate Interview Feedback Across All Panelists [#aggregate-interview-feedback-across-all-panelists]
After an interview loop with multiple panelists, collecting and comparing feedback is slow. Each interviewer has their own notes (or none). The Optiverse assistant pulls feedback from all recorded interview sessions into one view.
**What to ask:**
* "Summarize all interview feedback for Alex Chen across all sessions"
* "Compare what each interviewer said about the candidate's technical problem-solving skills"
* "Did any interviewer raise concerns that others didn't mention?"
* "What strengths were mentioned by more than one interviewer?"
**What you get:**
* A consolidated summary covering all panelists' observations
* Areas of agreement (strengths everyone noticed)
* Areas of divergence (concerns raised by only one person)
* Specific quotes from each session
**How to use it:**
1. After the final interview session, run a summary query before the debrief meeting
2. Share the synthesized view with the hiring panel
3. Use it to structure the debrief conversation around actual observations rather than general impressions
4. Document the hiring decision with full attribution to what was discussed
This eliminates the bias of whoever speaks first in a debrief dominating the conversation. Everyone's input is already captured.
***
## Track 1:1 Themes Over Time [#track-11-themes-over-time]
Managers and employees discuss the same concerns, goals, and challenges across many 1:1s. Individually, each mention seems minor. Over time, patterns emerge that signal engagement, growth, or risk.
**What to ask:**
* "What topics has Jordan raised in their 1:1s over the last 3 months?"
* "Has anyone on the team mentioned burnout or workload concerns in recent 1:1s?"
* "How has Maria's career development discussion evolved since January?"
* "What did we commit to doing for this employee that hasn't been mentioned as resolved?"
**What this surfaces:**
* Recurring concerns that were acknowledged but never addressed
* Career growth aspirations that haven't been actioned
* Gradual shifts in engagement or enthusiasm
* Commitments made by the manager that need follow-through
**For HR specifically:**
When an employee raises a concern with HR, you can search their 1:1 history to understand the full context. This helps you determine whether this is a new issue or something that has been building for months.
***
## Prepare for Performance Reviews with Full Context [#prepare-for-performance-reviews-with-full-context]
Performance reviews should reflect the entire review period, not just the last two weeks. The assistant compiles evidence from all meetings involving an employee, giving you a documented, balanced view.
**What to ask:**
* "Summarize Maya's contributions and challenges mentioned across all meetings this review period"
* "What positive feedback has been given about this employee in team meetings and 1:1s?"
* "What areas for improvement have been discussed with this employee over the last 6 months?"
* "What goals were set at the beginning of Q1 and what progress was discussed?"
**What makes this powerful:**
* Reviews become evidence-based, not memory-based
* Recency bias is eliminated because the AI searches the full period
* Direct quotes from meetings provide specific examples (not vague impressions)
* Goals set earlier in the year are tracked against what was discussed as progress
**Practical workflow:**
1. Two weeks before review season, run a summary for each direct report
2. Identify specific examples of strengths and growth areas from actual meetings
3. Cross-reference goals that were set against progress discussed
4. Use the output as a starting framework for writing the review
***
## Identify Training Needs from Team Meetings [#identify-training-needs-from-team-meetings]
Skill gaps and process confusion surface naturally in team meetings. People ask questions, describe workarounds, or express frustration with tools. The assistant aggregates these signals across many meetings.
**What to ask:**
* "What challenges has the engineering team mentioned about our deployment process in the last quarter?"
* "Which topics keep coming up as confusion points in onboarding sessions?"
* "What tools or processes has the team described as frustrating or time-consuming?"
* "What questions have new hires asked repeatedly in their first month?"
**How to use for L\&D planning:**
1. Run a quarterly query across team meetings to identify pain points
2. Ask the assistant to group findings by theme (tools, processes, skills, knowledge)
3. Compare findings across teams to identify organization-wide training gaps
4. Use specific quotes and examples to build training content that addresses real needs
This gives Learning & Development teams real data instead of survey responses. The problems people describe in meetings are often more honest and specific than what they write in feedback forms.
***
## Onboarding Briefings for New Hires [#onboarding-briefings-for-new-hires]
When someone joins a team, they need weeks to absorb the context that existing members take for granted. The assistant can generate a briefing from recent team meetings so new hires ramp up faster.
**What to ask:**
* "Summarize the last month of marketing team meetings, focusing on active projects, team norms, and upcoming deadlines"
* "What are the team's current priorities and who owns what?"
* "What decisions were made in the last 30 days that a new team member should know about?"
* "What's the team's current working style based on recent discussions (meeting cadence, communication preferences, tools used)?"
**When to use:**
* First day: provide a briefing on team context and current priorities
* First week: answer specific questions about ongoing projects or past decisions
* First month: help the new hire understand recurring themes and team dynamics
This doesn't replace a proper onboarding plan. It supplements it by giving the new hire access to context that would otherwise take weeks of passive observation to absorb.
***
## Example Prompts for HR and People Ops [#example-prompts-for-hr-and-people-ops]
| What you need | What to ask the assistant |
| ------------------------ | --------------------------------------------------------------------------------------------------------------- |
| Interview debrief prep | "Summarize all interview feedback for \[candidate] and highlight areas where panelists disagreed" |
| 1:1 pattern analysis | "What topics has \[employee] raised in their 1:1s over the last 3 months?" |
| Performance review input | "List specific contributions and challenges discussed for \[employee] in all meetings this review period" |
| Training gap detection | "What skills or process gaps have been mentioned across \[team] meetings this quarter?" |
| Onboarding briefing | "Generate a 'state of the team' summary from the last month of \[team] meetings for a new hire" |
| Engagement signals | "Has anyone on \[team] mentioned burnout, workload concerns, or frustration in recent meetings?" |
| Goal tracking | "What goals were set for \[employee] at the beginning of the year and what progress has been discussed?" |
| Exit pattern analysis | "Across employees who left in the last 6 months, what concerns did they raise in their final 3 months of 1:1s?" |
| Culture monitoring | "What topics keep surfacing in all-hands or town hall meetings that might indicate cultural concerns?" |
| Manager effectiveness | "How often does \[manager] follow up on commitments made in 1:1s based on subsequent meetings?" |
***
## Important Considerations [#important-considerations]
* **Consent.** All meeting recordings require participant consent. Ensure your organization's recording policy covers interviews and 1:1s.
* **Access controls.** Optiverse respects access permissions. Only people with access to a recording can search its content. Sensitive 1:1 recordings should have appropriate sharing settings.
* **Use responsibly.** The assistant provides data from conversations. It doesn't make people decisions. Always apply human judgment to hiring, performance, and development conclusions.
Recording and access policies are managed at the workspace level. See [Access and Sharing](/docs/how-recording-works/access-and-sharing) for details on controlling who can view and search specific recordings.
***
## Get Started [#get-started]
Optiverse takes under 5 minutes to set up. Sign up, connect your calendar, and the assistant will join your meetings automatically. For sensitive meetings like interviews or 1:1s, you control exactly which meetings are recorded and who has access.
1. [Create your free account](https://app.optiverse.ai) (Google or Microsoft sign-in)
2. Connect your calendar and configure which meetings the assistant should join
3. Set access controls so 1:1 recordings stay private to the participants
4. After your first interview loop, try aggregating feedback across all panelists
Want to see how Optiverse fits HR workflows while maintaining privacy controls? [Book a short call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta) and we'll walk through it.
# Use Case Guides (/docs/resources/use-case-guides)
Every team has meetings. The difference is what happens after. These guides show how each role uses the Optiverse assistant to extract value from conversations automatically.
Automate meeting prep, send follow-ups instantly, and keep your CRM accurate without manual logging.
Monitor client health across every touchpoint and prepare for renewals with full conversation history.
Aggregate feature requests, track how decisions evolved, and generate product documents from discussions.
Get instant briefings on any meeting and cross-team visibility without attending every call.
Extract action items automatically, generate progress reports, and identify recurring blockers.
Aggregate interview feedback, track 1:1 themes over time, and prepare for performance reviews.
Switch between clients instantly, generate proposals from discovery calls, and track deliverables.
Mine customer language from real conversations and gather competitive intelligence from sales calls.
# How Marketing Teams Mine Customer Voice and Competitive Intel with the Optiverse Assistant (/docs/resources/use-case-guides/marketing-teams)
The best marketing copy uses words customers actually say. The strongest competitive positioning comes from what buyers tell your sales team. The most effective campaigns address real pain points, not assumed ones. All of this data lives in your organization's meetings. The Optiverse assistant lets you access it without attending a single sales call.
***
## Mine Customer Language from Real Conversations [#mine-customer-language-from-real-conversations]
Focus groups and surveys give you polished answers. Sales calls give you raw, honest language. The way a prospect describes their problem in a sales call is exactly how you should describe it in your marketing.
**What to ask:**
* "What words do prospects use to describe their biggest challenge when evaluating our product?"
* "How do customers describe the value they get from us in their own words?"
* "What phrases do buyers use when talking about the problem we solve?"
* "What analogies or comparisons do prospects make when explaining their current situation?"
**What you get:**
* Direct quotes from real conversations
* The emotional language buyers use (frustration, relief, excitement)
* The specific outcomes they care about, in their words
* Patterns in how different buyer personas frame the same problem
**How to use it:**
* Pull customer quotes for landing page headlines
* Use their exact phrasing in email subject lines and ad copy
* Build case study narratives using language the customer already used
* Validate (or invalidate) your current messaging against how buyers actually talk
This is voice-of-customer research without the research project. One query gives you what would normally require weeks of interviews and analysis.
***
## Competitive Intelligence from Sales and CS Calls [#competitive-intelligence-from-sales-and-cs-calls]
Competitors come up naturally in sales conversations. Prospects compare you, ask how you're different, mention what they liked or disliked about alternatives. This is the most honest competitive intelligence you'll ever get.
**What to ask:**
* "What have prospects said about \[competitor] in the last quarter?"
* "What reasons do prospects give for considering us over \[competitor]?"
* "When buyers mention \[competitor], what specific features or capabilities do they reference?"
* "What did prospects say they disliked about their current solution before evaluating us?"
* "How do buyers describe the difference between us and \[competitor]?"
**What this gives you that review sites don't:**
* Unfiltered buyer perceptions (not curated reviews)
* Specific feature comparisons from people actively evaluating both products
* The actual language buyers use to differentiate you from competitors
* Objections that only surface in live conversations
* Trends over time (is a competitor getting mentioned more or less?)
**Practical workflow:**
1. Run a quarterly competitive query across all sales meetings
2. Ask the assistant to identify the top mentioned competitors and the context
3. Pull specific quotes that reveal positioning gaps or opportunities
4. Feed findings into your competitive battlecard updates and messaging docs
***
## Track Campaign and Messaging Feedback [#track-campaign-and-messaging-feedback]
When sales reps present marketing materials to prospects, the feedback gets captured in the meeting recording. The assistant surfaces this feedback so you can iterate on messaging in real time.
**What to ask:**
* "What feedback has the sales team given about the new positioning in their calls this month?"
* "Have any prospects mentioned our recent case study, webinar, or content?"
* "When reps present the new deck, what questions do prospects ask?"
* "What parts of our messaging resonate most based on prospect reactions in calls?"
* "Which claims in our materials have prospects pushed back on?"
**Closing the feedback loop:**
Marketing creates content. Sales uses it. Prospects react to it. But that reaction data rarely makes it back to marketing. The Optiverse assistant closes this loop automatically by searching across all sales conversations for mentions of your materials, messaging, and campaigns.
***
## Generate Content Grounded in Customer Voice [#generate-content-grounded-in-customer-voice]
Content that's grounded in real conversations outperforms content written from assumptions. The assistant helps you create briefs, outlines, and drafts that use actual customer language and real pain points.
**What to ask:**
* "Generate a blog outline about data migration challenges using the pain points customers mentioned in sales calls this quarter"
* "Draft messaging for the new analytics feature using language customers have actually used when requesting it"
* "What are the top 5 outcomes customers describe getting from our product? Use their exact words."
* "Create a content brief about \[topic] based on questions prospects frequently ask in discovery calls"
**What makes this effective:**
* Content addresses problems people actually have (not problems you assume they have)
* Headlines and hooks use language the audience already uses
* Proof points come from real customer quotes, not fabricated testimonials
* SEO benefits from matching the actual search language buyers use
***
## Collaborate with Sales on Positioning [#collaborate-with-sales-on-positioning]
The gap between what marketing says and what sales hears in the field is one of the biggest sources of misalignment. The assistant bridges this gap with data.
**What to ask:**
* "Compare what our marketing materials say about \[feature] with how prospects react to it in calls"
* "What questions do prospects always ask that our materials don't answer?"
* "Which value propositions does the sales team use most often in their pitches?"
* "What language does the sales team use to describe our product that differs from our official messaging?"
**How to use these insights:**
* Update marketing materials to address the questions prospects actually ask
* Align official messaging with the pitch language that's working for sales
* Create enablement content that fills gaps the sales team has identified
* Remove claims or positioning that prospects consistently push back on
***
## Example Prompts for Marketing Teams [#example-prompts-for-marketing-teams]
| What you need | What to ask the assistant |
| ----------------------- | ---------------------------------------------------------------------------------- |
| Voice of customer | "What exact words do prospects use to describe the problem we solve?" |
| Competitive positioning | "What do buyers say about \[competitor] vs. us in sales calls?" |
| Campaign feedback | "Have prospects or reps mentioned our \[campaign/content] in recent calls?" |
| Content ideas | "What questions do prospects ask most frequently in discovery calls?" |
| Messaging validation | "When reps present our value prop, what resonates and what falls flat?" |
| Case study material | "What outcomes has \[customer] described achieving? Pull direct quotes." |
| SEO research | "What language do buyers use when describing their need for a product like ours?" |
| Sales enablement gaps | "What questions does the sales team struggle to answer based on recent calls?" |
| Persona research | "How do different buyer roles (VP vs. Director vs. IC) describe the same problem?" |
| Win/loss analysis | "In deals we lost, what reasons did prospects give for choosing the competitor?" |
***
## Workflow Tips [#workflow-tips]
* **Run monthly voice-of-customer queries.** Pull fresh language from recent sales calls every month. Customer language evolves, and your messaging should evolve with it.
* **Attend fewer calls, search more.** You don't need to shadow sales calls to understand buyers. Search across hundreds of conversations in seconds.
* **Build a living competitive file.** Update your competitive intelligence quarterly by asking what prospects have said about each competitor.
* **Connect content to pipeline.** Search for which content pieces get mentioned in winning deals vs. losing deals to understand what actually influences buyers.
* **Share findings with sales.** Run queries that benefit both teams. When marketing and sales work from the same customer language, alignment happens naturally.
***
## Get Started [#get-started]
You don't need to attend sales calls to access the insights inside them. Once your sales and CS teams are recording with Optiverse, you can search across their conversations from the homepage.
1. [Create your free account](https://app.optiverse.ai) (Google or Microsoft sign-in)
2. Make sure recordings from sales and CS calls are shared with you or your workspace
3. Open Multi-Meeting Search on the homepage and start querying customer conversations
4. Try a voice-of-customer query to see the immediate value
Setup takes under 5 minutes. The real unlock for marketing comes when your organization has a library of customer conversations. Every recorded call becomes a source of authentic voice-of-customer data.
Want to see how Optiverse gives marketing teams access to buyer conversations? [Book a short call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta) and we'll show you live.
# How Product Managers Aggregate Feedback and Track Decisions with the Optiverse Assistant (/docs/resources/use-case-guides/product-managers)
Product decisions happen in conversations. Customer calls, internal syncs, sprint retros, stakeholder reviews. The problem is that those conversations scatter insights across dozens of meetings with no easy way to connect them. The Optiverse assistant searches across all of them and gives you structured answers grounded in what was actually said.
***
## Aggregate Feature Requests Across All Meetings [#aggregate-feature-requests-across-all-meetings]
Feature requests come from everywhere. Customer calls, sales handoffs, CS escalations, internal brainstorms. Without a systematic way to aggregate them, you end up prioritizing based on whoever was loudest in the last meeting.
**What to ask:**
* "What have customers said about reporting capabilities across all meetings this quarter?"
* "List every feature request mentioned in customer calls this quarter, grouped by frequency"
* "Which pain points have been raised by more than three different clients?"
* "What workarounds are customers describing for problems we haven't solved yet?"
**What you get:**
* A consolidated list of requests, grouped by theme
* Frequency counts showing how many different people raised each item
* Direct quotes from conversations so you can hear the customer's actual words
* Context about who requested what and how urgently they framed it
**How to use it:**
1. Run a monthly feature request aggregation across all customer-facing meetings
2. Ask the assistant to rank them by frequency and urgency
3. Share the results with your team as input for roadmap planning
4. Reference specific customer quotes when making prioritization decisions in stakeholder meetings
This replaces the manual process of reading through CRM notes, Slack messages, and meeting summaries. One query gives you what would take a full day to compile.
***
## Track How Decisions Evolved Over Time [#track-how-decisions-evolved-over-time]
Product decisions rarely happen in a single meeting. They evolve through discussion, pushback, new information, and compromise. The Optiverse assistant traces the full arc so you never lose the reasoning behind a decision.
**What to ask:**
* "What did we decide about the pricing tier structure and how has that decision changed over the last 6 months?"
* "What were the arguments for and against the microservices approach across all architecture meetings?"
* "When did we first discuss deprecating the legacy API, and what was the original timeline?"
* "Who raised concerns about the mobile-first strategy and what were their specific objections?"
**Why this matters:**
* **New team members** can understand why something was built a certain way without asking five people
* **Revisiting decisions** becomes easier because you can see what information was available when the original choice was made
* **Stakeholder alignment** improves when everyone can access the documented reasoning, not just the outcome
**Practical use:**
When someone asks "why did we build it this way?" you can answer in seconds with exact references to the conversations where the decision was made, who advocated for it, and what alternatives were considered.
***
## Align Stakeholders with Shared Context [#align-stakeholders-with-shared-context]
Cross-functional alignment breaks down when different teams have different information. Before a planning meeting, use the assistant to understand what each team is actually saying about a topic.
**What to ask:**
* "Compare what engineering, sales, and CS have said about the onboarding flow in the last quarter"
* "What has the sales team told prospects about our roadmap timeline for integrations?"
* "Are there any contradictions between what marketing is positioning and what engineering is planning to deliver?"
* "What concerns has the design team raised about the current proposal?"
**What this surfaces:**
* Misalignment between what's being promised to customers and what's being built
* Different teams operating on different assumptions about timelines
* Concerns raised in one team's meetings that haven't reached other teams
* Opportunities where multiple teams are independently asking for the same thing
Use this before any cross-functional sync. Walking in knowing where each team stands lets you facilitate alignment instead of discovering misalignment live in the meeting.
***
## Generate Product Documents from Discussions [#generate-product-documents-from-discussions]
Turning meeting discussions into structured documents is tedious. The assistant does it for you, pulling directly from what was discussed and decided.
**What to ask:**
* "Generate a product requirements document from the last three planning meetings about the notification system"
* "Create a one-pager summarizing the new pricing model based on our strategy discussions"
* "Draft a feature brief for the mobile push notifications project using decisions from last month's meetings"
* "Compile a competitive analysis document from everything the sales team has reported about competitors"
**What makes this different from writing it yourself:**
* Every statement in the document traces back to an actual conversation
* Decisions are attributed to specific people and meetings
* Open questions are flagged automatically
* Conflicting opinions are noted rather than hidden
The output is a first draft, not a final document. But it gives you a comprehensive starting point that captures everything discussed, so you spend your time refining rather than remembering.
***
## Sprint and Quarterly Review Reports [#sprint-and-quarterly-review-reports]
At the end of a sprint or quarter, you need to report on what was accomplished, what was deprioritized, and what's next. The assistant compiles this from your actual discussions.
**What to ask:**
* "What did the team commit to in sprint planning this month, and what was actually delivered based on retro discussions?"
* "Generate a quarterly product review covering all planning meetings from Q2"
* "What were the main themes in our sprint retros over the last 3 months?"
* "List everything we deprioritized this quarter and the reasons discussed"
**Use cases:**
* **Sprint retros**: Prepare a data-driven summary of what was planned vs. discussed as complete
* **Quarterly reviews**: Generate a comprehensive narrative of the quarter without writing from scratch
* **Roadmap updates**: Cross-reference what was committed against what was shipped
* **Leadership reports**: Produce a polished summary of product progress for executive stakeholders
***
## Example Prompts for Product Managers [#example-prompts-for-product-managers]
| What you need | What to ask the assistant |
| ----------------------- | --------------------------------------------------------------------------------------------------- |
| Feature request roundup | "List all feature requests from customer calls this quarter, grouped by theme and frequency" |
| Decision archaeology | "What did we decide about \[feature] and how has that decision changed over the last 6 months?" |
| Stakeholder alignment | "Compare what engineering and sales have said about the timeline for \[feature]" |
| PRD generation | "Generate a product requirements document from the last 3 planning meetings about \[feature]" |
| Competitive intel | "What have customers and prospects said about \[competitor] in the last quarter?" |
| Sprint review prep | "Summarize what was committed vs. delivered based on sprint planning and retro meetings this month" |
| Roadmap defense | "What customer quotes support prioritizing \[feature]? Pull exact words from meeting transcripts" |
| Impact assessment | "How many clients have mentioned \[problem] and what business impact did they describe?" |
| Open questions | "What unresolved questions have come up in \[project] meetings that still need a decision?" |
| Onboarding a new PM | "Give me the full history of decisions and reasoning for \[product area] over the last year" |
***
## Workflow Tips [#workflow-tips]
* **Run a monthly feedback aggregation.** Set a recurring reminder to query "What feature requests and pain points came up in customer meetings this month?" This keeps your backlog grounded in real demand.
* **Query before planning meetings.** Before any roadmap or prioritization session, ask the assistant what customers have actually said. It's harder to dismiss data-backed requests than anecdotal ones.
* **Use it for writing.** When drafting PRDs, specs, or briefs, ask the assistant to pull relevant context from past discussions. It's faster than re-reading meeting notes and you won't miss anything.
* **Trace decisions when challenged.** When someone questions a past decision, pull the full conversation history in seconds. This depersonalizes disagreements and refocuses on the reasoning.
***
## Get Started [#get-started]
Setup takes under 5 minutes. Connect your calendar, and every meeting from that point forward becomes searchable. The more customer calls and internal syncs you record, the richer the feedback data you can aggregate.
1. [Create your free account](https://app.optiverse.ai) (Google or Microsoft sign-in)
2. Connect your calendar and set the assistant to join customer calls and planning meetings
3. After a few meetings, try a feature request aggregation query
4. Use the results in your next prioritization discussion
You don't need to change how you work. Just let the assistant record, and all the feedback and decisions become queryable.
Want to see how Optiverse works for product teams? [Book a short call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta) and we'll show you live with your own meeting data.
# Automatic Action Items and Progress Reports from Project Meetings | Optiverse (/docs/resources/use-case-guides/project-managers)
Project managers live in meetings. Standups, sprint reviews, steering committees, 1:1s. Optiverse captures everything and lets you pull structured outputs from those conversations instantly. No more manual note-taking, no more chasing people for updates, no more writing status reports from memory.
***
## Automatic Action Item Extraction with Owners and Deadlines [#automatic-action-item-extraction-with-owners-and-deadlines]
After any project meeting, open the recording page and ask OptiAgent:
> "Extract all action items with owners and deadlines from this meeting"
The AI pulls action items directly from the conversation. This includes items that were mentioned casually ("I'll have that ready by Friday") but never formally recorded on a whiteboard or in a shared doc.
You can refine further:
* "What did Sarah commit to delivering?"
* "List all action items assigned to the engineering team"
* "Which action items from this meeting don't have a deadline?"
This gives you an accountability trail grounded in what people actually said. If someone later claims they never agreed to a deliverable, you have the source.
For cross-meeting tracking, use Multi-Meeting Search on the homepage:
> "What action items from the last 3 sprint planning meetings are still unresolved?"
The assistant compares what was promised against what was discussed in follow-up meetings and flags items that were never mentioned again.
***
## Generate Progress Reports from Project Meetings [#generate-progress-reports-from-project-meetings]
Instead of spending 30 minutes writing a weekly status update, go to the homepage and ask:
> "Summarize everything discussed about Project Atlas this week"
Or be more specific:
> "Generate a progress report on the mobile app redesign from the last 3 meetings"
The AI produces a structured report that includes:
* **Decisions made** (with who made them and when)
* **Current blockers** and who owns them
* **Next steps** and committed timelines
* **Open questions** that still need resolution
You can ask for the output in different formats:
* "Format this as a bullet-point executive summary"
* "Make it a one-page PDF report"
* "Export as a Word document I can attach to an email"
The report is grounded in what was actually discussed. Every claim can be traced back to a specific conversation.
***
## Identify Recurring Blockers [#identify-recurring-blockers]
Some issues surface in every meeting but never get resolved. They're easy to miss in individual notes but obvious when you look across multiple conversations.
Ask the assistant on the homepage:
> "What issues have been raised more than once in Project Atlas meetings this month?"
Or try:
> "What keeps coming up as a blocker in our weekly engineering syncs?"
The AI identifies patterns across your meetings:
* A dependency that's been "almost ready" for three sprints
* A vendor integration that blocks multiple teams
* A resource constraint mentioned repeatedly but never escalated
This turns your meeting history into an early warning system. You can escalate persistent blockers with data showing exactly how many times the issue has surfaced and which people raised it.
***
## Timeline Visualization of Project Decisions [#timeline-visualization-of-project-decisions]
When a project has been running for months, it's hard to remember when key decisions were made and what led to them.
Ask:
> "Create a timeline of all major decisions for Project Atlas over the last quarter"
The assistant generates a structured timeline showing:
* What was decided
* When it was decided
* Who was in the meeting
* What alternatives were discussed before the decision
This is valuable for:
* **Retrospectives**: Understanding the sequence of decisions that led to current outcomes
* **Onboarding**: Bringing new team members up to speed on project history
* **Stakeholder alignment**: Showing leadership exactly when and why directions changed
You can also ask for visual outputs:
> "Generate a Mermaid diagram showing the key milestones and decision points for this project"
***
## Draft Stakeholder Updates Instantly [#draft-stakeholder-updates-instantly]
Stakeholder emails take time because you need to balance detail with brevity and make sure nothing important is missing. Let the AI draft it for you.
On the homepage, ask:
> "Draft a status update email to the steering committee based on this week's project meetings"
The generated email includes:
* A brief executive summary
* Key decisions and their rationale
* Current risks and mitigation plans
* Upcoming milestones and deadlines
You can customize the tone and audience:
* "Make it suitable for C-level stakeholders. Keep it under 200 words."
* "Include more technical detail. This is for the engineering leadership team."
* "Add a section about budget implications based on what was discussed"
Every statement in the email traces back to an actual conversation. No generic filler, no assumptions.
***
## Example Prompts for Project Managers [#example-prompts-for-project-managers]
| What you need | What to ask the assistant |
| --------------------------- | ---------------------------------------------------------------------------------------- |
| Action items from a meeting | "Extract all action items with owners and deadlines from this meeting" |
| Accountability check | "What did \[person] commit to delivering in the last 2 weeks?" |
| Weekly progress report | "Generate a progress report on \[project] from this week's meetings" |
| Recurring blockers | "What issues have come up more than once in \[project] meetings this month?" |
| Decision history | "Create a timeline of all major decisions for \[project] this quarter" |
| Stakeholder email | "Draft a status update email for the steering committee based on this week's meetings" |
| Retrospective prep | "What went wrong in \[project] based on discussions from the last month?" |
| Resource tracking | "Which teams or people have been flagged as overloaded in our recent planning meetings?" |
| Risk identification | "What risks or concerns have been raised about \[project] in the last 4 weeks?" |
| Meeting prep | "Summarize all open items and unresolved questions from the last \[project] meeting" |
***
## Workflow Tips [#workflow-tips]
* **Run extraction right after each meeting.** Ask OptiAgent on the recording page for action items while context is fresh. The AI works from the transcript, so it never forgets or misattributes.
* **Use Multi-Meeting Search for cross-meeting analysis.** Anything that spans multiple conversations (trends, recurring issues, progress over time) works best from the homepage.
* **Set a weekly routine.** Every Friday, ask for a progress report covering that week's project meetings. Copy it into your project management tool or send it directly to stakeholders.
* **Combine with protocols.** Set up a custom protocol for your project meetings that auto-generates action items, decisions, and blockers after every call. This gives you structured output without having to ask each time.
***
## Get Started [#get-started]
Optiverse takes under 5 minutes to set up. Connect your calendar, let the assistant join your next project meeting, and you'll have a searchable record with automatic action items waiting for you afterward.
1. [Create your free account](https://app.optiverse.ai) (Google or Microsoft sign-in)
2. Connect your calendar and set the assistant to join your project meetings
3. After the first meeting, open the recording page and ask for action items
4. Try a cross-meeting progress report after you have a few meetings recorded
Every meeting you record adds to the searchable project history. Within a week, you can run progress reports and blocker analyses across all your project conversations.
Want to see how Optiverse fits project management workflows? [Book a short call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta) and we'll walk you through it.
# How Sales Teams Automate Meeting Prep and Follow-Ups with the Optiverse Assistant (/docs/resources/use-case-guides/sales-teams)
Sales reps spend hours every week on meeting prep, follow-up emails, and CRM updates. Optiverse eliminates that busywork. Every call is recorded, transcribed, and searchable. The AI assistant turns those conversations into instant prep briefs, ready-to-send emails, deal intelligence, and pipeline reports.
This guide covers the specific workflows that make Optiverse indispensable for sales teams.
***
## Prepare for Every Call in Seconds [#prepare-for-every-call-in-seconds]
Before a call, you need context: what was discussed last time, what was promised, where the deal stands, and what to bring up next. Normally this means digging through CRM notes, old emails, and your own memory. With Optiverse, it takes seconds.
**How it works:**
1. Open the Optiverse homepage (Multi-Meeting Search)
2. Drag an upcoming calendar event into the search bar
3. The AI automatically pulls all previous meetings with that person or company, open action items, CRM deal stage, and relevant context
4. You receive a structured briefing with suggested talking points
The assistant searches your full meeting history with that contact. It surfaces commitments you made, questions they asked, pricing discussed, objections raised, and anything left unresolved. If your CRM is connected, it also pulls the current deal stage and pipeline value.
**What you get:**
* Summary of all previous interactions with this contact
* Open action items from past meetings
* CRM deal stage and last activity date
* Key topics and decisions from prior calls
* Suggested talking points for the upcoming meeting
This replaces 15 to 30 minutes of manual prep with a 10-second drag and drop. You walk into every call fully briefed, even if you haven't spoken to this prospect in months.
***
## Send Follow-Up Emails Directly from the Recording [#send-follow-up-emails-directly-from-the-recording]
After a sales call, the follow-up email matters. It confirms next steps, reinforces value, and keeps the deal moving. With Optiverse, you draft and send that email in under a minute.
**How it works:**
1. Open the recording page after your call
2. Ask OptiAgent to draft a follow-up email
3. The AI writes a complete email grounded in what was actually discussed
4. Click **Send via Gmail** to send it directly (recipient, subject, and body are pre-filled)
The email isn't a generic template. It references specific topics, pricing points, next steps, and commitments from the conversation. The prospect sees a personalized, accurate follow-up within minutes of hanging up.
**Example prompts:**
* "Draft a follow-up to Sarah confirming the pricing we discussed and the next steps we agreed on"
* "Write an email to the prospect summarizing our demo and proposing a timeline for the pilot"
* "Send a thank-you email to the buying committee with the key points we covered today"
* "Draft a follow-up confirming the contract terms we agreed to on this call"
**Why this matters:** Speed-to-follow-up correlates directly with win rates. When your follow-up arrives while the conversation is still fresh, it reinforces your professionalism and keeps momentum alive.
***
## Track Deal Conversations Over Time [#track-deal-conversations-over-time]
Complex B2B deals span months and dozens of meetings. Details get lost. Optiverse gives you a complete, searchable history of every conversation with any account.
**How it works:**
Open Multi-Meeting Search on the homepage and ask questions that span your full meeting history with a prospect or customer. The AI searches across all recorded calls and synthesizes the answer.
**Example prompts:**
* "How has the pricing discussion with Acme evolved over the last 3 months?"
* "What objections has the buyer raised across all our calls, and how did we address them?"
* "What did we commit to delivering before the next meeting with Globex?"
* "When did we first discuss the enterprise tier with this account?"
* "List every decision maker mentioned in our meetings with this company"
**What this unlocks:**
* **Deal reviews**: See the full arc of a deal in one query instead of reading ten call notes
* **Handoffs**: When a deal changes owners, the new rep gets instant context on everything discussed
* **Negotiation prep**: Know exactly what was said about pricing, timelines, and terms before entering final negotiations
* **Accountability**: Verify what was actually committed versus what was assumed
***
## Keep Your CRM Accurate Without Manual Logging [#keep-your-crm-accurate-without-manual-logging]
CRM data decays fast. Reps forget to log calls, update deal stages, or note next steps. When Optiverse is connected to HubSpot or Salesforce via MCP integrations, the AI bridges the gap between what was discussed and what's in the CRM.
**How it works:**
The assistant combines your meeting transcripts with your CRM data. It can identify mismatches, missing updates, and stale records by comparing what was said in recent calls against what's currently logged.
**Example prompts:**
* "Which deals discussed this quarter haven't been updated in the CRM?"
* "Compare what was discussed in my last call with Acme to what's in their HubSpot deal record"
* "What next steps did I commit to this week that aren't logged anywhere?"
* "List all meetings from this month where a deal stage change was discussed but not updated"
**Practical use:** Run these queries at the end of every week. In two minutes, you catch CRM gaps that would otherwise go unnoticed until a pipeline review surfaces them.
CRM queries require a connected HubSpot or Salesforce integration via MCP. See [MCP Connections](/docs/integrations-and-workflows/mcp-connections) for setup instructions.
***
## Discovery Call Intelligence [#discovery-call-intelligence]
Individual discovery calls reveal buyer pain points. But patterns across many discovery calls reveal market insights. Optiverse makes those patterns visible.
**How it works:**
After running multiple discovery calls, use Multi-Meeting Search to analyze them collectively. The AI identifies recurring themes, common objections, and frequently mentioned pain points across all your conversations.
**Example prompts:**
* "Summarize all discovery calls from last month"
* "What are the top 3 pain points prospects mentioned this quarter?"
* "Which competitors were mentioned most frequently in discovery calls?"
* "What's the most common reason prospects give for evaluating a new solution?"
* "Compare the objections from enterprise prospects vs. mid-market prospects"
**Who benefits:**
* **Reps** refine their pitch based on what actually resonates
* **Sales managers** identify coaching opportunities and adjust messaging
* **Product teams** hear unfiltered market feedback without attending calls
* **Marketing** gets real language from buyers to use in content and ads
***
## Weekly Pipeline Reports from Conversations [#weekly-pipeline-reports-from-conversations]
Instead of manually compiling status updates, ask the Optiverse assistant to generate pipeline reports from your actual conversations.
**How it works:**
1. Open Multi-Meeting Search on the homepage
2. Ask for a report covering the time period you need
3. The AI searches all relevant meetings, extracts progress, and compiles a structured report
4. Export as PDF or Word document if needed
**Example prompts:**
* "Make a progress report on all active deals"
* "Summarize every client meeting from this week with next steps for each"
* "Generate a pipeline update covering all calls from the past two weeks"
* "Create a weekly sales report with deal status, blockers, and committed next steps"
**Use cases:**
* **Monday team meetings**: Share a single report covering all deal activity from the prior week
* **Manager 1:1s**: Show up with an automatically generated summary of your week
* **End-of-quarter reviews**: Generate a comprehensive account history without digging through notes
* **CRM hygiene**: Cross-reference the report with your CRM to catch gaps
Reports can be downloaded as PDF or Word documents, making them easy to share with stakeholders who aren't on Optiverse.
***
## Example Prompts for Sales Teams [#example-prompts-for-sales-teams]
| What you need | What to ask the assistant |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| **Prepare for an upcoming call** | "I have a meeting with \[name] in 5 minutes. Give me everything I need to know." |
| **Send a follow-up email** | "Draft a follow-up email to \[name] confirming the pricing and next steps from this call." |
| **Track pricing discussions** | "How has the pricing conversation with \[company] evolved over the last 3 months?" |
| **Identify CRM gaps** | "Which deals discussed this quarter haven't been updated in HubSpot?" |
| **Analyze discovery calls** | "What are the top pain points prospects mentioned in discovery calls this month?" |
| **Generate a pipeline report** | "Summarize all client meetings from this week with next steps and deal status." |
| **Prepare for negotiations** | "What has \[company] said about budget, timeline, and decision process across all our calls?" |
| **Handle objections** | "What objections has \[prospect] raised and how did we address them?" |
| **Coach a rep** | "Summarize \[rep name]'s last 5 discovery calls and identify patterns in how they handle pricing questions." |
| **Draft a proposal recap** | "Write an email summarizing the proposal we walked through today, with the 3 options and their pricing." |
***
## Get Started [#get-started]
Setting up Optiverse takes under 5 minutes. Sign up, connect your calendar, and the assistant joins your next meeting automatically. After that first call, everything described on this page becomes available to you.
1. [Create your free account](https://app.optiverse.ai) (Google or Microsoft sign-in)
2. Connect your calendar and choose your join preferences
3. Let the assistant join your next sales call
4. Open the recording page after the call and start asking questions
Your first follow-up email, meeting prep briefing, or pipeline report is one conversation away.
Want to see how Optiverse fits your team's workflow? [Book a short call](https://www.optiverse.ai/meeting?utm_source=academy\&utm_medium=cta) and we'll walk you through it live.