<!-- BusyBot node reference — https://busybot.net/tools/demio/ -->

> Node: Demio (`demio`) · Action · v1
> Category: Communication · Credentials: Demio API (`demioApi`)
> Updated: 2026-08-16

# 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](https://busybot.net/credentials/demio-api/) 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. |
| Email | `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:

```json
{
  "type": "demio",
  "parameters": {
    "resource": "event",
    "operation": "get",
    "eventId": "event_123456",
    "additionalFields": {
      "active": true,
      "date_id": "session_789"
    }
  }
}
```

List up to 50 automated events:

```json
{
  "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:

```json
{
  "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:

```json
{
  "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.