Use cases
You'll find below a non-exhaustive list of use cases that Livestorm customers and partners often build using our API and webhooks.
Use of personal data
If you want to store or use the data of your registrants or attendees, make sure that you collect their consent before using their personal data. Check out GDPR's guidelines on this subject.
1. Listing upcoming Livestorm events on a custom HTML page
Developers can easily retrieve the list of upcoming events from their Livestorm account using the GET /events? include=sessions (all events and their sessions), GET /sessions?filter[status]=upcoming (all upcoming sessions), or GET /events/{id}/sessions?filter[status]=upcoming (all the upcoming sessions of an event) API endpoints. After retrieving this information from your backend, the JSON responses can be leveraged frontend-wise with Javascript, HTML, and CSS on any web page.
2. Building a custom registration form
Similarly, developers can build a custom registration form instead of Livestorm's default light or detailed registration pages. After letting the user choose to which event session he or she wants to register for (using the method described in #1, for instance), you can simply show the corresponding event's registration fields. To do so, use the event's JSON payload and extract its list of fields (under the "attributes" > "fields"), where you'll be able to see the mandatory ones that need to be filled.
After gathering all the required registration fields, simply call the POST /sessions/{id}/people endpoint to register this new participant.
3. Registering a list of contacts to an event session in bulk
If you already have a list of contacts available in your backend services, database, or in a flat CSV file, you can register them all to an upcoming event session using the API. Simply iterate over the list of contacts and call the POST /sessions/{id}/people endpoint to register them one by one. However, beware of rate limits! By default, you can call our API up to 10,000 times a month and up to 5 times per second. We advise you to implement a throttle, debounce, or retry strategy to make sure you don't reach your API limits.
4. Transforming Livestorm registrants into new leads or contacts
Each time someone new registers to a Livestorm event, it can be useful for you to add this new person to your CRM, send her a welcome message, or even subscribe her to your newsletter. There are mainly 2 ways to achieve this result:
- Create a new webhook subscription for the
people.registered
event notification (using the POST /webhooks endpoint), and listen for this particular event in your backend service. Each time you receive this event along with the new registrant information, use it! - Use a polling mechanism to frequently check new registrants for a particular event session (using the GET /sessions/{id}/people endpoint).
5. Scoring or nurturing event attendees
After an event ends, it can be quite handy to be able to know who attended your event among registrants, and their individual level of engagement. This level of engagement can be used to identify champions in your audience or qualify top-rated leads. There are mostly 2 ways to achieve this result:
- Create a new webhook subscription for the
sessions.ended
event notification (using the POST /webhooks endpoint), and listen for this particular event in your backend service. Each time a session ends, you'll be informed. Then simply call the GET /sessions/{id}/people?filter[attended]=true endpoint to retrieve all the attendees of this session. - Use a polling mechanism to frequently check the attendees of a particular event session (using the GET /sessions/{id}/people?filter[attended]=true endpoint). When the event ends, the whole list will be populated with all the attendees.
Once you have this list, you can use the following user fields (attributes
) to qualify them:
attended
: whether the person attended the event or not)attendance_rate
: the attendance rate of this person, for instance, 95%attendance_duration
: the attendance duration of this person in seconds, for instance, 2820 for 47 minutes.messages_count
: the number of chat messages posted by the person during the event session.questions_count
: the number of questions asked by the person during the event session.votes_count
: the number of surveys answered by the person during the event session.up_votes_count
: the number of upvotes sent by the person for other people's questions during the event session.
6. Analyzing the impact of an event session
After an event session ends, it can be useful for you to analyze the impact of your event sessions. For instance, you may want to retrieve and analyze the engagement of a session, and compare it with other previous sessions.
To do this, you can create a new webhook subscription for the sessions.ended
event notification (using the POST /webhooks endpoint), and listen for this particular event in your backend service. Each time a session ends, you'll be informed and will receive basic data about the number of registrants (registrants_count
) and attendees (attendees_count
).
To get event more details, you can call the GET /sessions/{id}/people endpoint and get the full list of participants. This list can be leveraged to calculate the average attendance rate, the total number of comments, questions, votes that have been posted during the event so that you can get an idea of its engagement level.
It's also possible for you to call the GET /sessions?filter[status]=past endpoint to retrieve all your past event sessions, and then iterate over this list to retrieve each session's individual data.
7. Triggering automation workflows after an event
After an event session ends, it may be interesting to start custom automation workflows. For instance, you might want to create contact lists of people who attended or didn't attend your events, and either send thankful emails to people who attended or re-invite people who didn't attend your event to your next upcoming event session.
You can use the process described in step #6 to retrieve these people. Alternately, you can also create webhook subscriptions for the people.attended
and people.not_attended
triggers, so that you can start automation workflows on a per-participant basis.
Updated 12 months ago