So... if you start a message as a template output, you aren't triggering the API. Conversely, if you start an API message, your text doesn't hit the chat, and what you have to make do with is whatever the receiving script will output. But there is a workaround with the Meta Toolbox. ZeroFrame allows you to output text (to the chat) that began as an API command, including templates, and Plugger lets you embed secondary, outbound calls to run a script WITHIN your original command line. All of that together would let you do something like: !&{template:default}{{name=Something Happened}}{{Damage Taken=[[1d100+?{Damage Bonus|0} + (2 * @{selected|Strength})]]}}{&simple}{&eval}!token-mod --set bar3|-$[[0]].value{&/eval} Explanation Everything between the EVAL tags is the Token-Mod command, so substitute your own in, there. I used the syntax for decrementing the value of the roll from bar3, but you know better what you want to accomplish. Since the roll is happening in THIS message (not the message sent to TokenMod), we have to extract the roll value while we're here. We do that with the .value construction pegged onto the backside of the roll marker. As far as TokenMod knows (when it gets the message), this was just a simple value we passed, not an inline roll, but the effect is the same. We start it with an exclamation point to trigger the API, but we include the {&simple} tag so that whatever remains in the command line after all of the metascript processing has completed is sent to the chat. In this case, that will include our templated layout... but by the time the metascript processing is done, the EVAL tags have sent the command to TokenMod, and they and everything they enclose is removed from the command line. EDIT: Scripts Needed To pull this off, you'd need ZeroFrame, Plugger, and Token-Mod. Also, I used the selected token where you'd used a sheet shorthand reference. If you want to use selected tokens in an API call (this one or others) and you have ZeroFrame installed, you will need SelectManager.