I have a script that adds items to the Equipment section of the D&D 5e by Roll20 sheet. The item is being added properly with all fields being accurately created. (This screenshot shows the Has Attack checkbox checked, but it is not checked when the script adds it): My problem arises when I try to use the script to add the attack after the item has been added to the Equipment section. The script toggles the 'hasattack' attribute on (checks the box) after the item is created to allow the sheet workers to do the work of adding the attack for me. However, it will only create a blank attack entry: The following code snippet is what I'm using to add the item and then create the attack: if (item && char) { var newItem = { itemname: item.itemname, itemproperties: (typeof item.itemproperties != 'undefined') ? item.itemproperties : '', itemweight: (typeof item.weight != 'undefined') ? item.weight : '1', itemcontent: (typeof item.itemcontent != 'undefined') ? item.itemcontent : '', itemmodifiers: item.itemmodifiers, itemcount: 1, equipped: 1, hasattack: 0, useasresource: 0 }; var currItemID = findCurrItemID(char_id, item.itemname); if (!currItemID) { // Create item if not found const data = {}; var rowID = generateRowID(); var repString = 'repeating_inventory_' + rowID; Object.keys(newItem).forEach(function (field) { data[repString + '_' + field] = newItem[field]; }); setAttrs(char_id, data); setTimeout(function () { // Create Attack entry for item if (item.hasattack && state['ItemDB'].autoAttacks) { var tmp_attack = findObjs({ type: 'attribute', characterid: char_id, name: 'repeating_inventory_' + rowID + '_hasattack' })[0]; tmp_attack.setWithWorker('current', 1); } // Create Resource entry for item if (item.useasresource && state['ItemDB'].autoResources) { var tmp_resource = findObjs({ type: 'attribute', characterid: char_id, name: 'repeating_inventory_' + rowID + '_useasresource' })[0]; tmp_resource.setWithWorker('current', 1); } }, 500); } else { // Update count for existing item var tmp_count = findObjs({ type: 'attribute', characterid: char_id, name: 'repeating_inventory_' + currItemID + '_itemcount' })[0]; tmp_count.setWithWorker('current', toNumber(tmp_count.get('current')) + 1); } This gives the following error in the Console: "SHEET WORKER ERROR: You attempted to delete a repeating row but passed an invalid row ID in repeating_attack__" This leads me to think there is a problem with the sheet, except for the fact that checking the "Has an Attack" checkbox manually works as expected. Also, items that are used as a resource work beautifully: Adding Arrows will create a new Resource named Arrows that functions as expected. I'm not sure where the attacks process is falling short, but I am at a loss to pinpoint the problem. If you have any insight into this issue it would be most appreciated.  Thank you!