How to Add a StreamElements Command on Twitch

StreamElements is one of the most widely used bot and overlay platforms for Twitch streamers. Among its most practical features is the ability to create custom chat commands — automated responses triggered when a viewer or moderator types a specific keyword in chat. Whether you want a !discord command that drops your server link or a !schedule command that tells viewers when you go live, setting these up is straightforward once you understand the system.

What StreamElements Commands Actually Do

A StreamElements command is a chat bot response that fires when a user types a trigger word prefixed with ! (or another character you define). When the bot is active in your channel, it listens to chat, detects the trigger, and posts a reply automatically.

Commands fall into two broad types:

  • Default commands — built into StreamElements, covering things like !points, !rank, !followage, and other loyalty or stats features. These are toggled on or off from your dashboard.
  • Custom commands — ones you build from scratch, with your own trigger word, response text, and access rules.

This guide focuses on custom commands, since those are what most streamers need to configure manually.

Step-by-Step: Adding a Custom Command

1. Connect StreamElements to Your Twitch Channel

Before anything else, your StreamElements account needs to be authorized and the StreamElements Chatbot must be active in your channel. Log in at streamelements.com using your Twitch account, then navigate to Chatbot → Chat Commands in the left sidebar.

If the bot isn't already live in your chat, you'll need to mod the bot in your Twitch channel by typing /mod StreamElements in your chat. Without mod status, the bot can still respond, but it may be rate-limited or unable to use certain features.

2. Open the Custom Commands Panel

Inside the StreamElements dashboard:

  1. Go to Chatbot in the left navigation menu
  2. Select Chat Commands
  3. Click the Custom tab (as opposed to Default)
  4. Hit the + Add New Command button

This opens the command editor.

3. Configure the Command

The command editor has several fields worth understanding:

FieldWhat It Does
CommandThe trigger word (e.g., !discord) — no spaces
ResponseThe text the bot posts in chat when triggered
CooldownSeconds between allowed uses (per-user or global)
CostChannel point cost to use (if you use loyalty points)
Min LevelMinimum permission level required to trigger it

Response text supports variables. For example, ${user} inserts the username of whoever typed the command. ${channel} inserts your channel name. StreamElements has a full variable library accessible from within the editor.

4. Set Access Levels

The Min Level setting determines who can trigger the command. Options typically include:

  • Everyone — any viewer
  • Subscriber — subscribers only
  • Regular — users with a specific loyalty threshold
  • Moderator — mods only
  • Broadcaster — only you

Most informational commands (like linking your socials) are set to Everyone. Commands that trigger sound alerts, overlays, or channel changes are usually restricted to Moderator or higher.

5. Save and Test

Click Save or the checkmark to confirm the command. Switch to your live Twitch chat (or a test environment) and type the trigger. The bot should respond within a second or two. 🎮

If it doesn't respond, check that:

  • The bot is modded in your channel
  • The bot is toggled on (the toggle next to the command in the dashboard)
  • You're not hitting the cooldown from a previous test

Variables and Dynamic Responses

One thing that separates a useful command from a basic one is dynamic content. StreamElements lets you build responses that pull in real-time data. A few practical examples:

  • ${user} — mentions the person who triggered the command
  • ${count} — tracks how many times the command has been used
  • ${random.X-Y} — generates a random number between X and Y
  • ${touser} — captures the username typed after the command (useful for !hug @username style interactions)

Commands can also pull from external APIs using ${urlfetch}, which lets advanced users display live data — follower counts, game stats, or anything with a public endpoint.

Factors That Affect How Commands Work in Practice

Not every setup behaves identically. A few variables shape the experience:

  • Bot mod status — a bot without mod permissions can be throttled by Twitch's spam filters during active chat
  • Cooldown settings — too short and a command gets spammed; too long and viewers miss the response window
  • Channel size — in large, fast-moving chats, commands get buried quickly; response timing and cooldowns matter more
  • Loyalty system integration — if you use StreamElements' points system, command costs and access tiers interact with it directly
  • Overlay vs. chat-only commands — some commands can trigger on-screen alerts or widget updates, which requires additional overlay setup beyond the command itself

A streamer running a small, tight-knit community channel needs a different command structure than someone managing a high-volume chat with dozens of moderators. The right cooldowns, access levels, and response phrasing depend entirely on how your chat behaves and what role you want the bot to play in it. 🎯

Custom commands are ultimately a tool — and how useful they become depends on how well they're tuned to the actual patterns of your stream.