I think I would just do this with a chat menu, so no api required. Once you have all your tables set up, create a character sheet that will hold all your name generation macros. As character abilities, create a macro for each race that will assemble both a male and female name. Create a chat menu with a button that can call each race you have set up a generator for. And then put a button at the end of your race generation macro you included in your post to call up the name generation menu. Let's say your dragonborn ability macro is called dbornnames, the chat menu is called namelist, and it is on a character called Namegen. The button in the chat menu to call the dragonborn list would be: [Dragonborn Names](~Namegen|dbornnames) The button to put at the end of any of your npc creation macros would look like: [Name Generators](~Namegen|namelist) The part in the square brackets is what will be displayed on your button. This is just a combination of the macro character and chat menu tricks from the stupid tricks thread: <a href="https://app.roll20.net/forum/permalink/5927072/" rel="nofollow">https://app.roll20.net/forum/permalink/5927072/</a> <a href="https://app.roll20.net/forum/permalink/5924364/" rel="nofollow">https://app.roll20.net/forum/permalink/5924364/</a> Or you can do what I do, which is have one big name generator for male, another for female and just have each one print out a list of names for each language/style of name you have made tables for. Mine spits out names (first & last) drawn from 10 languages (one per macro line), assembles a "savage" name from syllables, assembles a 2 part tribe/clan name, and then prints out a few possible epithets ("the savage", "the holy", etc.) to append to the name if desired. I like having all the options in view at once because I may mix/match names depending on mood. Edit: Depending on how/where you expect to be using this, you might just have all your macros on a character sheet. I have a "Character Creation Monster" with a token on the GM layer of the world map of my games. All of my name, personality, and various other generators are set as token actions. I archive the sheet so it isn't cluttering up the journal, and just access all the rolls through the token. If a player wants/needs to make use of it, I just temporarily pop the token down to the object/token layer and let them have at it. If you already have a bunch of macros in your collection, this helps keep your list there under control by moving out things that won't see as much constant use.