Not sure if this should be posted in Mods (API Scripts) or Character Sheets & Compendium ... I'm having an issue getting a mod command (tried scriptcards and chatsetattr) that creates a repeating attribute to trigger the sheetworker to do more stuff™ Everything works when interacting on the sheet. events and calcs work as expected. I can get the mod command to create and set the repeating attr, but the sheetworker that is supposed to fire when those fields change does not register to the sheetworker. Log shows nothing on eventInfo.sourceType. Didn't this used to show "API" like "Player" and "Sheetworker"? here's a cut down version of my test case; <label> Caster Class 1:<input type="text" name="attr_caster_class1_name" value="" /> Level:<input type="text" name="attr_caster_class1_level" value="0" /> </label> <label> Caster Class 2:<input type="text" name="attr_caster_class2_name" value="" /> Level:<input type="text" name="attr_caster_class2_level" value="0" /> </label> <fieldset class="repeating_spells"> <div style="border: 1px solid; padding:5px;"> Name: <input type="text" name="attr_spell_name" /> Class: <select name="attr_spell_caster_class"> <option value="0">n/a</option> <option value="1" selected>Caster 1</option> <option value="2">Caster 2</option> </select> <input type="text" name="attr_spell_caster_class_name" value="" readonly /> Lvl: <input type="text" name="attr_spell_caster_class_level" value="0" readonly /> </div> </fieldset> <script type="text/worker"> on('change:repeating_spells:spell_name change:repeating_spells:spell_caster_class', (eventInfo) => { console.log(`sourceType:${eventInfo.sourceType}`); const id = eventInfo.sourceAttribute.split('_')[2]; getAttrs(['repeating_spells_spell_caster_class', 'caster_class1_name', 'caster_class1_level', 'caster_class2_name', 'caster_class2_level'], (v) => { const output = {}; const thisClass = +v.repeating_spells_spell_caster_class || 0; console.log(`thisClass: ${thisClass} id: ${id}`); if (thisClass === 0) { output.repeating_spells_spell_caster_class_name = ''; } else if (thisClass === 1) { output.repeating_spells_spell_caster_class_name = v.caster_class1_name; output.repeating_spells_spell_caster_class_level = +v.caster_class1_level || 0; } else if (thisClass === 2) { output.repeating_spells_spell_caster_class_name = v.caster_class2_name; output.repeating_spells_spell_caster_class_level = +v.caster_class2_level || 0; } setAttrs(output, {silent: true}); }); }); </script> chatsetattr mod to try; !setattr --sel --replace {{ --repeating_spells_-CREATE_spell_name|Test --repeating_spells_-CREATE_spell_caster_class|2 }} scriptcard mod to try; !script {{ --!or:@{selected|character_id}:spells| spell_name:Test| spell_caster_class:2| }} image example; I entered some values to work with in the non-rep fields. Created a new repeating_spells and the sheetworker updates all fields as expected as soon as I enter the spell_name. Awesome. BUT the next repeating_row was created with a mod. It sets the spell_name and the spell_caster_class correctly, but the other fields never get updated. Not awesome. Any help/suggestions? Thanks