Awesome! Thank you very much. That tip helped tremendously to find the field names I was looking for. Now I have this code: /w gm &{template:default} {{name=Attack}} {{Attacks= [@{selected|repeating_npcatk-melee_$0_atkname}](~selected|repeating_npcatk-melee_$0_attack) [@{selected|repeating_npcatk-melee_$1_atkname}](~selected|repeating_npcatk-melee_$1_attack) [@{selected|repeating_npcatk-ranged_$0_atkname}](~selected|repeating_npcatk-ranged_$0_attack) [CMB](!
#CMB)}} Producing this result. The attacks appear with the proper names dynamically for whatever token I have selected and the buttons in the chat call the attack button from the character sheet. So now I'm to the point where I'm just being nit-picky, but for characters that have fewer attacks than the macro looks for it returns the somewhat awkward selected|repeating_npcatk-melee_$1_atkname , as shown below. I can live with this, but if keithcurtis or anyone else has any idea how to return a null result so that a button does not appear in the chat if the character does not have that many attacks, that would be awesome. Ideally I'd love to be able to select the token on the battlefield, click the token action button, and the chat shows a dynamic list as it does below with the names of all the attacks the character has without getting buttons that don't work because the selected character doesn't have enough attacks. My first thought would be to use a "IF/ELSE" statement to filter out results, but I was pretty sure I saw somewhere that this is beyond the capabilities of Roll20's macro system.