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¶
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_gallery_item¶
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_gallery¶
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 |