Reference · Tools
Demio
Interact with the Demio webinar platform to manage events and retrieve participant reports.
The Demio node lets you list events, fetch session details, register attendees, and retrieve participant reports from the Demio webinar platform. Use it to build workflows that automatically enroll contacts in upcoming webinars and then pull attendance data after the session ends. A typical pattern is syncing a CRM lead directly into a Demio event registration without any manual steps.
- Node type
- Action
- Parameters
- 16
- Outputs
- Output, Error
- Credentials
- Demio API
Demio
Manage Demio webinar events, registrations, and reports.
Overview
Demio is a webinar platform. This tool supports retrieving event details, listing events, registering attendees for events, and fetching session participant reports via the Demio REST API.
Category: Communication
Tool Name: demio
Version: 1
Appearance: Icon: lucide-Video | Color: #02B4E5
Node Type
Action — processes input items and produces output
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Demio API credentials. See the Credentials Guide for setup instructions.
Resources
| Resource | Value |
|---|---|
| Event | event |
| Report | report |
Operations
| Resource | Operation | Value | Description |
|---|---|---|---|
| Event | Get | get | Get an event |
| Event | Get Many | getAll | Get many events |
| Event | Register | register | Register someone to an event |
| Report | Get | get | Get an event report |
Parameters
Event: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Event ID | string | Yes | — | The ID of the event to retrieve. Find this in the Demio dashboard under event settings. Supports expressions. |
| Additional Fields | collection | No | {} | Optional refinements for the lookup. |
| — Active | boolean | No | false | Whether to return only active dates in series. |
— Session ID (date_id) | string | No | — | Event Date/Session ID. When provided, retrieves details of a specific session instead of the whole event. |
Event: Get Many
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Return All | boolean | No | false | Whether to return all results or only up to a given limit. |
| Limit | number | No | 100 | Max number of results to return. (shown when Return All is false) |
| Filters | collection | No | {} | Narrow the list of events returned. |
| — Type | options | No | — | Filter events by type. |
Options: automated, past, upcoming |
Event: Register
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Event ID | string | Yes | — | The ID of the event to register for. Find this in the Demio dashboard or by listing events. Supports expressions. |
| First Name | string | Yes | — | The registrant’s first name. |
string | Yes | — | The registrant’s email address. | |
| Additional Fields | collection | No | {} | Optional registrant details sent with the registration. |
| — Company | string | No | — | The value for the predefined Company field. |
| — Custom Fields | fixedCollection | No | {} | Values for the event’s own registration fields. Add one entry per field. |
| — — Field ID | string | No | — | Each custom field’s unique identifier can be found within the Event’s Registration block in the Customize tab. |
| — — Value | string | No | — | The value to set on custom field. |
| — Event Registration URL | string | No | — | Event Registration page URL. Useful when you do not know the Event ID but have the event link. |
| — GDPR | string | No | — | The value for the predefined GDPR field. |
| — Last Name | string | No | — | The registrant’s last name. |
| — Phone Number | string | No | — | The registrant’s phone number. |
— Session ID (date_id) | string | No | — | Event Session/Date ID. Specify to register for a specific session within a series. |
| — Website | string | No | — | The registrant’s website. |
Report: Get
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Event ID | string | Yes | — | The ID of the event. Used to look up available sessions. Find this in the Demio dashboard. Supports expressions. |
Session ID (dateId) | string | Yes | — | The session/date ID to get the participant report for. Find available session IDs by retrieving event details. |
| Filters | collection | No | {} | Narrow the participants returned. |
| — Status | options | No | — | Filter results by participation status. |
Options: attended, banned, completed, did-not-attend, left-early |
All Operations
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
The Demio response is merged into the item JSON — the incoming fields pass through and binary data is forwarded.
| Resource / Operation | Output |
|---|---|
Event / get | One item carrying the event record. With a Session ID set, the item describes that single session instead of the whole event |
Event / getAll | One item per event returned by the account, trimmed to Limit unless Return All is on |
Event / register | One item carrying the registration response |
Report / get | One item per participant in the session report |
Operations that fan out emit a single item carrying _noResults: true when the list comes back empty, so an empty result never silently ends the branch. Reference any field downstream by expression, e.g. {{ $json.id }}.
Usage Examples
- Get details of a specific Demio webinar event
- List all upcoming Demio events
- Register an attendee for a Demio webinar
- Get participant report for a Demio webinar session
Example Configuration
Get one event, narrowed to a single session in a series:
{
"type": "demio",
"parameters": {
"resource": "event",
"operation": "get",
"eventId": "event_123456",
"additionalFields": {
"active": true,
"date_id": "session_789"
}
}
}
List up to 50 automated events:
{
"type": "demio",
"parameters": {
"resource": "event",
"operation": "getAll",
"returnAll": false,
"limit": 50,
"filters": {
"type": "automated"
}
}
}
Register an attendee taken from the incoming item, including a custom field:
{
"type": "demio",
"parameters": {
"resource": "event",
"operation": "register",
"eventId": "event_123456",
"firstName": "{{ $json.firstName }}",
"email": "{{ $json.email }}",
"additionalFields": {
"last_name": "{{ $json.lastName }}",
"company": "Tech Corp",
"phone_number": "+1-555-0123",
"website": "https://techcorp.com",
"customFieldsUi": {
"customFieldsValues": [
{
"fieldId": "job_title",
"value": "Software Engineer"
}
]
}
}
}
}
Pull the attendees of one session:
{
"type": "demio",
"parameters": {
"resource": "report",
"operation": "get",
"eventId": "event_123456",
"dateId": "session_789",
"filters": {
"status": "attended"
}
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Use Demio to manage webinar events, register attendees, and retrieve session participant reports.
Common patterns
- Event management: list events to find the one you want, get its details for the session IDs, then register participants against it.
- Reporting: get the event to discover its available sessions, pull the participant report for a session, and filter by attendance status.
Notes
- Sessions versus events. A Demio event can run as a series. Set a Session ID to address one occurrence — on Event: Get it returns that session’s details, and on Event: Register it books the registrant onto that session.
- Registering without an Event ID. If you only have the public registration link, put it in the Event Registration URL additional field.
- Custom field IDs are per event. Find them in the event’s Registration block under the Customize tab; a Field ID from another event is silently ignored.
- Report: Get needs a session, not an event. Take the Session ID from an Event: Get response — an event ID on its own will not resolve to a participant report.
- Bound large lists. Leave Return All off and set Limit when an account has many events.
Frequently asked questions
What credentials do I need to connect the Demio node?
You need a Demio API credential (credential type: demioApi) configured in BusyBot. You'll find your API key inside your Demio account settings. Without it, none of the node's operations — listing events, registering attendees, or pulling reports — will authenticate.
Why can't I pull a participant report using just an event ID?
The Report: Get operation requires a Session ID, not an Event ID. A Demio event can contain multiple sessions (occurrences), and the report is scoped to one specific session. Use Event: Get first to retrieve the available sessions for an event, then pass that Session ID into Report: Get.
How do sessions relate to events, and when do I need to set a Session ID?
A Demio event can run as a recurring series with multiple sessions. If you want to target one specific occurrence — for example, to register someone into the Tuesday session rather than whichever session Demio defaults to — set the Session ID field. On Event: Get, it returns that session's details; on Event: Register, it books the registrant onto that session specifically.
I only have a Demio public registration link, not an Event ID. Can I still register someone?
Yes. Put the public registration URL into the Event Registration URL additional field on the Event: Register operation. You don't need to know the internal Event ID to use this path.
My custom registration field isn't saving data for the registrant. What's wrong?
Custom field IDs are specific to each event — a Field ID taken from one event's registration form will be silently ignored if used against a different event. To find the correct Field IDs, open the target event in Demio, go to the Registration block under the Customize tab, and copy the IDs from there.
Build with the Demio node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Demio API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.