Skip to main content

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​

TypeDescriptionExample
stringText values"Hello world", "StreamerName"
numberNumeric values42, 3.14, 1000
booleanTrue or falsetrue, false
pulseA signal with no value — just means "something happened"(no value)
anyAccepts any type of data(varies)

Object Types​

These types represent complex objects with multiple fields.

User​

A Twitch user with the following fields:

FieldTypeDescription
user_idstringThe user's Twitch ID
user_loginstringThe user's login name (lowercase)
user_namestringThe user's display name
colorstringThe user's chat color
profile_image_urlstringURL 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:

FieldTypeDescription
textstringThe full message text
fragmentsarrayMessage fragments (text, emotes, cheermotes)
badgesarrayThe user's chat badges

Event​

A generic event payload with:

FieldTypeDescription
typestringThe event type
timestampstringWhen the event occurred
payloadobjectEvent-specific data

Alert Types​

These types are used when building and activating stream alerts:

TypeDescription
SubAlertSubscription alert payload
GiftedSubAlertGifted subscription alert payload
CheerAlertCheer/bits alert payload
CustomAlertCustom 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.

FieldTypeDescription
easingstringThe easing curve identifier (e.g., easeInOutCubic, easeOutBounce)
durationnumberHow long the easing lasts
unitstringDuration 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​

TypeDescription
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 pulse output 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.