Bots API

Manage automated meeting attendance bots for various platforms.

Send Bot

Send a bot to attend a meeting on your behalf.

Platform

Request

POST /v1/bots/send

curl -X POST "https://api.vexa.ai/v1/bots/send" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "platform": "google_meet",
  "meeting_link": "https://meet.google.com/xxx-yyyy-zzz",
  "duration_minutes": 60,
  "name": "Meeting Bot"
}'

Response

200 OK

{
  "bot_id": "bot_12345",
  "status": "connected",
  "meeting_info": {
    "platform": "google_meet",
    "link": "https://meet.google.com/xxx-yyyy-zzz",
    "start_time": "2024-03-27T18:30:00Z"
  }
}

Remove Bot

Remove a bot from an ongoing meeting.

DELETE/v1/bots/{bot_id}
curl -X DELETE "https://api.vexa.ai/v1/bots/{bot_id}" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response

{
  "status": "disconnected",
  "disconnect_time": "2024-03-27T19:30:00Z"
}

Web Module for Audio Streaming

As an alternative to using bots, you can integrate our web module to stream audio directly from your application.

Integration

Add the following script to your HTML:

<script src="https://cdn.vexa.ai/web-module.js"></script>

Usage Example

const vexa = new VexaAudioStream({
  apiKey: 'YOUR_API_KEY'
});

// Start streaming
await vexa.startStreaming();

// Stop streaming
await vexa.stopStreaming();

Events

The web module emits the following events:

  • connected: Stream connection established
  • disconnected: Stream connection ended
  • error: Error occurred during streaming
  • transcription: Real-time transcription received

Event Handling Example

vexa.on('connected', () => {
  console.log('Connected to streaming service');
});

vexa.on('transcription', (data) => {
  console.log('Received transcription:', data);
});

vexa.on('error', (error) => {
  console.error('Streaming error:', error);
});