From my testing and understanding, anything after the ` is treated exactly like if you typed it into the chat area. So, if you have to do HTML Entity Substitutions there, you'd need to do them here. It's possible there might be some combination of symbols that could end up breaking the link tag when used in this, but I have yet to find them. In theory, they should be getting encoded when you insert the link (that's how I'd do it!), so probably you'll be ok with whatever. So, to be explicit: Do we still need to use ! for api calls? Yes, because you'd use them in chat. The ! tells the command parser that this is an API command. Do we still need to use HTML characters for nested Queries in macros? Very likely yes, because you'd do this in chat. The HTML Entities are a hack to get nested Roll Queries to work, not directly related to getting things into API Command Buttons originally.