Skip to main content
Early Access — SbQL and the Insights API are currently available to select organizations. Reach out to your Sessionboard account manager to get early access to this feature.
SbQL (Sessionboard Query Language) is a SQL-like query language purpose-built for querying Sessionboard event data. It provides a familiar syntax for selecting, filtering, joining, and aggregating data across sessions, speakers, contacts, and other event entities.

Basic Syntax

SbQL follows standard SELECT-FROM-WHERE patterns:
SELECT session.title, session.status
FROM sessions
WHERE session.status = 'accepted'

Joins and Aggregations

Join entities to combine related data and use aggregate functions for analytics:
SELECT speaker.full_name, COUNT(session.id) AS session_count
FROM speakers
JOIN sessions
GROUP BY speaker.full_name
ORDER BY session_count DESC

Filtering with Conditions

Use standard comparison operators and logical connectives:
SELECT session.title, session.start_date, track.name
FROM sessions
JOIN tracks
WHERE session.status = 'accepted'
  AND track.name = 'Keynotes'
ORDER BY session.start_date ASC

Schema Discovery

Use the Insights schema endpoints to discover the entities and fields available for your organization:
  • Organization schema: GET /v1/insights/schema returns all available entities and their fields.
  • Event schema: GET /v1/insights/event/{eventId}/schema returns entities and fields scoped to a specific event.
The schema response includes entity names, field names, data types, and relationships between entities that you can use in JOIN clauses.

Natural Language to SbQL

If you prefer to write queries in plain English, use the POST /v1/insights/ai/generate endpoint to convert natural language into SbQL. For example, sending “How many sessions are in each track?” will return a valid SbQL query that you can execute directly.