Meetings API
Retrieve meetings scheduled by your chatbots during conversations.
List Meetings
GET /api/v1/meetings
Required Scope: meetings:read
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 20 | Number of records (1-100) |
offset | integer | 0 | Number of records to skip |
chatbot_id | UUID | - | Filter by chatbot |
status | string | - | Filter by status |
since | ISO 8601 | - | Get meetings updated after timestamp |
upcoming | boolean | false | Only return future meetings |
Example Request
curl -X GET "https://app.leezy.ai/api/v1/meetings?upcoming=true&limit=10" \
-H "Authorization: Bearer lzy_at_your_token"
Response
{
"data": [
{
"id": "meeting_abc123",
"type": "meeting",
"attributes": {
"chatbot_id": "chatbot_xyz789",
"conversation_id": "conv_def456",
"title": "Product Demo - Acme Corp",
"description": "Demonstration of enterprise features and integration capabilities.",
"start_time": "2024-01-20T15:00:00Z",
"end_time": "2024-01-20T15:30:00Z",
"timezone": "Europe/Berlin",
"attendee": {
"name": "Lisa Thompson",
"email": "lisa.thompson@acme.com",
"phone": "+1-555-0199"
},
"status": "scheduled",
"meeting_url": "https://meet.google.com/abc-defg-hij",
"meeting_provider": "google_meet",
"cancelled_at": null,
"cancelled_reason": null,
"created_at": "2024-01-15T10:45:00Z",
"updated_at": "2024-01-15T10:45:00Z"
}
}
],
"meta": {
"api_version": "2024-01-01",
"total": 8,
"limit": 10,
"offset": 0,
"has_more": false,
"count": 8
}
}
Meeting Object
| Field | Type | Description |
|---|---|---|
id | string | Unique meeting identifier |
chatbot_id | UUID | Chatbot that scheduled the meeting |
conversation_id | UUID | Source conversation |
title | string | Meeting title |
description | string | Meeting description/agenda |
start_time | ISO 8601 | Scheduled start time |
end_time | ISO 8601 | Scheduled end time |
timezone | string | Attendee's timezone |
attendee.name | string | Attendee name |
attendee.email | string | Attendee email |
attendee.phone | string | Attendee phone |
status | string | Meeting status |
meeting_url | string | Video conference URL |
meeting_provider | string | Video platform used |
cancelled_at | ISO 8601 | Cancellation timestamp |
cancelled_reason | string | Reason for cancellation |
created_at | ISO 8601 | Creation timestamp |
updated_at | ISO 8601 | Last update timestamp |
Status Values
| Status | Description |
|---|---|
scheduled | Meeting is scheduled |
confirmed | Attendee confirmed |
completed | Meeting took place |
cancelled | Meeting was cancelled |
no_show | Attendee did not show |
Meeting Providers
| Provider | Description |
|---|---|
google_meet | Google Meet |
zoom | Zoom |
teams | Microsoft Teams |
custom | Custom meeting URL |
Filtering Examples
# Get upcoming meetings only
GET /api/v1/meetings?upcoming=true
# Get all scheduled meetings for a chatbot
GET /api/v1/meetings?chatbot_id=abc123&status=scheduled
# Poll for newly scheduled meetings
GET /api/v1/meetings?since=2024-01-15T00:00:00Z
Error Responses
| Status | Error | Description |
|---|---|---|
| 401 | unauthorized | Missing or invalid token |
| 403 | insufficient_scope | Token lacks meetings:read scope |
| 403 | plan_required | Paid plan required |
Next Steps
- Webhooks - Get real-time
meeting.scheduledevents - Zapier Integration - Add meetings to your calendar