tools/integrations/livestorm.md
Video engagement platform for webinars, virtual events, and online meetings with built-in analytics and integrations.
| Integration | Available | Notes |
|---|---|---|
| API | ✓ | Events, Sessions, People, Recordings, Webhooks |
| MCP | - | Not available |
| CLI | ✓ | livestorm.js |
| SDK | - | REST API with JSON:API format |
Authorization: {API_TOKEN} (no prefix)application/vnd.api+json (JSON:API)GET https://api.livestorm.co/v1/ping
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
GET https://api.livestorm.co/v1/events?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
POST https://api.livestorm.co/v1/events
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "events",
"attributes": {
"title": "Product Demo Webinar",
"slug": "product-demo-webinar",
"estimated_duration": 60
}
}
}
GET https://api.livestorm.co/v1/events/{event_id}
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
PATCH https://api.livestorm.co/v1/events/{event_id}
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "events",
"id": "{event_id}",
"attributes": {
"title": "Updated Webinar Title"
}
}
}
GET https://api.livestorm.co/v1/sessions?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
POST https://api.livestorm.co/v1/events/{event_id}/sessions
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "sessions",
"attributes": {
"estimated_started_at": "2025-06-15T14:00:00.000Z",
"timezone": "America/New_York"
}
}
}
POST https://api.livestorm.co/v1/sessions/{session_id}/people
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "people",
"attributes": {
"fields": {
"email": "[email protected]",
"first_name": "Jane",
"last_name": "Doe"
}
}
}
}
GET https://api.livestorm.co/v1/sessions/{session_id}/people?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
DELETE https://api.livestorm.co/v1/sessions/{session_id}/people?filter[email][email protected]
Headers:
Authorization: {API_TOKEN}
GET https://api.livestorm.co/v1/sessions/{session_id}/chat-messages
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
GET https://api.livestorm.co/v1/sessions/{session_id}/questions
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
GET https://api.livestorm.co/v1/sessions/{session_id}/recordings
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
GET https://api.livestorm.co/v1/people?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
POST https://api.livestorm.co/v1/webhooks
Headers:
Authorization: {API_TOKEN}
Content-Type: application/vnd.api+json
{
"data": {
"type": "webhooks",
"attributes": {
"target_url": "https://example.com/webhook",
"event_name": "attendance"
}
}
}
Livestorm follows the JSON:API specification:
data, attributes, relationships structurepage[number] and page[size] query parametersfilter[field]=value query parameterstitle - Event titleslug - URL-friendly identifierestimated_duration - Duration in minutesregistration_page_enabled - Registration page statuseveryone_can_speak - Whether all attendees can speakstatus - Session status (upcoming, live, past)estimated_started_at - Scheduled start timestarted_at - Actual start timeended_at - Actual end timetimezone - Session timezoneattendees_count - Number of attendeesregistrants_count - Number of registrantsemail - Contact emailfirst_name / last_name - Contact nameregistrant_detail - Registration metadataattendance_rate - Attendance percentageattended_at - Join timestampleft_at - Leave timestamppage[number] - Page number (default: 1)page[size] - Items per page (default: 25)title - Event title (required for create)slug - URL slugdescription - Event descriptionestimated_duration - Duration in minutesestimated_started_at - ISO 8601 start timetimezone - IANA timezone stringemail - Registrant email (required)first_name - First namelast_name - Last nameattendance - Triggered on session attendanceregistration - Triggered on new registrationunregistration - Triggered on unregistration