Skip to content

MCP tools (for AI apps)

An AI app connected to Cuebot's MCP server can use these tools. You do not call them yourself: the AI picks them when you ask it for something, like "make a !hello command". See AI tools for how to connect an AI app, and Controlling Cuebot from other programs for the details.

Asks first means the tool can delete or change something big, or send a message. While Confirm destructive tools is ticked on Apps > Servers, Cuebot asks you (or makes the AI ask) before it does it.

There are 118 tools.

Tool What it does Only reads Asks first
add_custom_widget Add custom widget
add_media_request Add a media request
add_quote Add a quote
add_store_item Add a store item
add_widget Add widget or layer
apply_import Apply import yes
change_user_points Change a viewer's points
connect_service Connect or disconnect a service
control_alerts Control overlay alerts
control_giveaway Close, draw or cancel the giveaway
control_media Control media requests
control_prediction Lock, resolve or cancel the prediction
control_queue Control action queue
control_speech Control speech
create_action Create action
create_command Create command
create_command_with_action Create command with its action
create_overlay Create overlay
create_queue Create action queue
create_timer Create timer
delete_action Delete action yes
delete_command Delete command yes
delete_deck Delete a deck yes
delete_global Delete global variable yes
delete_hotkey Delete a hotkey yes
delete_overlay Delete overlay yes
delete_queue Delete action queue yes
delete_quote Delete a quote yes
delete_store_item Delete a store item yes
delete_timer Delete timer yes
delete_viewer_variable Delete a viewer's variable yes
delete_voice_alias Delete a voice alias yes
describe_subaction_type Describe sub-action type yes
describe_trigger_type Describe trigger type yes
emulate_event Send a sample event
end_poll End the chat poll
export_bundle Export bundle yes
export_overlay_package Export overlay package
find_viewers Find viewers yes
get_action Get action yes
get_alert_designs Get alert box designs yes
get_command Get command yes
get_deck Get deck yes
get_feature_settings Get feature settings yes
get_giveaway Get giveaway yes
get_globals Get global variables yes
get_history Get run history yes
get_media_requests Get media requests yes
get_overlay Get overlay yes
get_overlay_link Get overlay link yes
get_polls Get polls yes
get_recent_chat Get recent chat yes
get_speech_settings Get speech settings yes
get_status Get status yes
get_store Get the points store yes
get_stream_totals Get stream totals yes
get_user_points Get a viewer's points yes
get_viewer_variables Get a viewer's variables yes
get_widget Get widget settings yes
import_gallery_item Import from the gallery
import_overlay_package Import overlay package
import_streamelements_overlay Import a StreamElements overlay
list_actions List actions yes
list_commands List commands yes
list_connections List connections yes
list_decks List decks yes
list_emulated_events List sample events yes
list_gallery List the community gallery yes
list_groups List user groups yes
list_hotkeys List hotkeys yes
list_overlays List overlays yes
list_points_currencies List points currencies yes
list_queues List action queues yes
list_quotes List quotes yes
list_script_functions List script functions yes
list_speech_voices List speech voices yes
list_streamelements_overlays List StreamElements overlays yes
list_subaction_types List sub-action types yes
list_timers List timers yes
list_trigger_types List trigger types yes
list_widget_kinds List widget kinds yes
manage_group Create, rename, clear or delete a user group yes
points_leaderboard Points leaderboard yes
preview_import Preview import yes
remove_layer Remove layer
remove_media_request Remove a media request
review_redemption Approve or reject a redemption
run_action Run action
run_subactions Run sub-actions now yes
save_deck Create or change a deck
save_hotkey Create or change a hotkey
save_voice_alias Create or change a voice alias
send_chat_message Send chat message yes
set_action_enabled Enable or disable action
set_global Set global variable
set_group_member Add or remove a group member
set_stream_totals Reset totals or set a goal yes
set_timer_state Set timer state
set_viewer_variable Set a viewer's variable
set_viewer_voice Give a viewer a voice
speak Speak text
start_giveaway Start a giveaway
start_poll Start a chat poll
start_prediction Start a points prediction
test_action Test action
update_action Update action
update_alert_designs Change alert box designs
update_command Update command
update_feature_settings Change feature settings
update_layer Move or restyle layer
update_overlay Rename or resize overlay
update_queue Update action queue
update_quote Update a quote
update_speech_settings Change speech settings
update_store_item Update a store item
update_timer Update timer
update_widget_code Change widget code
update_widget_settings Change widget settings

add_custom_widget

Add custom widget. Add a widget from code (StreamElements widget API: HTML, CSS, JS, fields JSON and data JSON; Streamlabs custom code works too). Fields become its settings form; {fieldKey} placeholders in the panes are filled in.

Input Type What it is
overlay (required) text Overlay id or name
name (required) text Widget name
code (required) object {html, css, js, fields, data}: text panes; fields and data are JSON objects as text
place object Optional: name, x, y, width, height (overlay pixels), opacity (0-1), rotation (degrees), visible, locked, enter / exit ({name, duration} or just the animation name)

add_media_request

Add a media request. Add a YouTube video to the media request queue (free, as the streamer).

Input Type What it is
link (required) text YouTube link or video id
user text Who asked (default API)

add_quote

Add a quote. Add a quote (shown by !quote).

Input Type What it is
text (required) text The quote
user text Who said it
game text Game or category (default the current one)
platform text Platform

add_store_item

Add a store item. Add an item viewers buy with Cuebot points.

Input Type What it is
name (required) text Item name
description text What it is
cost (required) whole number Price in points
currency text Points currency (default the main one)
stock whole number How many (-1 = unlimited)
needsApproval true/false A moderator approves each redemption
subscribersOnly true/false Only subscribers
userCooldownSeconds whole number Per-viewer cooldown
globalCooldownSeconds whole number Cooldown for everyone
enabled true/false Default true

add_widget

Add widget or layer. Add one of Cuebot's widgets (kind from list_widget_kinds) or a text/image/video/slideshow layer to an overlay. settings are its first values (a widget's field keys from get_widget, or the layer's settings); place sets where it goes.

Input Type What it is
overlay (required) text Overlay id or name
kind (required) text alertbox, chatbox, label, goal, ..., or text, image, video, slideshow
settings object First settings, e.g. {"type": "follower", "prefix": "Latest follower: "} for a label
place object Optional: name, x, y, width, height (overlay pixels), opacity (0-1), rotation (degrees), visible, locked, enter / exit ({name, duration} or just the animation name)

apply_import

Apply import. Import a bundle. mode decides what happens to items that clash with existing ones (overwrite, addAsNew, skip); items can override single entries. Run preview_import first. Nothing in the import is run.

Input Type What it is
data (required) text The import string or bundle JSON
mode one of overwrite, addAsNew, skip
items list of object
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

change_user_points

Change a viewer's points. add, remove or set a viewer's points.

Input Type What it is
platform (required) text Platform: twitch, youtube, kick, rumble...
user (required) text The viewer's user name (or user id) on that platform
command (required) one of add, remove, set
amount (required) whole number Points
currency text Currency (default the main one)

connect_service

Connect or disconnect a service. Connect or disconnect a connection by its name from list_connections, using the sign-in and settings saved in Cuebot (it cannot sign in for the streamer; that is done on the service's page).

Input Type What it is
name (required) text Connection name, e.g. OBS, Twitch
connect (required) true/false true to connect, false to disconnect

control_alerts

Control overlay alerts. The alert queue on every overlay page: pause (the alert playing finishes, new ones wait), resume, skip the alert playing, mute or unmute alert sound; status only reads it.

Input Type What it is
command (required) one of status, pause, resume, skip, mute, unmute

control_giveaway

Close, draw or cancel the giveaway. close stops entries; draw picks the winners; redraw picks one more; cancel ends it and refunds tickets.

Input Type What it is
command (required) one of close, draw, redraw, cancel

control_media

Control media requests. skip the video playing, pause, resume, clear the queue (refunds), open or close requests.

Input Type What it is
command (required) one of skip, pause, resume, clear, open, close

control_prediction

Lock, resolve or cancel the prediction. lock stops betting; resolve pays out to the winner (outcome number from 1 or its title); cancel refunds every bet.

Input Type What it is
command (required) one of lock, resolve, cancel
winner text For resolve: outcome number from 1 or title

control_queue

Control action queue. pause (waiting runs stay waiting), resume, or clear (cancel the waiting runs) one queue, or every queue with queue "all".

Input Type What it is
queue (required) text Queue name, "Default" or "all"
command (required) one of pause, resume, clear

control_speech

Control speech. Cuebot's speech (TTS) queue: next stops the text playing and, while paused, lets exactly one waiting text play (pause, then next, steps through the queue one text at a time); pause, resume, skip; status only reads it.

Input Type What it is
command (required) one of status, next, pause, resume, skip

create_action

Create action. Create an action. Pick trigger and sub-action types with list_trigger_types / list_subaction_types and check their parameters with describe_subaction_type first. Every parameter value is a string and may use %arguments%, ~globals~ and $functions()$ (resource cuebot://docs/variables). Unknown types or invalid values are rejected with a list of problems.

Input Type What it is
action (required) object The action. Example: {"name": "Greet", "triggers": [{"type": "command.triggered", "settings": {"command": "Hello"}}], "subActions": [{"type": "chat.send", "parameters": {"message": "Hi %user%!"}}]}

create_command

Create command. Create a chat command, e.g. {"name": "Hello", "commands": ["!hello"]}. To make it do something, add a trigger {"type": "command.triggered", "settings": {"command": "Hello"}} to an action.

Input Type What it is
command (required) object

create_command_with_action

Create command with its action. Create a chat command and the action it runs in one step: the action automatically gets a command.triggered trigger for this command, so they are always linked. Prefer this to create_command plus create_action for a new command. Example: {"command": {"name": "Lurk", "commands": ["!lurk"]}, "action": {"subActions": [{"type": "chat.send", "parameters": {"message": "Thanks for lurking, %user%!"}}]}}. The action's name defaults to the command's; add other triggers if it should also run another way.

Input Type What it is
command (required) object
action (required) object What the command does: at least subActions. The command.triggered trigger is added for you.

create_overlay

Create overlay. Create an empty overlay (a page OBS shows as a browser source).

Input Type What it is
name (required) text Name
width whole number Canvas width (default 1920)
height whole number Canvas height (default 1080)

create_queue

Create action queue. Add an action queue; actions join it with their "queue" field. A blocking queue runs its actions one at a time in order.

Input Type What it is
name (required) text Queue name
blocking true/false One at a time (default false)

create_timer

Create timer. Create a timer, e.g. {"name": "Socials", "intervalSeconds": 600}. A timer only fires: run an action from it with a trigger {"type": "core.timer", "settings": {"timer": "Socials"}}.

Input Type What it is
timer (required) object

delete_action

Delete action. Delete an action permanently.

Input Type What it is
action (required) text Action id or name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_command

Delete command. Delete a chat command permanently.

Input Type What it is
command (required) text Command id or name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_deck

Delete a deck. Delete a deck.

Input Type What it is
deck (required) text Deck id or name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_global

Delete global variable. Delete a global variable.

Input Type What it is
name (required) text Variable name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_hotkey

Delete a hotkey. Delete a hotkey.

Input Type What it is
hotkey (required) text Hotkey id or name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_overlay

Delete overlay. Delete an overlay (its widgets stay in the library). OBS sources using its link stop working.

Input Type What it is
overlay (required) text Overlay id or name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_queue

Delete action queue. Delete a queue; its actions move to the default queue.

Input Type What it is
queue (required) text Queue id or name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_quote

Delete a quote. Delete a quote.

Input Type What it is
id (required) whole number Quote number
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_store_item

Delete a store item. Delete a store item.

Input Type What it is
item (required) text Item id or name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_timer

Delete timer. Delete a timer permanently.

Input Type What it is
timer (required) text Timer id or name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_viewer_variable

Delete a viewer's variable. Delete one variable for one viewer.

Input Type What it is
platform (required) text Platform: twitch, youtube, kick, rumble...
user (required) text The viewer's user name (or user id) on that platform
name (required) text Variable name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

delete_voice_alias

Delete a voice alias. Delete a voice alias.

Input Type What it is
name (required) text Alias name
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

describe_subaction_type

Describe sub-action type. One sub-action type with a JSON Schema of its parameters, its branches and current suggestions (scene names, voices...).

Input Type What it is
type (required) text Sub-action type id, e.g. core.if

describe_trigger_type

Describe trigger type. One trigger type with a JSON Schema of its settings and current suggestions.

Input Type What it is
type (required) text Trigger type id, e.g. twitch.chatMessage

emulate_event

Send a sample event. Send a sample platform event with a made-up viewer, e.g. a Twitch follow to test the alert box. target "overlays" (default) shows it on every overlay only; "everything" publishes it as a real event so matching actions run too (they may post to chat). Events sent to everything are marked isTest: shown as tests in the feed and never counted in top spenders, while subathon timers and goals still count them.

Input Type What it is
platform (required) text twitch, kick, rumble, youtube or donations
kind (required) text follow, sub, resub, gift, cheer, raid, tip, superchat, kicks or chat
target one of overlays, everything
args object Override the sample's arguments (names from list_emulated_events), e.g. {"viewers": 75} for a raid or {"user": "Alice"}

end_poll

End the chat poll. End the running Cuebot chat poll now and show the result.

It takes no inputs.

export_bundle

Export bundle. Build a Cuebot import string (CUEBOT1:...) for actions, commands, timers and globals (ids or names). Referenced items are included.

Input Type What it is
actions list of text Actions
commands list of text Commands
timers list of text Timers
globals list of text Global variables
includeDependencies true/false Include referenced actions, queues, commands... (default true)
name text Bundle name

export_overlay_package

Export overlay package. Write an overlay, or one of its layers, as a .cuebot-overlay package (canvas, widgets, settings, alert designs and images) to share. Saved to path when given (a new file on the computer running Cuebot), otherwise returned as base64 in data. Code of custom widgets (customWidgets lists them) is only included with includeCustomCode; Cuebot's own widgets always come along.

Input Type What it is
overlay (required) text Overlay id or name
layer text Only this layer, as a widget package (Layer id or name (get_overlay lists them))
includeCustomCode true/false Include the code of custom widgets (default false)
path text File to create, ending in .cuebot-overlay

find_viewers

Find viewers. Viewers Cuebot has seen in chat (most recent first): name, platform, roles, first/last seen, messages.

Input Type What it is
platform text Only this platform
search text Name contains
limit whole number Maximum (default 25)

get_action

Get action. The full definition of one action: settings, triggers (type + settings) and sub-actions (type + parameters, with child steps per branch).

Input Type What it is
action (required) text Action id or name

get_alert_designs

Get alert box designs. An alert box's designs: for each alert type (follower, subscriber, tip, cheer, raid, superchat, kicks, redemption, jewels, charityCampaignDonation, merch, custom) whether it is on, its design and its variations, plus what each design field means.

Input Type What it is
overlay (required) text Overlay id or name
layer (required) text Layer id or name (get_overlay lists them)

get_command

Get command. One chat command and the actions it runs.

Input Type What it is
command (required) text Command id or name

get_deck

Get deck. A deck's full definition: pages, buttons, their actions and looks.

Input Type What it is
deck (required) text Deck id or name

get_feature_settings

Get feature settings. Settings of a feature page: points (names, how they are earned), media (request command, cost, length limit...), polls (vote and bet commands) or viewers (first-words reset...).

Input Type What it is
feature (required) one of points, media, polls, viewers

get_giveaway

Get giveaway. The current (or last) giveaway: options, entries, winners.

It takes no inputs.

get_globals

Get global variables. Global variables (used as ~name~ in parameters). Give a name for one variable.

Input Type What it is
name text One variable
persisted true/false true: persisted only, false: temporary only

get_history

Get run history. Recent and pending action runs (newest first) with state, source, duration and errors; includeArgs adds the arguments.

Input Type What it is
limit whole number Maximum runs (default 20)
action text Only this action (id or name)
includeArgs true/false Include the arguments of each run

get_media_requests

Get media requests. The media request player: what plays, the queue, and whether requests are open.

It takes no inputs.

get_overlay

Get overlay. One overlay with its layers.

Input Type What it is
overlay (required) text Overlay id or name

Get overlay link. The link to paste into an OBS browser source for this overlay (with its canvas size). It contains the overlay's secret token.

Input Type What it is
overlay (required) text Overlay id or name

get_polls

Get polls. The latest poll and prediction from each source (Twitch, YouTube, Cuebot chat polls) and Cuebot's vote/bet commands.

It takes no inputs.

get_recent_chat

Get recent chat. Recent messages from the combined chat (all platforms) and the activity feed.

Input Type What it is
limit whole number Maximum messages (default 30)

get_speech_settings

Get speech settings. Cuebot speech: on/off, voice aliases, the default alias, reading chat aloud, word replacements, master volume and filters (engine keys are never shown).

It takes no inputs.

get_status

Get status. Cuebot version, platform connections (Twitch, YouTube, Kick, OBS...), servers and counts.

It takes no inputs.

get_store

Get the points store. Store items, pending redemptions waiting for approval, and recent ones.

It takes no inputs.

get_stream_totals

Get stream totals. This stream's totals (follows, subs, tips, bits... counts and amounts) and goals, as labels and goal widgets show them.

It takes no inputs.

get_user_points

Get a viewer's points. A viewer's balance and rank.

Input Type What it is
platform (required) text Platform: twitch, youtube, kick, rumble...
user (required) text The viewer's user name (or user id) on that platform
currency text Currency (default the main one)

get_viewer_variables

Get a viewer's variables. Variables stored for one viewer (as the user-variable sub-actions read them).

Input Type What it is
platform (required) text Platform: twitch, youtube, kick, rumble...
user (required) text The viewer's user name (or user id) on that platform

get_widget

Get widget settings. A widget's settings: every field (type, label, options, min/max) with its current value. includeCode adds its HTML/CSS/JS. Alert box designs come from get_alert_designs.

Input Type What it is
overlay (required) text Overlay id or name
layer (required) text Layer id or name (get_overlay lists them)
includeCode true/false Include the code panes

Import from the gallery. Import a gallery item: an overlay item becomes a new overlay; a widget item is added to the given overlay.

Input Type What it is
id (required) text Item id (list_gallery)
overlay text For widget items: the overlay to add it to

import_overlay_package

Import overlay package. Import a .cuebot-overlay package from a file (path) or base64 (data): an overlay package becomes a new overlay; a widget package is added to overlay. Nothing existing is changed or replaced.

Input Type What it is
path text A .cuebot-overlay file on the computer running Cuebot
data text The package as base64
overlay text For widget packages: the overlay to add it to (Overlay id or name)

import_streamelements_overlay

Import a StreamElements overlay. Copy one StreamElements overlay into a new Cuebot overlay (custom widgets, text, images, labels and the alert box). StreamElements is not changed.

Input Type What it is
id (required) text StreamElements overlay id (list_streamelements_overlays)

list_actions

List actions. List Cuebot actions (id, name, group, enabled, trigger types, number of sub-actions). Use get_action for the full definition.

Input Type What it is
group text Only actions in this group
search text Name or group contains this text

list_commands

List commands. All chat commands (trigger texts, permissions, cooldowns).

It takes no inputs.

list_connections

List connections. Every connection (Twitch, YouTube, Kick, Rumble, OBS, donation services, Elgato, GoXLR...) with its state and whether connect_service can start or stop it.

It takes no inputs.

list_decks

List decks. Web decks (button pages for a phone or tablet that run actions).

It takes no inputs.

list_emulated_events

List sample events. The sample platform events emulate_event can send (follow, sub, cheer, raid, tip, chat...) with each one's arguments, which args can override (a raid's size is "viewers", a cheer's "bits"...).

It takes no inputs.

List the community gallery. Overlays and widgets shared in Cuebot's community gallery (each reviewed before it is listed).

It takes no inputs.

list_groups

List user groups. User groups and their members (used by command permissions, points bonuses and sub-actions).

It takes no inputs.

list_hotkeys

List hotkeys. Global hotkeys (keyboard shortcuts that run actions) and their groups.

It takes no inputs.

list_overlays

List overlays. Every overlay with its canvas and layers (each layer's type, widget kind, place and look).

It takes no inputs.

list_points_currencies

List points currencies. Cuebot points currencies: the main one and any extra ones, with how they are earned.

It takes no inputs.

list_queues

List action queues. Action queues with their settings and live state (blocking, paused, waiting, running).

It takes no inputs.

list_quotes

List quotes. Quotes, newest first; search matches the text, who said it or the game.

Input Type What it is
search text Text to look for
limit whole number Maximum quotes (default 50)

list_script_functions

List script functions. Functions C# and Python code sub-actions can call (Cb.Call / cb.call).

Input Type What it is
search text Name or description contains

list_speech_voices

List speech voices. Speech engines (Windows, Azure, Polly, Google, ElevenLabs...) and their voices.

Input Type What it is
engine text Only this engine id

list_streamelements_overlays

List StreamElements overlays. Overlays in the connected StreamElements account (read only).

It takes no inputs.

list_subaction_types

List sub-action types. Sub-action types (the steps an action runs), with their parameters and branches. Filter by category or search words.

Input Type What it is
category text Exact category, e.g. Logic
search text Words in the type id, name or category, e.g. 'send message'

list_timers

List timers. Timers with their runtime state (enabled, next fire).

It takes no inputs.

list_trigger_types

List trigger types. Trigger types (what can start an action), with their settings. Filter by category or search words.

Input Type What it is
category text Exact category, e.g. Twitch
search text Words in the type id, name or category, e.g. 'chat message'

list_widget_kinds

List widget kinds. What can go on an overlay: Cuebot's widgets (alert box, chat box, label, goal, event list, credits, countdown, emote rain, hype cup, hype boss, poll, giveaway, media player, charity, products, seasonal) and text, image, video and slideshow layers, plus the animations.

It takes no inputs.

manage_group

Create, rename, clear or delete a user group. create, rename (to newName), clear (remove every member) or delete a group.

Input Type What it is
group (required) text Group name
command (required) one of create, rename, clear, delete
newName text For rename
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

points_leaderboard

Points leaderboard. Top viewers by points.

Input Type What it is
platform text Only this platform
count whole number How many (default 10)
currency text Currency (default the main one)

preview_import

Preview import. Show what importing a Cuebot bundle (CUEBOT1:...) or a Streamer.bot export would add or overwrite. Changes nothing.

Input Type What it is
data (required) text The import string or bundle JSON

remove_layer

Remove layer. Take a layer off an overlay (a widget stays in the library).

Input Type What it is
overlay (required) text Overlay id or name
layer (required) text Layer id or name (get_overlay lists them)

remove_media_request

Remove a media request. Remove a waiting request (refunded).

Input Type What it is
id (required) text Request id (get_media_requests)

review_redemption

Approve or reject a redemption. Approve a pending store redemption, or reject it (refunds the points).

Input Type What it is
id (required) text Redemption id (get_store)
command (required) one of approve, reject

run_action

Run action. Run an action now with optional arguments (available as %name% in its sub-actions). By default waits up to timeoutSeconds and returns the run (state, error, arguments after the run). The action may do anything it is built to do (chat, OBS...).

Input Type What it is
action (required) text Action id or name
args object Arguments, e.g.
wait true/false Wait for the run to finish (default true)
timeoutSeconds number How long to wait (default 30, max 300)

run_subactions

Run sub-actions now. Run one or more sub-actions once, right now, without saving an action: anything in list_subaction_types (switch an OBS scene, set the stream title, speak text, time out a viewer, change a light, play a sound...). Same shape as an action's subActions (describe_subaction_type for the parameters). Waits for the result. To make it repeatable, create an action instead.

Input Type What it is
subActions (required) list of object Sub-actions as in create_action, e.g. [{"type": "chat.send", "parameters": {"message": "hi"}}]
args object Arguments (%name%) the sub-actions can use
queue text Action queue to run in (default queue when empty)
timeoutSeconds number How long to wait (default 30, max 300)
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

save_deck

Create or change a deck. Create a deck or replace one (the full definition, in get_deck's shape).

Input Type What it is
deck (required) object

save_hotkey

Create or change a hotkey. A global hotkey that runs an action: {id (to change one), name, gesture (e.g. Ctrl+Shift+F1), action (id or name), enabled, group}.

Input Type What it is
hotkey (required) object

save_voice_alias

Create or change a voice alias. A voice alias names a voice and its settings (engineId, voiceId, rate, pitch, volume, style); actions and viewers speak with it.

Input Type What it is
alias (required) object {name, engineId, voiceId, rate, pitch, volume, style}

send_chat_message

Send chat message. Send a message to the stream chat, as the connected account.

Input Type What it is
message (required) text The text
platform text Twitch, YouTube, Kick, ... or All (default)
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

set_action_enabled

Enable or disable action. Enable or disable an action.

Input Type What it is
action (required) text Action id or name
enabled (required) true/false true to enable

set_global

Set global variable. Create or change a global variable.

Input Type What it is
name (required) text Variable name
value (required) string or number or boolean or null The value
persisted true/false Keep it across restarts (default true)

set_group_member

Add or remove a group member. Add a viewer to a group (made if needed) or remove them.

Input Type What it is
group (required) text Group name
platform (required) text Platform: twitch, youtube, kick, rumble...
user (required) text The viewer's user name (or user id) on that platform
member (required) true/false true to add, false to remove

set_stream_totals

Reset totals or set a goal. reset this stream's totals, or setGoal for a type (follower, subscriber, tip, cheer...).

Input Type What it is
command (required) one of reset, setGoal
type text For setGoal: follower, subscriber, tip, cheer...
amount number For setGoal: the goal
confirmationToken text Only when a previous call answered confirmationRequired: the token it returned, after the user agreed

set_timer_state

Set timer state. Enable/disable a timer or change its interval until restart (not saved).

Input Type What it is
timer (required) text Timer id or name
enabled true/false Enable or disable
intervalSeconds whole number New interval

set_viewer_variable

Set a viewer's variable. Create or change a variable for one viewer.

Input Type What it is
platform (required) text Platform: twitch, youtube, kick, rumble...
user (required) text The viewer's user name (or user id) on that platform
name (required) text Variable name
value (required) string or number or boolean or null The value
persisted true/false Keep across restarts (default true)

set_viewer_voice

Give a viewer a voice. Make a viewer's chat messages read with a voice alias (as !voice does).

Input Type What it is
platform (required) text Platform: twitch, youtube, kick, rumble...
user (required) text The viewer's user name (or user id) on that platform
alias (required) text Voice alias

speak

Speak text. Say something with Cuebot's speech now (filters apply), with a voice alias or the default voice.

Input Type What it is
text (required) text What to say
alias text Voice alias (default voice when empty)

start_giveaway

Start a giveaway. Open a giveaway viewers on every platform enter with a chat command; the Giveaway widget shows it.

Input Type What it is
title (required) text The prize
command text Entry command (default !join)
ticketCost whole number Points per ticket (default 0)
maxTickets whole number Tickets per viewer (default 1)
currency text Points currency
subscriberLuck number Subscribers' chance multiplier (default 1)
subscribersOnly true/false Only subscribers may enter
seconds whole number Close automatically after this many seconds (0 = manually)
winners whole number How many winners to draw (default 1)

start_poll

Start a chat poll. Start a Cuebot chat poll that viewers on every platform vote in (!vote 2 or the choice's name); the Poll widget shows it. For a native Twitch or YouTube poll use run_subactions with that platform's poll sub-action instead.

Input Type What it is
title (required) text The question
choices (required) list of text 2 to 10 choices
durationSeconds whole number How long it runs (default 60; 0 = until end_poll)

start_prediction

Start a points prediction. Start a Cuebot prediction: viewers bet Cuebot points on an outcome (!bet 1 100) until it locks.

Input Type What it is
title (required) text The question
outcomes (required) list of text 2 to 10 outcomes
windowSeconds whole number Betting window (default 120)
currency text Points currency (default the main one)

test_action

Test action. Run a saved action as if one of its triggers fired (isTest is set), with that trigger's sample arguments plus your own. Good for checking a new action works.

Input Type What it is
action (required) text Action id or name
trigger text Trigger type id or its number from 1 (default the first)
args object Extra or overriding arguments, e.g.

update_action

Update action. Change an action. 'changes' holds the top-level fields to replace (name, group, enabled, queue, triggers, subActions...); with replace=true it is the complete new definition. Lists such as subActions are replaced as a whole, so send the full list.

Input Type What it is
action (required) text Action id or name
changes (required) object Fields of the action to set
replace true/false Replace the whole definition instead of merging the given fields

update_alert_designs

Change alert box designs. Turn alert types on or off and change their designs (fields merged) or variations (replaced). Example: {"types": {"raid": {"enabled": true, "design": {"template": "{name} raided with {amount}!", "sound": "chime"}}}}. Try it with emulate_event.

Input Type What it is
overlay (required) text Overlay id or name
layer (required) text Layer id or name (get_overlay lists them)
types object Alert type → {enabled, design: {...}, variations: [...]}
randomPick true/false Pick a random matching variation instead of the first

update_command

Update command. Change the given fields of a chat command.

Input Type What it is
command (required) text Command id or name
changes (required) object

update_feature_settings

Change feature settings. Change settings of points, media, polls or viewers (keys from get_feature_settings).

Input Type What it is
feature (required) one of points, media, polls, viewers
changes (required) object Fields to change

update_layer

Move or restyle layer. Change a layer's place, size, opacity, rotation, visibility, lock, name or enter/exit animation; for text, image, video and slideshow layers also their settings (merged).

Input Type What it is
overlay (required) text Overlay id or name
layer (required) text Layer id or name (get_overlay lists them)
changes (required) object Fields as in place, plus settings for static layers

update_overlay

Rename or resize overlay. Change an overlay's name or canvas size.

Input Type What it is
overlay (required) text Overlay id or name
name text New name
width whole number Canvas width
height whole number Canvas height

update_queue

Update action queue. Rename a queue (its actions move with it) or change whether it is blocking.

Input Type What it is
queue (required) text Queue id or name
name text New name
blocking true/false One at a time

update_quote

Update a quote. Change a quote's text, who said it, the game or the platform.

Input Type What it is
id (required) whole number Quote number
text text New text
user text Who said it
game text Game
platform text Platform

update_speech_settings

Change speech settings. Change enabled, defaultAlias, speakChat, replacements, masterVolume or filters (objects merged). Voice aliases: save_voice_alias.

Input Type What it is
changes (required) object e.g. {"speakChat": {"enabled": true}}

update_store_item

Update a store item. Change the given fields of a store item.

Input Type What it is
item (required) text Item id or name
changes (required) object Fields as in add_store_item

update_timer

Update timer. Change the given fields of a timer (saved).

Input Type What it is
timer (required) text Timer id or name
changes (required) object

update_widget_code

Change widget code. Replace a widget's code panes: html, css, js, fields (JSON text) and/or cssOverride (CSS applied after the widget's own).

Input Type What it is
overlay (required) text Overlay id or name
layer (required) text Layer id or name (get_overlay lists them)
code (required) object {html, css, js, fields, cssOverride}: only the panes to replace

update_widget_settings

Change widget settings. Set widget settings by field key (from get_widget), e.g. {"fontSize": 40, "textColor": "#ff0"}. Overlays update at once.

Input Type What it is
overlay (required) text Overlay id or name
layer (required) text Layer id or name (get_overlay lists them)
values (required) object Field key → value