It's still perfectly doable with repeating sections, my example just didn't include it. If we add clicked:repeating_skill:roll to our listener, we can observe the event that is passed from that. Just like the non repeating section button, it has htmlAttributes when clicked on the sheet, and they are missing from the chat call triggered event. Click on sheet: Triggered from chat: Note that the repeating button clicks have a sourceAttribute value, but I tend to ignore this so I can write generic roll handling functions. Also, something I wasn't aware of until I made this demo, the triggerName uses the same reference syntax as was used in the chat command, so if the user called it with a relative reference (e.g. $0,$1, etc), that's what is used as the triggerName. If they used a specific rowID in the call, that is used. So, you'll need to find the order of the ids and be able to reference them to get the actual row ID for further use. I've got a function that returns the ordered IDs, I'll see if I can dig that up.