Look at SelectManager and possibly Muler . These are meta-scripts, so they will handle some pre-processing before your macro command reaches GroupCheck. SM has a {& select...} syntax that lets you virtually select tokens. You could have the list pre-populated with the tokens to be included for GroupCheck. Since meta-scripts handle work *after* the Roll20 parsers but before normal scripts, they can do things like respond to roll queries... so if you wanted to use the same macro for different groups, you could offer a roll query that would resolve to the list of tokens to use for this particular call. But commas and roll queries don't play nicely, so we could use Muler to store a list of variables that represent the various groups you might want to affect: Party=Bob the Bling, Black Jitter, Sally Sparklepants CaveNPCs=Udar Understench, Holser Howlsabout, -M1234567890abcdef TownNPCs=Mayor Trestonwiggit, Lord Barnlabberty Then use that in our {& select...} statement: {& select get.?{Group|Party,Party|CaveNPCs,CaveNPCs|TownNPCs,TownNPCs}/get } {& mule GroupPicker} ...where "GroupPicker" was the name of the mule ability storing that data. By the time GroupCheck sees the message, this list has turned into a set of virtually selected tokens, and the text of the meta-structures has been removed from the command line.