Manage meetings and provider connections
Manage meeting content, visibility, sharing, access requests, deletion, and personal or team Krisp and Granola connections.
These workflows change shared meeting content, meeting access, or provider connections. At the end, verify the durable meeting or connection state; a success banner, queued job, email, or notification is not sufficient proof on its own.
Before you begin
You need:
- a signed-in account with a current non-guest membership in the intended organization;
- access to each meeting whose content you will change;
- current ownership or current organization-member attendance before changing visibility, sharing, or deletion;
- an organization-admin role for a Team-wide connection, or ownership of the Personal connection you will manage;
- an approved Krisp workspace or a Granola Business or Enterprise account for provider setup;
- confirmation that the intended notification, provider-delivery, retention, and deletion effects are acceptable.
Never copy a webhook capability URL, secret header value, Granola API key, recording, private transcript, or participant data into documentation, tickets, or unapproved support channels.
Manage meeting content
Anyone who can open the full meeting page can use its meeting-content controls. The resulting star, tags, notes, summary, and action items belong to the meeting; they are not private to the person making the change.
- Open the approved meeting.
- To change the shared star state, select the star control in the header.
- To replace the meeting’s tag set, select Tags, enter comma-separated names, and select Save tags.
- On Summary, edit Notes, then select Save notes.
- To generate a summary, select Summarize. It queues asynchronous work and requires enabled AI plus transcript text. If a summary already exists, confirm Regenerate summary only after reviewing that the current summary will be replaced.
- Wait while the control shows Generating…. Updated the summary means the stored summary was refreshed; Could not generate a summary right now means it was not.
- On Action items, select Extract from meeting to add missing parsed items. Extraction checks structured provider data, then the meeting outline, then summary text. If those sources contain no action item, current production extraction adds nothing and does not send the meeting text to an external AI fallback.
- To create an item yourself, enter Add an action item and select Add. Use its checkbox to move it between open and done, or use Delete action item to remove it.
Re-extraction does not replace the list. It skips provider items already seen, preserves manual items, and retains existing completion states.
Change meeting visibility
Only a current owner or a current organization-member attendee can use these controls.
- Open the meeting and review its title, participants, current visibility, and existing explicit shares.
- On a private meeting, select Share with org and review the confirmation that every current organization member will be able to see it.
- On an organization-visible meeting, select Make private and review the confirmation that only its participants, owner, and explicitly shared members keep access.
- Confirm the action, then verify Org-visible — set by NAME or Private — set by NAME on the meeting page.
A real visibility change schedules email and in-app notifications for current organization-member attendees and the current owner, excluding the actor. External attendees and departed members are not recipients. A manual Make private choice also pins the meeting against later automatic publication.
Share with one organization member
- Open a meeting you currently own or attended as an organization member.
- Select Share.
- Under Share with, select the reviewed current non-guest member.
- Select Share and verify Shared the meeting with NAME.
- To revoke that explicit share later, reopen Share, select Remove beside the member, and confirm Remove access.
A new share creates an in-app notification for the recipient. It grants access to the whole meeting but does not make the recipient an owner or permit them to manage visibility, shares, or deletion. Revoking the share does not remove access when another basis, such as attendance or organization visibility, still applies.
Request access to a private meeting
Request access creates the pending request and its email and in-app notifications. An eligible resolver later chooses Approve or Reject.
- Open the approved meeting link while signed in to the intended organization workspace.
- Confirm that the masked page shows the limited meeting identity—title, date, duration, participant labels, and This meeting is private—without transcript, summary, notes, utterances, or action items. Under the stranded-administrator fallback, Access requests can also appear without revealing that meeting content.
- In Message, optionally enter up to 2,000 characters explaining the approved need.
- Select Request access once.
- Confirm Access requested. Only one pending request for this requester and meeting can exist at a time.
The request notifies the current organization-member attendees and current owner by email and in-app notification, excluding the requester. If none remains, current organization administrators receive the request so it is not stranded.
Resolve an access request
An owner or current organization-member attendee can answer. An administrator can answer only under the narrow fallback where the owner is absent or has left and no attendee remains a current member. That fallback can display Access requests on the masked page without exposing the meeting content.
- Open the meeting and locate Access requests.
- Review the requester and optional message.
- Select Approve to create an explicit meeting share, or Reject to resolve the request without creating one.
- Confirm the selected action. A requester cannot resolve their own request, and a request already answered by someone else cannot be answered again.
Approval and request resolution commit together. The requester receives email and an in-app notification when still a current member. A rejected requester can ask again; requests have no expiry or cooldown.
Delete a meeting
Delete meeting is irreversible and triggers a best-effort email side effect after the meeting is removed.
Only a current owner or current organization-member attendee can delete a meeting.
- Review the meeting title, transcript, summary, action items, visibility, and recipients before proceeding.
- Select Delete.
- In Delete meeting, confirm only when permanent deletion and its email side effect are intended.
- Verify that Conversations returns to the meetings browser and that the deleted meeting no longer appears.
Deletion cannot be undone. It removes the Infra One meeting and its dependent Conversations records, then signals Contacts to attempt removal of the derived meeting log. It does not delete the source meeting at the provider. Conversations makes a best-effort email attempt to the other current organization-member attendees and current owner, naming the actor. It excludes the actor, external attendees, departed members, and share-only viewers, and it creates no in-app link to the deleted record. A Contacts or email failure does not restore the deleted meeting.
Set up Krisp
Use Add team connection only as an organization administrator. Any current non-guest member can create their own Krisp connection with Add personal connection.
If the team needs both providers, add the team Krisp connection before connecting team Granola. Add team connection is available only while the team list is empty, whereas Connect Granola remains available after Krisp exists.
- Open Connections and choose the intended Team-wide or Personal section.
- Select Add team connection or Add personal connection. Conversations creates an enabled Krisp connection, shows its Webhook URL, and keeps its Secret header value masked as Hidden.
- In Krisp’s approved webhook settings, use Copy webhook URL and Copy secret header value to enter both values. Add the secret as the request-header value named
x-krisp-webhook-secret. If manual verification is required, use Reveal secret header value, then Hide secret header value immediately afterward. - Subscribe the endpoint to
transcript_createdandnote_generated. The events can arrive in either order; Conversations merges them into the same meeting. - Send only the approved provider test or meeting delivery.
- Return to Conversations and verify that the card shows Disable, indicating that the connection is enabled. Then require Active, no Last error, and the expected meeting record. Last received can advance on a failed attempt, so its timestamp alone is not success.
Treat both values as credentials. Keep the secret masked, and do not paste, transcribe, or capture either value outside the approved provider configuration flow. The team card currently renders its webhook URL to ordinary workspace members as well as administrators; that visibility does not make the capability safe to disclose.
Recover or retire Krisp
For Krisp recovery, resend approved missed deliveries from Krisp History because Krisp does not retry automatically.
| Action | Effect and required recovery |
|---|---|
| Rotate secret | The old secret stops working immediately. Krisp clears fields left blank during an edit, so re-enter both the current URL and the new secret. Deliveries fail until both are saved; Krisp does not retry them automatically. Resend missed meetings from Krisp History. |
| Disable | Incoming deliveries are rejected immediately. Enable accepts future deliveries again, but missing meetings must be resent from Krisp History. |
| Delete | The endpoint and secret are destroyed and cannot be restored. Create and configure a new connection from scratch. Already-ingested meeting records remain until separately deleted. |
Connect and sync Granola
Granola uses scheduled API polling, not a webhook. Team-wide Granola connections require an organization administrator; a personal connection belongs to the signed-in user.
A new Granola connection requests an initial 30-day poll. Later, Sync now attempts to enqueue an incremental poll; its success message is not proof that a job was inserted or that ingestion ran.
- Open Connections and locate Connect Granola under the intended Team-wide or Personal section.
- Paste the approved Granola API key from a Business or Enterprise account. Do not expose the key after entry.
- Select Connect. Conversations verifies the key against Granola before storing the connection.
- Confirm Connected Granola. Syncing your meetings. This proves the connection was stored and the initial poll was requested, not that a job was inserted or ingestion finished.
- Wait for Last synced and confirm the expected completed meetings appear. A new connection searches the preceding 30 days and then advances incrementally.
- For a later incremental check, select Sync now. Started the sync. New meetings will appear shortly. acknowledges the enqueue attempt; it does not prove a job exists. Wait for Last synced and verify the intended meeting.
Granola supplies completed-note text and summary data but not speaker diarization. The current import stores an empty utterance list, so the Transcript tab shows No transcript utterances available. and no speaker or talk-time rows for Granola meetings. Repeated polls are idempotent, and a poll can resume after its per-run page limit.
Disable pauses polling until the connection is enabled again. Selecting Sync now while disabled can still show the success message, but any inserted job performs no poll; select Enable first. Delete removes the stored connection and cannot be undone; it does not remove meetings already ingested or the source notes in Granola. The current page has no key-replacement control, so replacing an invalid or expired key requires deleting the connection and connecting again. A reconnected source begins a new 30-day initial window.
Success check
For meeting-content changes, reload the meeting and verify the exact star, tags, notes, summary, or action-item state. For visibility or sharing, verify the resulting state from an account that is supposed to retain or gain access; do not probe with an unauthorized account. For access requests, verify Access requested, the resolved state, or the approved requester’s newly available meeting as appropriate.
For either provider, first require the Disable control, which means the connection is enabled. For Krisp, also require Active, no Last error, and the expected ingested meeting. For Granola, require Active, no Last error, and the expected completed meeting. Last received and Last synced can advance on recorded failures, so a timestamp, banner, sync request, provider delivery attempt, notification, or email is not proof of the durable result.
Troubleshooting
If meeting-management controls are absent, confirm that the account is the current owner or a current organization-member attendee. An administrator role, organization visibility, or explicit share alone is insufficient.
If Summarize is unavailable, verify that AI features are on and the meeting contains transcript text. If extraction adds nothing, check whether the provider data, outline, or summary contains a new action item; extraction deliberately preserves and deduplicates existing items.
If Krisp stops delivering after rotation or disablement, do not wait for automatic retry. Correct both provider fields, enable the connection, and resend approved missing meetings from Krisp History.
If Granola connects but no meeting appears, wait for Last synced, confirm the note is completed and within the initial 30-day window, and then use Sync now once. See Troubleshoot Conversations for provider error states and safe escalation evidence.