5e Conjure Animals API scripts required: Scriptcards , SelectManager , SpawnDefaultToken , Table-Export . This spell is pretty involved from a procedural standpoint. The caster picks a Challenger Rating of creatures to summon (which also determines a scaled qty of creatures), and some number of random creature types of the appropriate CR are summoned within range. To handle all of the randomness and to have the whole spell in one macro, I ended up using a combination of the Spawn , Scriptcards , and SelectManager api scripts, along with a rollable table that I populated with the Scriptcards version of the Spawn commands (built in excel and imported with Aaron's table-export script). Description below, but fair warning: it's a lot! Here's what it looks like in action (click to play gif). First, I Spawn a "target" token from a token action ability on the character. This will determine the location where the creatures will spawn. This target token has it's own character sheet and default token (required by Spawn), and I put the scriptcards macro into a token action ability on the target token's sheet. In the example, I selected CR 1/4 creatures. The scriptcards ability rolls on the appropriate rollable table using conditional logic, and you can see 8 CR 1/4 wolves were randomly selected and then spawned at the target location. Note: the grid placement is not ideal for creatures larger than 1x1 (there will be some overlap), as I haven't handled large tokens with grid placement that in the script yet. But, it's easy enough to move them slightly after spawning for now. Here's the Spawn ability that generated the target token. Note that my characters have access to the spell via a magic item (that I called "Bag of Nature's Allies"). You could call this "Conjure Animals Target" or whatever you want. Just make it match the name of the target "character" sheet. !Spawn {{
--name| Bag of Nature's Allies
--offset| 1,0
}} Here's the scriptcard macro. The Rollable table items contain Spawn syntax using the scriptcards format). Also note that the SelectManager script is required to use the "forselected" property to retain the selected token between the two other scripts (Spawn and Scriptcards). The scriptcard populates a "CR" variable, then performs the equivalent of a "Select...Case" (or Switch) statement to call the "RollTable" procedure with the appropriate parameter (the name of the rollable table to use). Finally, it calls the Spawn script (via SelectManager) with the --@forselected line. See the Scriptcard documentation for more info on all of this. !scriptcards {{
--:SETTINGS|
--#hideCard|1
--#title|Nature's Allies
--=CR|?{How many creatures?|1x CR 2,2|2x CR 1,1|4x CR 1/2,0.5|8x CR 1/4,0.25}
--C[$CR.Total]|2:>RollTable;SpawnBeastsCR2|1:>RollTable;SpawnBeastsCR1|0.5:>RollTable;SpawnBeastsCR0.5|0.25:>RollTable;SpawnBeastsCR0.25
--@forselected|[$SpawnSyntax.tableEntryText]
--X| End macro
--:PROCEDURES|
--:RollTable|
--=SpawnSyntax|[T#[%1%]]
--<|
}} These are the rollable tables I created: Here are the table-export macros I used to generate the rollable tables. Note the "_p's" referring to the player-controlled copies I made. !import-table --SpawnBeastsCR2 --show
!import-table-item --SpawnBeastsCR2 --Spawn _name|Saber-Toothed Tiger_p _qty|1 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR2 --Spawn _name|Rhinoceros_p _qty|1 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR2 --Spawn _name|Giant Elk_p _qty|1 _size|3,3 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR2 --Spawn _name|Giant Constrictor Snake_p _qty|1 _size|3,3 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR2 --Spawn _name|Giant Boar_p _qty|1 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR2 --Spawn _name|Cave Bear_p _qty|1 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR2 --Spawn _name|Allosaurus_p _qty|1 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR2 --Spawn _name|Quetzalcoatlus_p _qty|1 _size|3,3 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR2 --Spawn _name|Aurochs_p _qty|1 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 -- !import-table --SpawnBeastsCR1 --show
!import-table-item --SpawnBeastsCR1 --Spawn _name|Tiger_p _qty|2 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR1 --Spawn _name|Lion_p _qty|2 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR1 --Spawn _name|Giant Vulture_p _qty|2 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR1 --Spawn _name|Giant Toad_p _qty|2 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR1 --Spawn _name|Giant Spider_p _qty|2 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR1 --Spawn _name|Giant Hyena_p _qty|2 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR1 --Spawn _name|Giant Eagle_p _qty|2 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR1 --Spawn _name|Dire Wolf_p _qty|2 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR1 --Spawn _name|Brown Bear_p _qty|2 _size|2,2 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR1 --Spawn _name|Deinonychus_p _qty|2 _size|1,1 _placement|grid 1 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 -- !import-table --SpawnBeastsCR0.5 --show
!import-table-item --SpawnBeastsCR0.5 --Spawn _name|Warhorse_p _qty|4 _size|2,2 _placement|grid 2 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.5 --Spawn _name|Giant Wasp_p _qty|4 _size|1,1 _placement|grid 2 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.5 --Spawn _name|Giant Goat_p _qty|4 _size|2,2 _placement|grid 2 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.5 --Spawn _name|Crocodile_p _qty|4 _size|2,2 _placement|grid 2 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.5 --Spawn _name|Black Bear_p _qty|4 _size|1,1 _placement|grid 2 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.5 --Spawn _name|Ape_p _qty|4 _size|1,1 _placement|grid 2 _offset|0,0 _resizeSource|0,0,20,50 _expand|20,50 --1 -- !import-table --SpawnBeastsCR0.25 --show
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Wolf_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Pteranodon_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Panther_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Giant Wolf Spider_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Giant Poisonous Snake_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Giant Owl_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Giant Lizard_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Giant Frog_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Giant Centipede_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Giant Bat_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Giant Badger_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Elk_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Draft Horse_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Constrictor Snake_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Boar_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Axe Beak_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Velociraptor_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Ox_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Hadrosaurus_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Dimetrodon_p _qty|8 _size|1,1 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 --
!import-table-item --SpawnBeastsCR0.25 --Spawn _name|Cow_p _qty|8 _size|2,2 _placement|grid 3 _offset|-1,-1 _resizeSource|0,0,20,50 _expand|20,50 --1 -- Whew! This is obviously a lot of work for one spell (albeit a complicated spell), but I am pretty happy with the result. Index Entry 5e Conjure Animals - link