You can find a wealth of syntax options in the Stupid Trick entry on Chat Menus . Here is the relevant portion: To make a Chat Menu, use a Roll Template. Because the formatting of Roll Templates, the appearance of a Chat Menu can vary widely from game to game. In general, though, the code is remarkably similar: [command name](#macro to call) Default button syntax to reference a Macro in the collections tab—You probably don't need to use this for a Chat Menu. Use one of the versions below. If you use the macro character tip posted above, the format is: [command name](~macro to call) Button syntax to reference an Ability on the same sheet ... with "macro to call" being another ability on the same sheet. By keeping your macros on a sheet along with the Chat Menu macro itself, you not only gain the advantage of transportability to new campaigns, you also ensure that nothing breaks once you transport it. The macro it's calling comes right along with it. If you want to reference a macro that is on a character sheet (an "Ability"), but you are not writing the macro on the same sheet, you can reference the ability with this format (Assuming that your referenced sheet is called "Macros"): [command name](~Macros|macro to call) Button syntax to reference an Ability on another character sheet, such as a Macro Character Sheet. If your macro is a loose, global macro, the code is a little more arcane, since you need to use HTM replacements: [command name](!
#macro to call) Button syntax to reference a Macro in the collections tab. Try to use only in Abilities, not Macros, since Macros will revert the HTML replacement if you need to edit. Note also, that you can embed a Roll Command into the API button instead of a macro, if you simply have a bit of code you use over and over, but a better practice (at least I have found) is to keep as much code in macros as possible, so that if you use the same command in different places, you only have to edit the original if you later decide to change how something works. If it's just an API call (a script call, beginning with "!"), it's pretty safe to pop in as-is.