> ## 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.
