Just finished something similar, using what I've since learned is a known technique referred to as a chat menu . Step 1 - set up rollable tables with all of the things you want to know about an NPC; Race-First-name, Race-surname, Appearance, Flaws, abilities, talents etc. Step 2 - set up macros that call each one you want - so a Male-Tiefling-NPC macro, a Female-Halfling-NPC macro etc. Step 3 - set up your chat menu macro that has a button for each option. So I have a top level single button called NPC-Generator. It gives me a choice of (binary) gender: Whichever option then spawns a list of races: Which whispers to the GM the actual NPC: (And if you select 'Human' for race, you get another layer of buttons for Calishite, Chondathan...Turami). You could add a layer in the chat menu for 'name only' or 'detailed' to control what gets output. So, create the tables and create each combo macro (race/gender in my case, name only, detailed in yours): Half-Orc_Male_NPC /w gm &{template:default} {{name=Male Half-Orc}} {{Name=[[1t[Orc-Males-Names]]]}} {{H&W=[[1t[Half-Orc_Height_and_Weight]]]}} {{Average= Height 5'8" Weight 200 lbs}}{{Appearance=[[1t[NPC-Appearance]]]}} {{Abilities=[[1t[NPC-Abilities]]]}} {{Talent=[[1t[NPC-Talents]]]}} {{Mannerisms=[[1t[NPC-Mannerisms]]]}}{{Interaction Traits=[[1t[NPC-Interaction-Traits]]]}} {{Bond=[[1t[NPC-Bonds]]]}}{{Flaws=[[1t[NPC-Flaws-and-Secrets]]]}} At this stage, you could call them all individually if you remember your naming convention. To make it easier, implement a chat NPC_Male_Generator /w gm &{template:default} {{name=Male NPC Generator}} [Dragonborn](!
#Dragonborn_Male_NPC ) [Dwarf](!
#Dwarf_Male_NPC ) [Elf](!
#Elf_Male_NPC ) [Gnome](!
#Gnome_Male_NPC ) [Half-Orc](!
#Half-Orc_Male_NPC ) [Human](!
#NPC-Human-Male-Generator ) [Tiefling](!
#Tiefling_Male_NPC ) NPC_Female_Generator &{template:default} {{name=Female NPC Generator}} [Dragonborn](!
#Dragonborn_Female_NPC ) [Dwarf](!
#Dwarf_Female_NPC ) [Elf](!
#Elf_Female_NPC ) [Gnome](!
#Gnome_Female_NPC ) [Half-Orc](!
#Half-Orc_Female_NPC ) [Human](!
#NPC_Human_Female_Generator ) [Tiefling](!
#Tiefling_Female_NPC ) And finally, present those two options as buttons you can call up with a single click: NPC-Generator /w gm &{template:default} {{name=NPC Generator}} {{Choose NPC Gender=}} [Male](!
#NPC_Male_Generator ) [Female](!
#NPC_Female_Generator ) Longest part of the whole process? Height and weight tables per race. Easily at least half of the whole setup time. If you're not so concerned with that, should be able to set this up in a couple of hours one lazy afternoon. Even less using The Aaron's export table script