First I am going to explain what I am trying to do. Then I am going to list all the problems I have run into trying to do it and ask for advice. Just to be clear, I don't necessarily need to have any one specific problem solved, so much as I need to find a way out of this thicket and get what I am trying to accomplish done. I would like to be able to press a button within a line inside a repeating section and send the character ID plus the rowID of the repeating section to the API for further processing. I want the API to then be able to use the character ID plus the rowID to look up the the specific information it needs, and process it. I specifically want to send the rowID, because I want the API to be able to write information back to fields within that specific row. I would have thought that there would be @{row_id} pseudo attribute that would make this information available. Apparently there is not. See This suggestion It only has 4 votes and is apparently not on the fast-track. The link above mentions that it should be possible to work around by simply storing your own copy of the row_id. I would have thought that was simple, but I keep running into the problem of the dubious decision that was made to lowercase everything before passing it back to users, but requiring users to pass it back to the system in the correct case. Specifically, when I coded an on change event to notice when a field within a repeating section (repeating_skillk_-kfuroxo04waoxv0xexq_skk_name) was changed, parse the eventinfo to find the row_id, then set the row id into repeating_skillk_-kfuroxo04waoxv0xexq_skk_RowID, I ended up with two identical rows. I think that one of them probably has the correct casing of the row ID, but my actually using the lowercased ID caused it to create a 2nd row. I thought I would simply make a call to getSectionIDs and check those against what I parsed out, but that only gives lowercased IDs as well? Why would that give lowercased IDs if actually using lowercased IDs for anything causes a 2nd, duplicate row to be created?!? Does anybody know how to access a row ID that has not been lowercased? Has anybody solved the problem of sending a usable rowID on a macro button? Thanks