Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions apps/docs/docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@
"integrations/supabase",
"integrations/supermemory",
"integrations/vercel",
"integrations/voice",
"integrations/x",
"integrations/zero"
]
Expand Down
1 change: 1 addition & 0 deletions apps/docs/integrations/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ from [Personal Settings](/personal-settings).
| <IntegrationName href="/integrations/supabase" icon="supabase" name="Supabase" /> | Read-only database access in Supabase | Enable first, then teammates link accounts |
| <IntegrationName href="/integrations/supermemory" icon="/logo/integrations/supermemory.svg" name="Supermemory" /> | Shared memory across tasks and Fast sessions | Admin connection once |
| <IntegrationName href="/integrations/vercel" icon="vercel" name="Vercel" /> | Deployments, logs, and domain availability | Admin connection once |
| <IntegrationName href="/integrations/voice" icon="voice" name="Voice" /> | Voice calls with Roomote on Fast Sessions | Admin connection once |
| <IntegrationName href="/integrations/x" icon="x" name="X" /> | Public X posts, users, trends, and news | Admin connection once |
| <IntegrationName href="/integrations/zero" icon="/logo/integrations/zero.svg" name="Zero" /> | Paid external capabilities via Zero | Admin connection once |

Expand Down
27 changes: 27 additions & 0 deletions apps/docs/integrations/voice.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
title: Voice
description: Let your team talk to Roomote on a voice call.
icon: 'audio-lines'
---

Connect Voice when you want people to [talk to Roomote](/voice) on a call from
any Fast Session, on the home page, or in the New Session dialog.

## How setup works

A deployment admin connects Voice once from **Settings > Integrations** with an
OpenAI API key from a project that has GPT-Live access. We recommend a key
separate from any key used for task inference, so voice can be billed and
revoked on its own.

## What to expect

Voice is a credential-only integration. Roomote uses the key on the control
plane to open GPT-Live calls and to clean up spoken transcripts; agents receive
no tools from it, and the key is not sent to task sandboxes. The browser sends
its WebRTC connection offer to Roomote and receives only the negotiated answer.

Self-hosted operators can instead set `R_VOICE_OPENAI_API_KEY`. When both are
present the environment variable is used. Roomote's general `OPENAI_API_KEY`
is never used for voice, so enabling OpenAI for task inference does not turn
voice on.
8 changes: 8 additions & 0 deletions apps/docs/logo/integrations/voice.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions apps/docs/snippets/integration-name.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ export function IntegrationName({ href, icon, name }) {
granola: '/logo/integrations/granola.svg',
monday: '/logo/integrations/monday.svg',
rippling: '/logo/integrations/rippling.svg',
voice: '/logo/integrations/voice.svg',
};
const iconSrc =
manualIcons[icon] ??
Expand Down
9 changes: 6 additions & 3 deletions apps/docs/voice.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,13 @@ separate voice-only agent.

## Enabling voice

Voice uses OpenAI GPT-Live-1 and is available on deployments that set
`R_VOICE_OPENAI_API_KEY` to a key from an OpenAI project with GPT-Live access.
Voice uses OpenAI GPT-Live-1 and needs an OpenAI API key from a project with
GPT-Live access. A deployment admin can enter one from **Settings >
Integrations > Voice**, or a self-hosted operator can set
`R_VOICE_OPENAI_API_KEY`; the environment variable is used when both exist.
Voice is opt-in: the deployment's general `OPENAI_API_KEY` is not used, so
enabling OpenAI for task inference does not turn voice on.
enabling OpenAI for task inference does not turn voice on. See the
[Voice integration](/integrations/voice) page for details.

When the voice key is not configured the voice button does not appear. The key
stays on the control plane. The browser sends its WebRTC connection offer to Roomote
Expand Down
68 changes: 68 additions & 0 deletions apps/web/src/components/settings/Integrations.test.tsx

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading