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>
This commit is contained in:
@@ -0,0 +1,313 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user