Skip to main content

Overview

Every WaterrAI session follows a predictable lifecycle. Understanding this flow helps you build reliable integrations.

Lifecycle Stages

1

Create a Meeting

API call: POST /meetingsYou create a meeting by passing a scenario_id and person_name. The API returns:
  • daily_meeting_url — the video room URL
  • room_token — authentication token for the room
  • id — the meeting ID (use this to fetch results later)
Status: created
2

Participant Joins

The participant opens the daily_meeting_url (or you embed it in your app). They:
  1. See the welcome screen with persona info
  2. Grant microphone/camera permissions
  3. Accept consent (if enabled)
  4. Enter the live session
Status: active
3

Session Active

During the session:
  • The AI persona conducts the conversation based on the meeting script
  • Audio is transcribed in real-time
  • Video is recorded (if enabled)
  • Vision capabilities process camera/screen input (if enabled)
The session runs until:
  • The participant leaves
  • The duration limit is reached
  • You call PUT /meetings/{id}/end
4

Session Ends

When the session ends:
  • Recording is finalized and uploaded
  • Transcript is processed into sentences
  • Goal evaluation begins
Status: ended
5

Analysis Generated

Within 30-60 seconds after the session ends:
  • AI evaluates the transcript against each goal
  • Scores, feedback, and speech analytics are generated
  • Results are stored and available via API
Status: Analysis available at GET /analyses/meeting/{id}Email notifications are sent to configured recipients.

Polling for Results

After a meeting ends, analysis takes 30-60 seconds to generate. Poll for it:
For production, set up email notifications to get results automatically. Webhooks are coming soon as an additional option.

Fetching Results

Once analysis is ready, fetch all session data:

Ending a Meeting Programmatically

To end a meeting from your server (e.g., time limit reached):