hvac-marketing-skills/tools/integrations/livestorm.md
Corey Haines 3a85964305 feat: add 23 new CLI tools and integration guides
New tools across 13 categories:
- Email/Newsletter: beehiiv, klaviyo, postmark, brevo, activecampaign
- Data Enrichment: clearbit, apollo
- CRO/Testing: hotjar, optimizely
- Analytics: plausible
- Scheduling: calendly, savvycal
- Forms: typeform
- Messaging: intercom
- Social: buffer
- Video: wistia
- Payments: paddle
- Affiliate: partnerstack
- Reviews: trustpilot, g2
- Push: onesignal
- Webinar: demio, livestorm

Each tool includes a zero-dependency CLI and integration guide.
Registry and CLI README updated with all new entries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 11:28:41 -08:00

313 lines
6.7 KiB
Markdown

# Livestorm
Video engagement platform for webinars, virtual events, and online meetings with built-in analytics and integrations.
## Capabilities
| Integration | Available | Notes |
|-------------|-----------|-------|
| API | ✓ | Events, Sessions, People, Recordings, Webhooks |
| MCP | - | Not available |
| CLI | ✓ | [livestorm.js](../clis/livestorm.js) |
| SDK | - | REST API with JSON:API format |
## Authentication
- **Type**: API Token
- **Header**: `Authorization: {API_TOKEN}` (no prefix)
- **Content-Type**: `application/vnd.api+json` (JSON:API)
- **Scopes**: Identity, Events, Admin, Webhooks
- **Get token**: Account Settings > Integrations > Public API
- **Docs**: https://developers.livestorm.co/
## Common Agent Operations
### Ping (test authentication)
```bash
GET https://api.livestorm.co/v1/ping
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
```
### List events
```bash
GET https://api.livestorm.co/v1/events?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
```
### Create an event
```bash
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 event details
```bash
GET https://api.livestorm.co/v1/events/{event_id}
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
```
### Update an event
```bash
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"
}
}
}
```
### List sessions
```bash
GET https://api.livestorm.co/v1/sessions?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
```
### Create a session for an event
```bash
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"
}
}
}
```
### Register someone for a session
```bash
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": "attendee@example.com",
"first_name": "Jane",
"last_name": "Doe"
}
}
}
}
```
### List session participants
```bash
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
```
### Remove a registrant from session
```bash
DELETE https://api.livestorm.co/v1/sessions/{session_id}/people?filter[email]=attendee@example.com
Headers:
Authorization: {API_TOKEN}
```
### List session chat messages
```bash
GET https://api.livestorm.co/v1/sessions/{session_id}/chat-messages
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
```
### List session questions
```bash
GET https://api.livestorm.co/v1/sessions/{session_id}/questions
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
```
### Get session recordings
```bash
GET https://api.livestorm.co/v1/sessions/{session_id}/recordings
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
```
### List all people
```bash
GET https://api.livestorm.co/v1/people?page[number]=1&page[size]=25
Headers:
Authorization: {API_TOKEN}
Accept: application/vnd.api+json
```
### Create a webhook
```bash
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"
}
}
}
```
## API Pattern
Livestorm follows the JSON:API specification:
- All responses use `data`, `attributes`, `relationships` structure
- Pagination: `page[number]` and `page[size]` query parameters
- Filtering: `filter[field]=value` query parameters
- Events contain multiple Sessions; Sessions contain People
- ISO 8601 timestamps throughout
## Key Metrics
### Event Metrics
- `title` - Event title
- `slug` - URL-friendly identifier
- `estimated_duration` - Duration in minutes
- `registration_page_enabled` - Registration page status
- `everyone_can_speak` - Whether all attendees can speak
### Session Metrics
- `status` - Session status (upcoming, live, past)
- `estimated_started_at` - Scheduled start time
- `started_at` - Actual start time
- `ended_at` - Actual end time
- `timezone` - Session timezone
- `attendees_count` - Number of attendees
- `registrants_count` - Number of registrants
### People Metrics
- `email` - Contact email
- `first_name` / `last_name` - Contact name
- `registrant_detail` - Registration metadata
- `attendance_rate` - Attendance percentage
- `attended_at` - Join timestamp
- `left_at` - Leave timestamp
## Parameters
### Pagination
- `page[number]` - Page number (default: 1)
- `page[size]` - Items per page (default: 25)
### Event Attributes
- `title` - Event title (required for create)
- `slug` - URL slug
- `description` - Event description
- `estimated_duration` - Duration in minutes
### Session Attributes
- `estimated_started_at` - ISO 8601 start time
- `timezone` - IANA timezone string
### Registration Fields
- `email` - Registrant email (required)
- `first_name` - First name
- `last_name` - Last name
### Webhook Events
- `attendance` - Triggered on session attendance
- `registration` - Triggered on new registration
- `unregistration` - Triggered on unregistration
## When to Use
- Hosting product demos and marketing webinars
- Automated webinar registration and attendee management
- Tracking webinar engagement and attendance rates
- Retrieving session recordings for content repurposing
- Building custom registration pages with API-driven registration
- Syncing webinar data with CRM and marketing automation
- Monitoring session Q&A and chat for follow-up
## Rate Limits
- **10,000 API calls per 30-day period** (organization-wide)
- Rate limits shared across all API tokens in the organization
- Plan accordingly for high-volume operations
- Use webhooks instead of polling to conserve quota
## Relevant Skills
- webinar-marketing
- event-marketing
- lead-generation
- content-strategy
- lifecycle-marketing
- customer-engagement