I was tinkering a bit with AI and knowing crap about code it prompted me this: // Listens for pasted text command on('chat:message', function(msg) { if (msg.type === 'api' && msg.content.indexOf('!createMonster ') === 0) { let text = msg.content.replace('!createMonster ', ''); createMonster(msg.playerid, text); } }); // Function to create monster function createMonster(playerId, text) { let lines = text.split('\n'); let character = createObj('character', { name: lines[0], // Assumes the first line is the monster's name controlledby: playerId }); // Loop through each line of text and set attributes accordingly lines.forEach(function (line) { let [attribute, value] = line.split(': '); // Assumes each line is "attribute: value" if (attribute && value) { createObj('attribute', { name: attribute.trim(), current: value.trim(), characterid: character.id }); } }); // Output to chat that monster was created sendChat('API', '/w gm Monster "' + lines[0] + '" created'); } // You would also add additional parsing logic here to handle more complex attribute setups, // such as attack details or special abilities and ensure they match the attribute names on the Starfinder sheet. So this is the start, would it be possible to make an auto fill script? This would help me greatly in adding custom monsters rather than relying on the bestiary.