How it works
When you set ausername on the conferencing layer, Tavus provisions a real, invitable email address for the PAL (for example ada@tavusinvite.com). From there:
- You (or anyone on the PAL’s allowlist) send a Google Calendar invite to that email, with a Google Meet link attached.
- Tavus receives the invite, validates the sender, and replies
Acceptedto the organizer. - For a scheduled meeting, the PAL joins the Google Meet call about one minute before the start time. For a meeting already in progress, it joins shortly after the invite is accepted (see Joining a meeting that’s already in progress).
- The PAL participates with its face’s likeness and voice.
Prerequisites
- A PAL with a
default_face_id. This is required whenever the conferencing layer is provided - the face supplies the likeness and voice the PAL uses in the meeting. A request that sets the conferencing layer without a default face is rejected with a400. - A standard
fullpipeline PAL (system prompt, LLM, TTS, etc.) configured as you would for any CVI conversation.
Configuring the conferencing layer
Add aconferencing object to layers when you create a PAL:
username
The local part of the PAL’s meeting email. The full address is rendered as <username>@tavusinvite.com.
Rules:
- Length & characters: must be 2+ characters, start and end with an alphanumeric character, and may contain
.,_, or-in between (pattern:^[a-zA-Z0-9][a-zA-Z0-9._-]*[a-zA-Z0-9]$). - Case-insensitive: usernames are stored and matched in lowercase.
Annaandannaare the same identity. - Reserved names: usernames matching
botN(e.g.bot1,bot42) are reserved for internal use and rejected. - Global uniqueness: see Username uniqueness & limitations below.
allowlist
An optional list controlling who is allowed to invite the PAL to meetings. Each entry is either:
- an exact email address - e.g.
"alex@acme.com", or - a regular expression matched against the sender’s email - e.g.
".*@acme\\.com"to allow anyone atacme.com.
- If
allowlistis empty or omitted, any sender can invite the PAL. - If
allowlistis set, calendar invites from senders that don’t match any entry are rejected (the PAL declines), and the invite never schedules a join. - Google’s forwarding address (
forwarding-noreply@google.com) is always permitted internally; you don’t need to add it.
Checking availability before you commit
Before saving a username, you can check whether it’s free with Check Conferencing Username Availability:available is false with a reason:
Username uniqueness & limitations
All non-whitelabel PALs share a single email domain (tavusinvite.com), so the username is a global namespace:
- A username must be unique across the entire
tavusinvite.comdomain, not just within your account. If another PAL - including one owned by a different customer - already usesanna, you cannot also useanna; you’ll get a400telling you to choose a different username. - This is first-come, first-served. Pick a distinctive username (for example, prefix it with your product or company name like
acme-anna) to avoid collisions and to reserve the identity you want. - Renaming a PAL’s username frees the old name and provisions the new one. Any calendar invites that were sent to the old address will no longer reach the PAL, so prefer choosing a stable username up front.
Join a Google Meet via API
Instead of sending a calendar invite, you can have a PAL join an existing Google Meet by passing the Meet link when you Create Conversation:This path does not use the conferencing
allowlist - authorization is your API key.Scheduling calls via Google Calendar invites
Once a PAL has a conferencing email, scheduling it into a meeting is exactly like inviting a coworker:- Create a Google Calendar event and add a Google Meet link to it (Google Calendar’s “Add Google Meet video conferencing”).
- Invite the PAL’s email (e.g.
anna@tavusinvite.com) as a guest. - Send the invite. The PAL replies
Acceptedto the organizer once the invite is received and authorized. - The PAL joins the Google Meet call about one minute before the start time and participates with its face’s likeness and voice.
The invite must include a Google Meet link. If a calendar invite has no Google Meet link, the PAL replies with a
Declined, since there is nothing to join.Joining a meeting that’s already in progress
You don’t have to schedule the PAL ahead of time. If a Google Meet is already running, invite the PAL’s conferencing email to that calendar event the same way you would for a future meeting - add the PAL’s address (for exampleanna@tavusinvite.com, from its configured username) as a guest on the event that holds the active Google Meet link.
The PAL accepts the invite and joins the call shortly after, rather than waiting until one minute before a future start time. The same rules apply: the event must include a Google Meet link, and the sender must pass the PAL’s allowlist if one is set.
Recurring meetings
Recurring calendar events are supported. The PAL will join each occurrence of the series at its scheduled time. Editing or cancelling occurrences is reflected automatically (see below).Updates, reschedules, and cancellations
The system stays in sync with changes you make in Google Calendar:- Reschedule (new time) or change the meeting link → the join is automatically rescheduled to the new time/URL.
- Other edits (title, description, guest list) → metadata is updated without disrupting the scheduled join.
- Cancel the event → the scheduled join is cancelled. For a recurring series, cancelling a single occurrence cancels only that one; cancelling the series cancels all remaining occurrences.
Allowlist enforcement at invite time
If the PAL has anallowlist, the invite’s sender (the calendar event organizer) must match it. Invites from senders not on the allowlist are silently rejected and no join is scheduled. With no allowlist, anyone who can email the PAL’s address can schedule it.
Supported meeting platforms
Currently, PALs can only join Google Meet calls. The invite must contain a Google Meet link.Zoom and Microsoft Teams support is coming soon. Invites with Zoom or Teams links are recognized, but the PAL cannot join those calls yet - only Google Meet is live today.
Modifying conferencing on an existing PAL
Use Patch PAL to add, change, or remove conferencing settings with JSON Patch operations:End-to-end example
@acme.com Google account, create a calendar event with a Google Meet link and invite acme-anna@tavusinvite.com. Anna replies Accepted, and joins the call automatically a minute before it begins.
See Create PAL and Patch PAL for the full request schema.

