> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Livestorm

> Connect Livestorm to your Atako agents — 12 read and 4 write actions.

Let your agents run your Livestorm webinars — list events and sessions, schedule new ones, register participants, and pull attendance and replay links.

## Connection

* **Authentication**: API key (API token).

<Note>
  The API must first be opened for your workspace: ask Livestorm support ([help@livestorm.co](mailto:help@livestorm.co)) if it is not. Then, in app.livestorm.co → Account Settings → Integrations, scroll to the bottom and open the "Public API" card → generate a token. Give it at least the "Events" scope in write (events, sessions and participants) and "Admin" in read (team members). The token is shown only once.

  See [Livestorm's documentation](https://developers.livestorm.co/docs/api-token-authentication).
</Note>

## Read actions (12)

| Action | Description |
| - | - |
| `get_event` | Retrieve a single event by ID (IDs come from list\_events). |
| `get_person` | Retrieve someone's details by person ID (IDs come from list\_people). |
| `get_session` | Retrieve a single session by ID (IDs come from list\_sessions). |
| `list_event_sessions` | List the sessions of one event (event IDs come from list\_events). Same filters as list\_sessions. |
| `list_events` | List the events of the workspace. Optional filters: title (partial match), everyone\_can\_speak, scheduling\_status, tag (event tag title, comma-separated for several), and created/updated date bounds (ISO 8601 or Unix timestamp). |
| `list_people` | List everyone who engaged with a session of the workspace, team members included. Optional filters: role ("participant" or "team\_member") and email (exact match). |
| `list_people_attributes` | List the registration fields of the workspace — their slugs are the field ids register\_participant expects. Optional filters: name, slug, type, placeholder, description, builtin, user\_id. |
| `list_session_people` | List the participants of a session (id is the session ID). Optional filters: role ("participant" or "team\_member"), attended (boolean — who actually showed up), email (exact match), and created/updated date bounds. |
| `list_session_recordings` | List the recordings of a session, with temporary replay URLs. url\_expires\_in\_seconds (3600 to 604800) sets how long those URLs stay valid; it defaults to 12 hours. |
| `list_sessions` | List the sessions of every event in the workspace. Optional filters: status, date\_from/date\_to on the scheduled start, created/updated date bounds (ISO 8601 or Unix timestamp), and include\_breakout\_rooms. |
| `list_users` | List the team members of the organization — where the owner\_id create\_event needs comes from. Optional filters: role ("host" or "moderator"), email (case-insensitive) and pending\_invite. |
| `ping` | Check that the connected API token works (probe — takes no argument and needs no scope). |

## Write actions (4)

| Action | Description |
| - | - |
| `create_event` | Create an event. Required: title (string) and owner\_id (string, the ID of a team member holding a Host licence — get it from list\_users), plus at least one session in sessions (array of objects \{ estimated\_started\_at, timezone }, estimated\_started\_at as "YYYY-MM-DD HH:MM:SS" in the future and timezone as an IANA name like "Europe/Paris"). Optional: copy\_from\_event\_id (string, duplicates another event's settings), slug (string), status ("draft" or "published"), description (HTML string), and the booleans everyone\_can\_speak, detailed\_registration\_page\_enabled, light\_registration\_page\_enabled, recording\_enabled, recording\_public, show\_in\_company\_page, chat\_enabled, questions\_enabled, polls\_enabled. |
| `create_session` | Schedule a new session for an event. id (string) is the event ID. Required: estimated\_started\_at (string "YYYY-MM-DD HH:MM:SS", must be in the future) and timezone (string, IANA name such as "Europe/Paris"). Optional: name (string) and people\_ids (array of strings — team-member person IDs, from list\_people filtered on role "team\_member"). The host is the event's creator. |
| `register_participant` | Register someone for a session. id (string) is the session ID. fields is an array of \{ id, value } pairs where id is a field slug (from list\_people\_attributes) and value a string — or an array of strings for a multi-select field; email is the only mandatory pair. Optional strings: referrer, utm\_source, utm\_medium, utm\_campaign, utm\_term, utm\_content. |
| `update_session` | Partially update a session. id (string) is the session ID. Send only what changes: estimated\_started\_at (string "YYYY-MM-DD HH:MM:SS"), timezone (string, IANA name) and/or name (string). |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.