# Meetings

> Calls and their transcripts, imported from Microsoft Teams, Zoom, Google Meet or text, matched to the team and the customers in the room.

Source: https://productos.ca/documentation/pages/golden-thread/meetings (last reviewed 2026-10-01)

The Meetings page holds the calls your team has had with customers and each other, with what was said. It is where customer conversations enter ProductOS before they become feedback, Work and deal blockers.

Meetings are in early access: an admin turns them on for the workspace.

## Bringing a meeting in

- **From Teams.** Select **Import transcript**, then **From Teams**, and connect Microsoft 365 the first time. Your Teams meetings from the last 30 days are listed with whether each has a transcript, and the list shows its progress while it reads your calendar. It opens on the meetings **Not imported** yet; turn that filter off to see the ones already in, or turn on **External people** for meetings with someone from outside your company. Select the ones to import, or select every meeting that is ready at once, or **Select only external**, and import as many as you like in one go. Tick **Process with ProductSense** beside Import to process them as they arrive. Meetings another organization ran are marked as not available to you. A meeting you chose to Follow in Teams is listed and imported under its own name, without Outlook's "Following:". Microsoft asks an admin to approve ProductOS once for your organization: if Connect stops at **Approval required**, select **Request approval** when Microsoft offers it, or open **Need your admin to approve ProductOS?** on the From Teams tab and send your admin the link there. They approve it from that page without a ProductOS account.
- **With Claude.** With Claude's Microsoft 365 connector and the ProductOS connector both on, ask Claude to bring a Teams meeting in, for example "import yesterday's Acme check-in". Claude reads the transcript from Teams and imports it, with the attendees.
- **Upload a file.** Select **Import transcript**, then drop the `.vtt` file. In Teams, open the meeting's **Recap**, then **Transcript**, and download it as `.vtt`. Zoom and Google Meet transcripts work the same way.
- **Paste text.** Paste a transcript copied from the Teams transcript panel as it comes, with its initials, names and times, or text with one `Name: text` line per turn. The dialog shows the first turns it read, so you can check the speakers before importing.

The import dialog shows how many turns and speakers it read before you import. Importing the same Teams transcript twice does nothing the second time: ProductOS matches it by Microsoft's transcript id, not by its title, so two meetings with the same name stay apart and each occurrence of a recurring meeting gets its own transcript.

## What you'll see

- **Lifecycle strip**: meetings by status: imported, processing, processed, failed
- **Table**: title with the accounts the meeting was with, date, status, the proposals waiting for review (and how many add to existing feedback), source, how many people and how long
- **Calendar**: the switch beside **Import transcript** (or `Shift+V`) shows the month, each meeting on its day with its time, status and proposals to review; on a phone it lists the month's meetings by day
- **Proposals**: the third view (`Shift+V` again) lists the proposals from every meeting in one table, with their meeting, accounts, confidence and status. Accept or reject one in its row, or select several and decide them together; filter by status (waiting, decided), kind and who said it. A proposal's title opens its meeting on the Proposals tab, for the quotes, options and edits. Keys: `j` and `k` move, `x` selects, `a` accepts, `r` rejects, `Enter` opens the meeting. Kinds that need a look one by one (status, Lead, account health) are left out of a bulk accept
- **Trends**: the fourth view groups the same ask heard across meetings. See [Trends across meetings](#trends-across-meetings)
- **Worth knowing**: meetings with proposals to review, customer calls not processed yet, runs that failed; select one to narrow the list
- **A meeting**: the transcript as speaker turns with times, each speaker marked as your team or the customer's account, and a search that narrows the turns. With contacts on, a speaker who is one of your [contacts](https://productos.ca/documentation/pages/workspace/contacts) shows as that person, with their job title and account. The Participants tab says who each person was matched to and has **Match people again**, for people added as contacts after the import; the rail lists the accounts, and **Download** saves the transcript file

## Processing a meeting with ProductSense

Select **Process with ProductSense** on a meeting, or select several meetings in the list and choose **Process with ProductSense** in the bar that appears. In a minute or two, for an hour of conversation, ProductOS reads the transcript and:

- writes the meeting's **Summary** tab: a summary, the decisions, the action items with their owners and due dates, and the risks raised. Each one links to the turn it came from.
- proposes **feedback** on the **Proposals** tab, in the customer's own words, with the quote, who said it and when. A proposal links the account the speaker is from and the Work or theme it is clearly about, and shows similar feedback already in the workspace. When the same request is already in the workspace, however it was worded, it proposes adding to that feedback instead of filing it again: the quote as a comment, one more vote, and this meeting's account and Work linked. When two meetings raise the same request, whichever proposal is accepted second adds to the feedback the first one created.

Nothing outside the meeting is written until you accept it. On each proposal: **Accept**, **Edit** the title and description first, **Reject**, or pick another option (create new feedback, or add the quote to a different match). Keys: `j` and `k` move, `a` accepts, `e` edits, `r` rejects. **Undo** reverses an accepted proposal; the feedback it created goes to the trash.

It also proposes what matters to sales and account teams:

- **Deal blockers**: something holding up a deal, a renewal or an expansion, on the account and linked to the Work it waits on, with the revenue at stake only when a figure was said. When the blocker is already tracked, it adds the new quote to it instead.
- **Account health**: evidence an account's health is changing (nobody receives its alerts, they are unhappy, they talk about leaving), as a comment with the quote and, when warranted, the churn risk moved one level. These are never part of **Accept all high confidence**.
- **Competitor mentions**: a competitor named while buying, comparing or replacing, added to that competitor's notes.
- **Market signals**: an outside trend or regulation worth tracking, dated to the meeting.

It also proposes changes to your Work and products heard in the meeting: a comment on the Work item, a status change ("that shipped"), a new Lead or assignee, a target date, a task, new Work to consider (linked to the feedback asking for it), a product renamed or a module added. Status rules apply: a status that would move Work backwards is offered as a comment instead. When two team members share the name someone said, the proposal asks you to pick who.

And win/loss records when a deal is said to be won or lost, persona pain points and goals, commitments made against a release, OKR progress said aloud, and objections raised against a competitor, for its battle card.

When you can see a proposal but your function cannot apply it (Sales reading that a Work item shipped), select **Request**. The Work item's Lead, or else an owner or admin, is notified and can open that one proposal and its quote, without access to the meeting.

The Summary tab keeps **Risks** (to the relationship, a deal or delivery) apart from **Findings reviewed**: the customer's own findings discussed in the meeting, such as their expiring certificates.

What it does not propose as feedback:

- Feedback on the tools your team uses (a tracker, a CRM, ProductOS itself) rather than on your own product. It is listed under **Feedback on other tools** on the Summary tab. When it cannot tell, the proposal says so.
- Comments on a slide deck, document or process. A task that comes out of them is an action item.
- An idea from your own team, unless it is relayed from a customer, is proposed as internal feedback, never with high confidence.

Processing again replaces the proposals still waiting and never proposes again what someone accepted or rejected. It uses your Anthropic key from **Settings, AI**, or the workspace's hosted key; a meeting costs a few cents. Processing is in early access, separate from meetings.

Every proposal says who said it:

| Pill | Who | Counted as |
|---|---|---|
| **Customer** | One of your contacts, or someone at a customer account | Customer demand |
| **Relayed** | Your team, passing on what a customer asked for (they said whose ask it was, or it is tied to an account) | Customer demand, for that account |
| **Team** | Your team's own idea | Not customer demand |
| **Unknown** | A speaker who matched no team member, contact or account | Neither, until you add them as a contact and select **Match people again** |

Claude can review the same proposals through the ProductOS connector: `list_meeting_proposals`, then `apply_meeting_proposals` for the ones you accept.

### Trends across meetings

The **Trends** view on the Meetings page groups proposals of the same kind and meaning from every meeting, so a request raised in five calls shows once, heard five times. Processing a meeting puts each new proposal into the trend it repeats, or starts a new one.

Each row shows how many calls raised it, how many customer accounts asked for it (and how many of those only your team passed on), how many teammates raised it as their own idea, when it was first and last heard, mentions in the last 14 days against the 14 before, and how many proposals are still waiting. A teammate repeating an idea in internal meetings is never counted as customer demand. Trends with the most customer accounts come first. Filter by **Show** (heard more than once, waiting for review, all asks), **Said by** (customers, your team, or both) and kind.

Select a trend to see every mention: who said it, the quote, the meeting and its accounts. From there:

- **Add all here** on the proposal to keep: it is accepted, and every other pending feedback proposal in the trend is added to the same feedback as a comment and a vote, with its accounts linked. Each can be undone from its meeting.
- **Link to Work** links the trend, and the feedback its accepted proposals made, to a Work item.
- **Reject pending** rejects every proposal still waiting in it.
- **Not the same** moves one proposal out into a trend of its own; **Merge** folds the trend into another of the same kind. The pencil renames it.

**Find repeats** (the ProductSense mark) asks the workspace model which trends are the same ask in different words ("User list does not show last login date" and "User list needs a last-login column") and merges them. It runs on your Anthropic key and costs a cent or two. Proposals from before trends existed are grouped by their words when you first open the view, so run it once there.

Claude can read trends through the connector with `list_meeting_trends`. Trends are in early access.

### Processing meetings as they arrive

Owners and admins can have meetings processed as soon as they are imported: select **Processing rules** on the Meetings page and choose every meeting, meetings with a customer account, or meetings from organizers you name. Each one runs on the key of the person who imported it, up to a daily limit you set. The Summary tab says which rule processed the meeting, or why a rule that applies did not run.

You can also let a rule accept two kinds on its own: a quote added to feedback that already exists (with its vote), and a comment on a Work item. Only proposals at high confidence with nothing to check are accepted, as the person who saved the rules; they show **Accepted automatically** and can be undone. Everything else waits for review.

## Automatic capture for your organization

An admin can have new Teams transcripts imported on their own, for the organizers they choose, from **Settings, Meetings**:

1. Select **Connect organization** and approve ProductOS as a Microsoft 365 admin.
2. Run the PowerShell the page shows for any check that is not done yet: a Teams application access policy, and Graph access to transcripts. Changes can take 30 minutes.
3. List the organizers whose meetings to capture, choose the rules (by default, only meetings with someone from outside your company), and select **Turn on capture**.

Each new transcript arrives within minutes; a daily check picks up any that were missed. Capture runs as the admin who turned it on.

## Who sees meetings

Meetings are their own area under **Settings, Functions & Access**, so a workspace can show sales calls to Sales and Product without showing them to everyone. The Engineering starter function does not include them.

## How long transcripts are kept

A transcript is kept for 120 days after it is imported, then removed. The meeting stays, with its participants and accounts.
