Alright. I feel like I have made some decent progress. Right now I have a list of the names/ranks of each entry in the repeating list. So I could easily store that in some format or another in an attr I have created for the purpose. on( "change:repeating_context remove:repeating_context remove:repeating_context", function () { getSectionIDs("context", function(idarray) { var contextList = []; for(var i=0; i < idarray.length; i++) { var contextName = "repeating_context_"+idarray[i]+"_name"; var contextValue = "repeating_context_"+idarray[i]+"_rank"; contextList.push(contextName, contextValue); } console.log( contextList.toString() ); getAttrs( contextList, function(values){ var vals = Object.values(values); console.log( vals.toString() ); }); }); }); When I run this with a repeating_context section that has three entries, I get the expected two console messages: repeating_context_-lxc9dsijaafcu0hmpnp_name,repeating_context_-lxc9dsijaafcu0hmpnp_rank,repeating_context_-lxc9uiwsvkrjt7d4iul_name,repeating_context_-lxc9uiwsvkrjt7d4iul_rank,repeating_context_-lxc9yt34kynia6lgzng_name,repeating_context_-lxc9yt34kynia6lgzng_rank Craft,10,Program,10,Repair,20 So I think the next step is to save that in a string that can be used in as roll query. The output of that would look something like this: ?{Pick a Context|Craft,10|Program,10|Repair,20} So then what? Lets assume I save that in a hidden input called attr_context_query; how do I use that in my roll? I feel like I am really close!