Skip to main content

100ms Data Source

The 100ms connector enables you to ingest data from your 100ms workspace, including rooms, sessions, recordings, analytics events, templates, and active room participants. Follow the instructions below to create a new data flow that ingests data from a 100ms source in Nexla.
onezerozero_ms_api.png

100ms

Create a New Data Flow

  1. To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Then, select the desired flow type from the list, and click the Create button.

  2. Select the 100ms connector tile from the list of available connectors. Then, select the credential that will be used to connect to the 100ms instance, and click Next; or, create a new 100ms credential for use in this flow.

  3. In Nexla, 100ms data sources can be created using pre-built endpoint templates, which expedite source setup for common 100ms endpoints. Each template is designed specifically for the corresponding 100ms endpoint, making source configuration easy and efficient.
    • To configure this source using a template, follow the instructions in Configure Using a Template.

    100ms sources can also be configured manually, allowing you to ingest data from 100ms endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this source manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common 100ms endpoints. Each template is designed specifically for the corresponding 100ms endpoint, making data source setup easy and efficient.

Endpoint Settings

  • Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

List All Rooms

Retrieves a list of all rooms in your 100ms workspace. Use this endpoint to get an inventory of your rooms, monitor their enabled or disabled status, or identify rooms by name or template. This endpoint supports pagination using a next-token cursor and returns results in the data array of the response.

  • Select List All Rooms from the Endpoint pulldown menu.
  • Optionally, configure any of the following filter parameters to narrow the results returned by this endpoint:

    • Enabled: Set to true to return only enabled (active) rooms, or false to return only disabled rooms. Leave blank to return rooms regardless of their enabled status.
    • After: Enter a room ID to return only rooms created after the specified room. This is useful for cursor-based pagination or incremental data loads.
    • Before: Enter a room ID to return only rooms created before the specified room.
    • Name: Enter the exact name of a room to filter results to that specific room.
    • Limit: Enter the maximum number of rooms to return per page. 100ms accepts values between 1 and 100; the default is 10.
    • Template Id: Enter the unique identifier of a template to return only rooms associated with that template. You can retrieve template IDs using the List Templates endpoint.

This endpoint uses token-based pagination. Nexla automatically handles pagination by following the cursor token in the last field of each response, continuing until all matching rooms have been retrieved. For the complete 100ms Rooms API reference, see the 100ms List Rooms documentation.

Get Template Settings

Retrieves the detailed settings and configuration for a specific room template. A template in 100ms is a collection of roles, room settings, and recording/streaming configurations that governs how rooms associated with it behave. Use this endpoint to inspect the current configuration of a template for auditing, reporting, or downstream processing.

  • Select Get Template Settings from the Endpoint pulldown menu.
  • Enter the unique identifier of the template in the Template ID field. This is a required field. Template IDs can be obtained from the 100ms Dashboard under Templates, or by first using the List Templates endpoint to retrieve the IDs of all templates in your workspace.

Each 100ms room is associated with exactly one template. Templates control key behaviors such as which roles can publish audio and video, whether recording starts automatically, and which geographic region is used for the room. For the complete reference, see the 100ms Get Template Settings documentation.

List Active Room Peers

Retrieves a list of peers (participants) currently active in a specific room session. A peer represents a participant who has joined a 100ms room. Use this endpoint to monitor live room participants, build attendance tracking, or trigger server-side actions based on who is present in a room.

  • Select List Active Room Peers from the Endpoint pulldown menu.
  • Enter the unique identifier of the room in the Room ID field. This is a required field. Room IDs can be found in the 100ms Dashboard under Rooms, or by first using the List All Rooms endpoint. Only one room can be queried per data source configuration.

This endpoint queries the active room state — it returns only peers who are currently in the room at the time of the API call. Sessions that have already ended will not have active peers. For building historical attendance records, use the List Sessions endpoint instead. For the complete reference, see the 100ms List Active Peers documentation.

List Analytics Events

Retrieves analytics events and metrics generated by your 100ms sessions. Analytics events capture granular data about what happened during a session, such as peer join/leave events, track events, recording events, and errors. Event data can be queried for up to the last 30 days. Use this endpoint to build usage dashboards, monitor quality of service, or analyze participant behavior across sessions.

  • Select List Analytics Events from the Endpoint pulldown menu.
  • No additional parameters are required for this endpoint. Nexla will retrieve available analytics events from your 100ms workspace automatically. This endpoint uses offset-based pagination and Nexla handles pagination automatically.

100ms analytics event data is available for up to the last 30 days. Events are returned from the events array in the response. For full details on supported event types and their schemas, see the 100ms Analytics Events documentation.

List Recordings

Retrieves a list of all recordings from your 100ms sessions. Recordings capture audio, video, and screen-share content from rooms that have recording enabled. Use this endpoint to build a library of recorded sessions, generate download links, or track recording status across your workspace.

  • Select List Recordings from the Endpoint pulldown menu.
  • No additional parameters are required for this endpoint. Nexla will retrieve all recordings from your 100ms workspace. This endpoint uses token-based pagination, and Nexla automatically follows the cursor in the last field of each response to retrieve all pages of results.

Recordings are created when a room session has recording enabled via its associated template or by a server-side API call. For complete details on the recording object and its fields, see the 100ms List Recordings documentation.

List Sessions

Retrieves a list of all sessions in your 100ms workspace. A session is a single continuous call within a room — one room can have multiple sessions over time. Use this endpoint to build historical reports of meetings, track session durations, or analyze usage patterns across your workspace.

  • Select List Sessions from the Endpoint pulldown menu.
  • No additional parameters are required for this endpoint. Nexla will retrieve all sessions from your 100ms workspace. This endpoint uses token-based pagination, and Nexla automatically follows the cursor in the last field of each response until all sessions have been retrieved.

Session records include metadata such as the associated room ID, start and end times, and peer counts. For the complete session object schema and filtering options, see the 100ms List Sessions documentation.

List Template Destinations

Retrieves a list of all recording destinations configured for a specific template. Template destinations define where 100ms should send recordings — such as an S3 bucket, Azure Blob Storage, or Google Cloud Storage location. Use this endpoint to audit recording destination configurations across your templates.

  • Select List Template Destinations from the Endpoint pulldown menu.
  • Enter the unique identifier of the template in the Template ID field. This is a required field. Template IDs can be obtained from the 100ms Dashboard under Templates, or by first using the List Templates endpoint to retrieve all template IDs in your workspace.

Recording destinations are configured per template and control where completed recordings are delivered after a session ends. For the complete reference, see the 100ms Get Template Destinations documentation.

List Templates

Retrieves a list of all room templates available in your 100ms workspace. Templates define the configuration applied to rooms — including roles, permissions, recording settings, and streaming configuration. Use this endpoint to enumerate your templates for auditing, synchronization, or to obtain template IDs for use in other API calls.

  • Select List Templates from the Endpoint pulldown menu.
  • No additional parameters are required for this endpoint. Nexla will retrieve all templates from your 100ms workspace. This endpoint uses token-based pagination, and Nexla automatically follows the cursor in the last field of each response until all templates have been retrieved.

Template records include role definitions, recording settings, and streaming configuration. Template IDs retrieved from this endpoint can be used as input parameters for the Get Template Settings and List Template Destinations endpoints. For the complete reference, see the 100ms List Templates documentation.

Endpoint Testing

Once the selected endpoint template has been configured, Nexla can retrieve a sample of the data that will be fetched according to the current settings. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Configure Manually

100ms data sources can be manually configured to ingest data from any valid 100ms API endpoint. Manual configuration provides maximum flexibility for accessing endpoints not covered by pre-built templates or when you need custom API configurations.

With manual configuration, you can also create more complex 100ms sources, such as sources that use chained API calls to fetch data from multiple endpoints or sources that require custom request parameters.

API Method

  1. To manually configure this source, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the 100ms API from the Method pulldown menu. The most common method for data retrieval from 100ms is:

    • GET: For retrieving data from the API (rooms, sessions, recordings, analytics events, templates, peers)

API Endpoint URL

  1. Enter the URL of the 100ms API endpoint from which this source will fetch data in the Set API URL field. This should be the complete URL including the protocol (https://) and any required path parameters. All 100ms server-side API endpoints use the base URL https://api.100ms.live/v2/.

Ensure the API endpoint URL is correct and accessible with your current credentials. You can test the endpoint using the Test button after configuring the URL. For a full list of available endpoints, refer to the 100ms Server-Side API Reference.

Date/Time Macros (API URL)

Optional

Optionally, the API URL can be customized using macros—all macros added to the API URL will be converted into values when Nexla executes the API call. Macros are dynamic placeholders that allow you to create flexible API endpoints that can adapt to different time periods or data requirements.

Macros are particularly useful for 100ms endpoints that accept date range parameters, such as filtering sessions or analytics events by time period.

  1. To add a macro, type { at the appropriate position in the API URL (within the Set API URL field), and select the desired macro from the dropdown list.

    • {now} – The current datetime
    • {now-1} – The datetime one time unit before the current datetime
    • {now+1} – The datetime one time unit after the current datetime
    • custom – Datetime macros can reference any number of time units before or after the current datetime—for example, enter (now-4) to indicate the datetime four time units before the current datetime
  2. Select the format that will be applied to datetime macros from the Date Format for Date/Time Macro pulldown menu. This format will be applied to the base datetime value of the macro—i.e., the value of {now} in {now-1}.

  3. Select the datetime unit that will be used to perform mathematical operations in the included macro(s) from the Time Unit for Operations pulldown menu—for example, for the macro {now-1}, when Day is selected, {now-1} will be converted to the datetime one day before the current datetime.

Lookup-Based Macros (API URL)

Optional

Column values from existing lookups can also be included as macros in the API URL. Lookup-based macros allow you to reference data from previously configured data sources or lookups, enabling dynamic API endpoints that can adapt based on existing data.

Lookup-based macros are useful for 100ms endpoints that require specific IDs in the URL path — for example, referencing a room ID or template ID from another Nexla data source to dynamically query the corresponding 100ms resource.

  1. To include a lookup column value macro, select the relevant lookup from the Add Lookups to Supported Macros pulldown menu.

  2. Type { at the appropriate position in the API URL, and select the lookup column-based macro from the dropdown list. Lookup-based macros are automatically populated into the macro list when a lookup is selected in the Add Lookups to Supported Macros pulldown menu.

Path to Data

Optional

If only a subset of the data returned by the API endpoint is needed, you can designate the part of the response that should be included in the Nexset(s) produced from this source by specifying the path to the relevant data within the response. This is particularly useful when 100ms API responses contain metadata, pagination cursors, or other fields alongside the primary data array.

For example, when a request call is used to fetch a list of rooms, the 100ms API returns a JSON response with a top-level data array containing the room objects, along with pagination metadata in other fields. By entering the path $.data[*], you can configure Nexla to treat each element of the returned array as a record.

Path to Data is essential when working with 100ms API responses that have nested structures. Common paths for 100ms endpoints include $.data[*] (rooms, templates, sessions, recordings), $.peers[*] (active room peers), and $.events[*] (analytics events).

  • To specify which data should be treated as relevant in responses from this source, enter the path to the relevant data in the Set Path to Data in Response field.

    • For responses in JSON format, enter the JSON path that points to the object or array that should be treated as relevant data. JSON paths use dot notation (e.g., $.data[*] to access the data array, or $.peers[*] to access the peers array).
    Path to Data Example:

    If the API response is in JSON format and includes a top-level array named data that contains the relevant records, the path to the response would be entered as $.data[*].

Autogenerate Path Suggestions

Nexla can also autogenerate data path suggestions based on the response from the API endpoint. These suggested paths can be used as-is or modified to exactly suit your needs.

  • To use this feature, click the Test button next to the Set API URL field to fetch a sample response from the API endpoint. Suggested data paths generated based on the content & format of the response will be displayed in the Suggestions box below the Set Path to Data in Response field.

  • Click on a suggestion to automatically populate the Set Path to Data in Response field with the corresponding path. The populated path can be modified directly within the field if further customization is needed.

    PathSuggestions.png

Metadata

If metadata is included in the response but is located outside of the defined path to relevant data, you can configure Nexla to include this data as common metadata in each record. This is useful when you want to preserve important contextual information that applies to all records but is not part of the main data array.

For example, a 100ms List Rooms response includes a last cursor field at the top level alongside the data array. If you specify $.data[*] as the path to data, you can additionally specify $.last as the metadata path to capture the pagination cursor as metadata on each record.

Metadata paths are particularly useful for preserving pagination cursors, request IDs, or summary statistics that 100ms includes in API responses alongside the primary data payload.

  • To specify the location of metadata that should be included with each record, enter the path to the relevant metadata in the Path to Metadata in Response field.

    • For responses in JSON format, enter the JSON path to the object or array that contains the metadata.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this source, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2). Additional headers may be required for API versioning or content type specifications.

    You do not need to include the Authorization header here. The Bearer token from your 100ms credential is automatically included by Nexla in all API requests to the 100ms API.

Endpoint Testing

After configuring all settings for the selected endpoint, Nexla can retrieve a sample of the data that will be fetched according to the current configuration. This allows users to verify that the source is configured correctly before saving.

  • To test the current endpoint configuration, click the Test button to the right of the endpoint selection menu. Sample data will be fetched & displayed in the Endpoint Test Result panel on the right.

  • If the sample data is not as expected, review the selected endpoint and associated settings, and make any necessary adjustments. Then, click the Test button again, and check the sample data to ensure that the correct information is displayed.

Save & Activate the Source

  1. Once all of the relevant steps in the above sections have been completed, click the Create button in the upper right corner of the screen to save and create the new 100ms data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.