create meeting invite
Invite a persona to join a Google Meet, Zoom, or Microsoft Teams meeting.
Provide exactly one of personaId for a saved persona, or personaConfig
for a runtime persona configuration. The runtime persona configuration is
used to start the meeting session but is not stored on the meeting invite.
The invite is created in pending status. displayName is normalized to
include an AI disclosure suffix before the persona joins the meeting.
By default the persona joins immediately. Provide joinAt to schedule
the join for a future time; scheduling at least 10 minutes ahead
reserves the persona a guaranteed place on the call, which is the most
reliable way to join meetings that are planned in advance.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Meeting URL and persona selection for the invite.
- Option 1
- Option 2
Request body for inviting a persona to a meeting.
Google Meet, Zoom, or Microsoft Teams URL to join. URLs without a scheme are normalized to https://.
"https://meet.google.com/abc-defg-hij"
Saved persona ID to use for the meeting invite. Mutually exclusive with personaConfig.
"00000000-0000-0000-0000-000000000000"
Optional display name for the meeting participant. The API appends an AI disclosure suffix when one is not already present.
100"Cara"
Region the persona joins the call from. Pick the region closest to the meeting's participants. When omitted, a region is selected automatically from the requester's location.
eu, us-east, us-west "eu"
How strictly to honor the selected region. preferred may serve the invite from another region when the selected region has no capacity or is not currently offered; strict never leaves the selected region and returns a capacity error instead. strict requires an explicit region.
preferred, strict "preferred"
When the persona should join the meeting (ISO 8601 with timezone). Must be in the future and no more than 7 days ahead. Scheduling at least 10 minutes ahead reserves the persona a guaranteed place on the call; shorter lead times join on time but use on-demand capacity and can be rejected at busy moments. When omitted, the persona joins immediately.
"2026-07-04T15:00:00Z"
Group-call turn-taking. When true (the default) the persona joins silently and only responds when addressed by its display name. Set to false for 1:1 conversations over the meeting infrastructure — the persona then greets on join and responds to everything it hears, like a regular session.
true
Runtime persona configuration to use for this invite. Mutually exclusive with personaId; it must not include personaId.
Optional session-level configuration for the meeting session.
Optional label attached to the created session for analytics and debugging.
128"calendar-integration"
Response
Successfully created meeting invite
A meeting invite created for a persona.
Unique identifier for the meeting invite.
Meeting provider inferred from the meeting URL.
google_meet, zoom, microsoft_teams Normalized meeting URL.
Display name used in the meeting.
Current invite status.
pending, active, cancelled, ended, failed Time the invite was created.
Scheduled time the persona joins the meeting, or null when the persona was asked to join immediately.
Whether group-call turn-taking is enabled for this invite (respond only when addressed by name; silent join).
Engine session ID once the meeting session has started, otherwise null.
Region the persona joined the call from. May differ from the requested region when the invite was served by another region for availability. Additional region values may be introduced over time; treat unrecognized values as informational rather than an error.
eu, us-east, us-west, null Latest observed call-participation detail for the persona, updated asynchronously as the persona connects, waits for admission, joins, and leaves. Null until the first update arrives. Values may be added over time; treat unrecognized values as informational.
joining, waiting_room, in_call, media_denied, media_granted, media_active, left, done, error, null Reason attached to a terminal participation state — for example removed_by_host, meeting_ended, not_admitted, join_denied, meeting_link_invalid, meeting_not_started, idle_timeout, left_call, or provider_error. Null while the invite is in progress. Values may be added over time; treat unrecognized values as informational.

