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.