The metascript toolbox can accomplish this in a number of different ways, depending on how complex the set up is. The idea behind the toolbox is that you're altering the message (either the text of the command line or the other properties of the message -- selected tokens, rolls, etc.) before it reaches other scripts. 1 For a simple setup, you can use APILogic + ZeroFrame to establish an if-then based on your roll: !{&if [[1d10]].value = 1}token-mod --set bar2|+1 {&elseif $[[0]].value <= 5}bump {&else}Spawn --name|Giant Ape --qty|1 --size|2,2 --layer|object {&end} That runs a TokenMod command on a result of 1, a Bump command on 2-5, or a Spawn command for everything else. 2 For a slightly more complex setup, you could use APILogic + ZeroFrame + Fetch. Fetch would let you stash in attributes or abilities the API commands you intend to run. Because they are referenced by a Fetch construction, they are retrieved during the metascript processing... *after* Roll20 has at the command line. For instance, if you took the TokenMod command, above, and put it in an ability named IncrementBar2 on the character, and you made sure the token representing that character were selected, you could reference it like: %(selected.IncrementBar2) *note: requires the Fetch 2.0 beta !{&if [[1d10]].value = 1}%(selected.IncrementBar2) {&elseif ... 3 Finally, for a more complex setup (let's say 5 or more potential outcomes), you could use Muler + ZeroFrame. Muler would store your commands as retrievable variables in a mule -- an ability on a character sheet structured like: 1=token-mod --set bar2|+1 2-5=bump >=6=Spawn --name|GiantApe --qty|1 --size|2,2 --layer|object So all of your commands could be recorded in one place. Alternately, you could have an individual line reference an attribute or ability as necessary: 1=%(character name.IncrementBar2) *note: use the character's name, here, because selected tokens aren't a part of script-generated messages. Orrrrr.... include SelectManager (so we're now up to ZeroFrame, SelectManager, Muler, and Fetch) to be able to write that mule variable entry as: 1=%(selected.IncrementBar2) 4 Muler is currently in a refactor that should be done in a couple of days. The current public release will do the above just fine. However, the upcoming v2 will be able to use your Roll20 rollable table as a mule, so the actual location where you store your option will get more flexible for you.