Video of Macro in action. The two scripts I use in this macro are Token-Mod , and Roll20 Audio Master The bulk of the automation is handled by the following API commands in an API button: Fireball](!roll20AM --audio,play,nomenu|Fireball Spell by Daniel Warneke !token-mod --order toback !token-mod --set currentside|1 !token-mod --set width|560 height|560) To revert to the target face, I use this button: [Target](!token-mod --set currentside|1 !token-mod --set width|140 height|140 !token-mod --order tofront) I placed the spell effect images in a rollable table, and created a token from them. I use Token-Mod to swap the faces and properly size them and Roll20AM to play an appropriate sound effect. I also tell Token-Mod to send the effect to the back, so that the affected characters are easy to identify. When I hit the API button to revert back to the targeting icon, it pops it up to the front, so that it can be easily moved or deleted. I'm pretty happy with it. Note that because the API cannot control Marketplace images, all effect images must be uploaded to your own user library. Map is Ruins of Trostenhall by HeroicMaps Tokens (except for the Skeleton) and Spell Effects are mine Sound Effects from Incomptech through Roll20 Jukebox EDIT: Updated Macro, note that emojis in the names of the spells will probably be swallowed by the Roll20 forum text parser: /w gm &{template:npcaction} {{rname=Spells Effects}} {{description=[ Fireball](!splay Fireball Spell by Daniel Warneke !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|2 !token-mod --set width|560 height|560) [撚 Tentacles](!splay Spell 1 !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|3 !token-mod --set width|280 height|280) [ Hellfire Orb](!splay Fireball Spell by Daniel Warneke !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|4 !token-mod --set width|560 height|560) [️ Darkness](!splay Wind Gust !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|5 !token-mod --set width|420 height|420) [️ Fog Cloud](!splay Wind Gust !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|6 !token-mod --set width|560 height|560) [✨ Faerie Fire](!splay Magic Twinkle !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|7 !token-mod --set width|280 height|280) [ Mage Hand](!splay Finger Snap !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !splay Finger Snap !token-mod --order toback !token-mod --set currentside|8 !token-mod --set width|70 height|70) [️ Spiritual Weapon-Sword](!splay Spiritual-Weapon !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|23 !token-mod --set width|70 height|70) [ Spiritual Weapon-Hammer](!splay Anvil !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|22 !token-mod --set width|70 height|70) [ Spiritual Weapon-Kaanan](!splay Spiritual-Weapon !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|26 !token-mod --set width|70 height|70) [ Entangle](!splay Plant Growth !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|10 !token-mod --set width|280 height|280) [️ Web](!splay Spiderweb !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|11 !token-mod --set width|280 height|280) [ Dragon Breath 60](!splay Fireball Spell by Daniel Warneke !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|12 !token-mod --set width|840 height|840) [⭕ Wall of Force](!splay Spell 1 !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|13 !token-mod --set width|280 height|280) [ Whirlwind](!splay Wind Spell !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|14 !token-mod --set width|280 height|280) [⚡ Lightning Sphere](!splay Electricity !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|20 !token-mod --set width|280 height|280) [✋ Bigby's Hand](!splay Punch !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|18 !token-mod --set width|140 height|140) [✊ Bigby's Fist](!splay Punch !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|17 !token-mod --set width|140 height|140) [ Tiny Hut](!splay Restorative Spell by Pablo Betancourt !token-mod --set aura1_radius| aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|24 !token-mod --set width|420 height|420) [ Smoke Illusion](!splay Restorative Spell by Pablo Betancourt !token-mod --set aura1_radius|0.05 aura1_square|no showplayers_aura1|yes !token-mod --order toback !token-mod --set currentside|25 !token-mod --set width|70 height|70) [❄️ Shards of Laton](!splay Breaking - Simple Glass Vial Shattered by Pablo Betancourt !token-mod --order toback !token-mod --set currentside|27 !token-mod --set width|560 height|560)}}