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) |
Text Style
A Text Style is one of your saved text styles (or a built-in one). The Text Style Data node outputs it, and the style inputs of Flow Alert, Flow Event and Widget Action take it. It connects to string inputs and outputs, and the other way round, so existing flows keep working. Variables can be typed Text Style too: see Variables.
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.