StreamElements logo StreamElements automation · runs weekly

Update StreamElements chat commands every week

Your !schedule command still lists last week's streams, and your socials link changed on Friday. Each reply lives in its own command, so a weekly refresh means opening every one of them.

Cotlet does it in your own StreamElements account with list_commands, update_command and create_command, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Can StreamElements do this on its own?

StreamElements has a full API for this (checked 17 Oct 2026): POST and PUT on /bot/commands, with the OAuth scope bot:write or your secret JWT. It has no MCP server, so an agent can only use it through code you write and a token you keep. Inside StreamElements, !command edit changes one reply per message and has no way to find every command that mentions a date.

How you do it in StreamElements today

  1. Open the bot commands dashboard and switch to the "Custom commands" tab.
  2. Find the command and edit it: the "Reply" field holds the response, and the "Response type" dropdown picks Say, Mention, Reply or Whisper.
  3. The "Advanced settings" tab holds aliases, cooldowns, a loyalty-point cost and conditions such as running only while the stream is live.
  4. In chat, a moderator can do the same for the reply text with !command edit !<name> <new reply>, and !command show !<name> prints the current level, cost and cooldowns.
  5. Every command that mentions the schedule or a link has to be found and changed by hand, and an alias or a second command with the old text is easy to miss.

How to update StreamElements chat commands every week

Prompt

Every Monday, update !schedule with this week's stream times and point !socials at my new link. Show me the old and new reply for each command, and create any command that is missing.
  1. 01

    Find every command that needs a change

    list_commands returns all commands with their reply text and aliases. The agent matches your rule against the reply, so a !stream alias with last week's times is found along with !schedule.

  2. 02

    Write the new reply and keep the settings

    The agent changes only the reply. Level, cooldowns, point cost and response type stay as they are, and variables such as $(user) or $(count) are copied into the new text unchanged.

  3. 03

    Show old against new

    update_command runs once per command and returns the reply as saved. The agent prints the old and the new text side by side, so you can check a date or a link before it reaches chat.

  4. 04

    Create what is missing

    If no command matches, create_command makes it with the level and response type you named, and the agent says it was new. Both write tools ask for your OK per call until you switch confirmation off for them.

What you get back

Example data

Commands checked: 14
Updated 3:
- !schedule: "Mon-Fri 19:00 CET" now "Tue, Thu 19:00 CET, Sat 16:00 CET"
- !socials: old link replaced with the new one
- !stream (alias of !schedule): same text
Created 1: !discord (Everyone, Say)
No change: 10

Other ways to ask

  • Every Friday, change the !raid command to the shoutout text for this weekend's event.
  • Switch every command that costs loyalty points to the Reply response type and show me which ones.
  • List commands that no one can use because they are disabled, and ask me which to switch on.

What StreamElements allows, and what to know first

  • A StreamElements custom command answers in one of four ways: Say, Mention, Reply or Whisper, and the platform may not support every type.
  • The permission level of a command is one of Everyone, Subscriber, Regular, VIP, Moderator or Super Moderator.
  • A command with a loyalty-point cost does nothing without an error when a viewer has too few points, and it needs the Loyalty System switched on.
  • The !command suite is available on Twitch, YouTube and Kick and needs the Moderator level.
  • Each command can have aliases, which are alternate trigger words, and listing them in chat only works with the original command name.

update_command and create_command ask for your OK by default. To run it weekly without you, switch confirmation off for those tools in your dashboard.

Sources: StreamElements Docs: Custom Commands · StreamElements Docs: Getting Started with the Chatbot · StreamElements Docs: !command · StreamElements API docs (OpenAPI spec)

Call update_command from a script

curl

curl -X PATCH https://cotlet.dev/api/v1/streamelements/commands/c_4b19e0 \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"reply":"Streams this week: Tue and Thu 19:00 CET, Sat 16:00 CET."}'

Example response

{
  "command_id": "c_4b19e0",
  "trigger": "!schedule",
  "reply": "Streams this week: Tue and Thu 19:00 CET, Sat 16:00 CET.",
  "level": "Everyone",
  "response_type": "say",
  "enabled": true
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is streamelements_write → update_command. Example data.

Schedule it in n8n, Make, Zapier or cron

StreamElements tools this automation uses

Cotlet StreamElements tools used to update StreamElements chat commands every week
Tool Parameters
list_commands search, enabled, limit, cursor
update_command command_id, reply, level, response_type, cooldown_global, cooldown_user, cost, enabled
create_command trigger, reply, level, response_type, cooldown_global, cooldown_user, cost
All 14 StreamElements tools with descriptions

Frequently asked questions

Is it safe to connect StreamElements to Cotlet?

Yes. You sign in to StreamElements yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get StreamElements once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

Give your agent access to StreamElements.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with StreamElements.