VIDEO CONFERENCING API DOCS

Complete guide to integrating real-time emotion analytics into video conferencing platforms

QUICK START

1

Get API Credentials

Register and receive your API key for authentication

2

Install SDK

Add our SDK to your video conferencing application

3

Track Emotions

Start capturing real-time emotion data during calls

JavaScript
// Initialize Monet Video Conferencing API
const monetVideoAPI = new MonetVideoAPI({
  apiKey: 'YOUR_API_KEY',
  endpoint: 'https://api.monetanalytics.com/v1/video'
});
JavaScript - Basic Usage
// Start emotion capture during video call
monetVideoAPI.startCapture({
  sessionId: 'meeting-session-id',
  participants: ['participant-1', 'participant-2'],
  onEmotionUpdate: (data) => {
    console.log('Participant emotions:', data);
    // Process real-time emotion data
  }
});

PLATFORM INTEGRATIONS

Integrate Monet emotion analytics with leading video conferencing platforms. Select your platform for detailed implementation guide.

Zoom Video SDK Integration

Track participant emotions during Zoom meetings

JavaScript
// Zoom Integration Example
import ZoomVideo from '@zoom/videosdk';

const zoomClient = ZoomVideo.createClient();

// Initialize Monet API
const monetVideoAPI = new MonetVideoAPI({
  apiKey: 'YOUR_API_KEY',
  endpoint: 'https://api.monetanalytics.com/v1/video'
});

// Join Zoom session
await zoomClient.join(sessionName, token, userName);

// Start emotion tracking for all participants
zoomClient.on('peer-video-state-change', (payload) => {
  if (payload.action === 'Start') {
    monetVideoAPI.trackParticipant({
      participantId: payload.userId,
      videoStream: payload.stream,
      sessionId: sessionName,
      onEmotionDetected: (emotions) => {
        // Store or display emotion data
        console.log(`Emotions for ${payload.userId}:`, emotions);
      }
    });
  }
});

// Get aggregate meeting analytics
const analytics = await monetVideoAPI.getMeetingAnalytics(sessionName);
console.log('Meeting sentiment:', analytics.overallSentiment);

Compatible with Zoom Video SDK for web, iOS, and Android

Real-time emotion tracking for all participants

Automatic meeting analytics and engagement reports

Microsoft Teams Integration

Add emotion analytics to Teams meetings and calls

JavaScript
// Microsoft Teams Integration Example
import * as microsoftTeams from '@microsoft/teams-js';

microsoftTeams.initialize();

// Initialize Monet API
const monetVideoAPI = new MonetVideoAPI({
  apiKey: 'YOUR_API_KEY',
  endpoint: 'https://api.monetanalytics.com/v1/video'
});

// Get meeting context
microsoftTeams.meeting.getMeetingDetails((error, meetingDetails) => {
  const sessionId = meetingDetails.id;
  
  // Start emotion capture for meeting
  monetVideoAPI.startMeetingCapture({
    sessionId: sessionId,
    meetingType: 'teams',
    onParticipantJoin: (participant) => {
      console.log('Tracking:', participant.displayName);
    },
    onEmotionUpdate: (emotions) => {
      // Real-time emotion updates for all participants
      updateDashboard(emotions);
    }
  });
});

// End tracking when meeting ends
microsoftTeams.meeting.registerOnEndMeetingHandler(() => {
  monetVideoAPI.stopCapture();
  monetVideoAPI.generateReport(sessionId);
});

Deploy as Teams app or tab extension

Access meeting metadata and participant info

Generate post-meeting engagement reports

Google Meet Integration

Track emotions and engagement in Google Meet

JavaScript
// Google Meet Integration Example
// Using Chrome Extension or Web SDK

const monetVideoAPI = new MonetVideoAPI({
  apiKey: 'YOUR_API_KEY',
  endpoint: 'https://api.monetanalytics.com/v1/video'
});

// Detect Google Meet session
const meetingCode = window.location.pathname.split('/').pop();

// Start emotion tracking
monetVideoAPI.startCapture({
  sessionId: `meet-${meetingCode}`,
  platform: 'google-meet',
  captureMode: 'all-participants',
  onEmotionUpdate: (data) => {
    // data contains emotions for all visible participants
    data.participants.forEach(participant => {
      console.log(`${participant.name}: ${participant.dominantEmotion}`);
    });
  },
  onEngagementAlert: (alert) => {
    // Get alerts for low engagement
    if (alert.level === 'low') {
      console.log('Engagement dropping:', alert.participants);
    }
  }
});

// Get meeting summary
monetVideoAPI.on('meeting-end', async () => {
  const summary = await monetVideoAPI.getSummary(meetingCode);
  console.log('Meeting Summary:', summary);
});

Chrome extension or web SDK integration

Low engagement alerts during meetings

Automatic meeting summaries with emotion insights

Cisco Webex Integration

Enhance Webex meetings with emotion analytics

JavaScript
// Cisco Webex Integration Example
import Webex from 'webex';

const webex = Webex.init({
  credentials: { access_token: ACCESS_TOKEN }
});

// Initialize Monet API
const monetVideoAPI = new MonetVideoAPI({
  apiKey: 'YOUR_API_KEY',
  endpoint: 'https://api.monetanalytics.com/v1/video'
});

// Join Webex meeting
const meeting = await webex.meetings.create(MEETING_ID);
await meeting.join();

// Track emotions during meeting
meeting.on('media:ready', (media) => {
  monetVideoAPI.startCapture({
    sessionId: meeting.id,
    platform: 'webex',
    videoStreams: media.remoteVideo,
    onEmotionUpdate: (emotions) => {
      // Real-time emotion tracking
      updateMeetingDashboard(emotions);
    }
  });
});

// Get analytics after meeting
meeting.on('meeting:stopped', async () => {
  const analytics = await monetVideoAPI.getAnalytics(meeting.id);
  console.log('Meeting Analytics:', analytics);
});

Integrates with Webex JavaScript SDK

Real-time dashboard updates during meetings

Post-meeting analytics and insights

Agora Integration

Add emotion tracking to Agora-powered video apps

JavaScript
// Agora Integration Example
import AgoraRTC from 'agora-rtc-sdk-ng';

const client = AgoraRTC.createClient({ mode: 'rtc', codec: 'vp8' });

// Initialize Monet API
const monetVideoAPI = new MonetVideoAPI({
  apiKey: 'YOUR_API_KEY',
  endpoint: 'https://api.monetanalytics.com/v1/video'
});

// Join Agora channel
await client.join(APP_ID, CHANNEL_NAME, TOKEN, null);

// Track remote participants
client.on('user-published', async (user, mediaType) => {
  await client.subscribe(user, mediaType);
  
  if (mediaType === 'video') {
    monetVideoAPI.trackParticipant({
      participantId: user.uid.toString(),
      videoTrack: user.videoTrack,
      sessionId: CHANNEL_NAME,
      onEmotionDetected: (emotions) => {
        console.log(`User ${user.uid} emotions:`, emotions);
      }
    });
  }
});

// Get session analytics
const analytics = await monetVideoAPI.getSessionAnalytics(CHANNEL_NAME);

Works with Agora RTC SDK

Track emotions for remote participants

Session-level analytics and engagement metrics

API CAPABILITIES

Multi-Stream Processing

Analyze emotions for multiple participants simultaneously

Real-Time Analytics

Get instant emotion updates with under 50ms latency

Engagement Tracking

Monitor participant attention and meeting engagement

Historical Analytics

Access past meeting data and trend analysis

Privacy Controls

Granular privacy settings and data encryption

Global Infrastructure

Low-latency processing across all regions

WEBHOOK DATA FORMAT

Receive real-time meeting analytics via webhooks. Here's the data structure for participant emotions and engagement:

JSON Response
// Webhook Data Format
{
  "sessionId": "meeting-abc-123",
  "timestamp": "2026-01-05T10:30:00Z",
  "participants": [
    {
      "participantId": "user-001",
      "name": "John Doe",
      "emotions": {
        "happy": 0.75,
        "engaged": 0.82,
        "neutral": 0.15,
        "confused": 0.10
      },
      "engagement": 0.85,
      "attention": 0.90,
      "speaking": true
    },
    {
      "participantId": "user-002",
      "name": "Jane Smith",
      "emotions": {
        "happy": 0.60,
        "engaged": 0.75,
        "neutral": 0.25,
        "bored": 0.15
      },
      "engagement": 0.72,
      "attention": 0.68,
      "speaking": false
    }
  ],
  "meetingMetrics": {
    "overallEngagement": 0.78,
    "avgAttention": 0.79,
    "dominantEmotion": "engaged",
    "participantCount": 2,
    "activeSpeaker": "user-001"
  }
}

Meeting Metrics Explained

Participant Emotions: Individual emotion scores for each participant (0-1 scale)

Engagement: Overall participant engagement level based on facial expressions (0-1 scale)

Attention: Visual attention and focus level for each participant (0-1 scale)

Meeting Metrics: Aggregate analytics including overall engagement, average attention, and dominant emotion

Active Speaker: Identifies currently speaking participant for context

USE CASES

Remote Training & Education

Monitor student engagement and comprehension during virtual classes. Identify confused or disengaged learners in real-time.

  • Track attention levels throughout sessions
  • Detect confusion or frustration
  • Measure overall class engagement

Sales & Client Meetings

Understand client reactions during presentations and pitches. Identify moments of interest or concern.

  • Gauge client interest and engagement
  • Identify objection signals
  • Optimize pitch timing and delivery

Remote Recruitment

Analyze candidate emotions and engagement during virtual interviews for better hiring decisions.

  • Assess confidence and authenticity
  • Detect stress or discomfort
  • Compare candidates objectively

Team Collaboration

Improve team dynamics by understanding emotional responses during meetings and brainstorming sessions.

  • Identify team sentiment trends
  • Spot disengaged team members
  • Measure meeting effectiveness

SUPPORT & RESOURCES

Developer Support

Get technical assistance from our integration team

Get API Access

Request credentials and start building today

Need a Custom Solution?

Our team can build custom integrations tailored to your specific video conferencing platform or workflow