Data Types
Every edge in a flow carries a specific type of data. Understanding data types helps you build flows that work correctly.
Basic Types
| Type | Description | Example |
|---|---|---|
string | Text values | "Hello world", "StreamerName" |
number | Numeric values | 42, 3.14, 1000 |
boolean | True or false | true, false |
pulse | A signal with no value — just means "something happened" | (no value) |
any | Accepts any type of data | (varies) |
Object Types
These types represent complex objects with multiple fields.
User
A Twitch user with the following fields:
| Field | Type | Description |
|---|---|---|
user_id | string | The user's Twitch ID |
user_login | string | The user's login name (lowercase) |
user_name | string | The user's display name |
color | string | The user's chat color |
profile_image_url | string | URL to the user's profile image |
Use the Extract node to pull individual fields out of a User object.
Message
A chat message with the following fields:
| Field | Type | Description |
|---|---|---|
text | string | The full message text |
fragments | array | Message fragments (text, emotes, cheermotes) |
badges | array | The user's chat badges |
Event
A generic event payload with:
| Field | Type | Description |
|---|---|---|
type | string | The event type |
timestamp | string | When the event occurred |
payload | object | Event-specific data |
Alert Types
These types are used when building and activating stream alerts:
| Type | Description |
|---|---|
SubAlert | Subscription alert payload |
GiftedSubAlert | Gifted subscription alert payload |
CheerAlert | Cheer/bits alert payload |
CustomAlert | Custom alert payload |
Alert objects are created by Alert Builder nodes and consumed by Alert Activator nodes.
Easing Type
An easing object that describes how an animation should accelerate/decelerate and how long it should last.
| Field | Type | Description |
|---|---|---|
easing | string | The easing curve identifier (e.g., easeInOutCubic, easeOutBounce) |
duration | number | How long the easing lasts |
unit | string | Duration unit: s (seconds) or ms (milliseconds) |
Easing values are created by the Easing Data node and can be used by downstream nodes to control animation curves and transitions.
Array Types
| Type | Description |
|---|---|
Array<string> | A list of text values |
Array<number> | A list of numbers |
Array<User> | A list of Twitch users |
Type Compatibility
When connecting nodes, output types must be compatible with input types:
- An output can connect to an input of the same type
- Any output can connect to an input of type
any - A
pulseoutput can connect to most inputs (it acts as a trigger signal)
The editor will prevent you from making incompatible connections and will show an error if types don't match.