I have a content type called "question" which can be flagged (using flag module) with a "follow" flag. Once that question has been marked as answered (using a checkbox) I would like to use another flag called "archive" to identify that question as answered for all those who follow it. To achieve this I am trying to create a rule that, once a question has been marked as answered it will fetch all users who have followed the question and flag it on their behalf with the new "archive" flag.

The rule I created seems to be able to handle only one user at a time. So if 3 users have "followed" a Question and it is marked as "answered" status only one of the users will have the Question flagged as "archive". I found I can specify an individual user in the ACTION-IN-LOOP (action nested in the loop) by changing the value of "User on whose behalf to flag: [users:0]". If I switch the value to users:1 or users:2 then the rule works for those individual users but not all. The only other option I can think of is to try [users] without any additional chained value, but this gives the error "The data type of the configured argument does not match the parameter's flagging_user requirement."

Any help will be GREATLY appreciated.

Oh yeah - This is how I set up the rule:

1. Events: After updating existing content

2. Conditions: Entity has field (Parameter: Entity: [node], Field: field_question_status) AND Data Comparison (Parameter: Data to compare: [node:field-question-status], Data value: Answered

3. Actions: Fetch users who have flagged a content (Parameter: Flag: Follow, Content: [node] Provides variables: Users who flagged (users) LOOP (Parameter: List: [users] List item: Current list item (list_item)) ACTION-IN-LOOP Flag a Content (Parameter: Flag: Archive, Content: [node], User on whose behalf to flag: [users:0], Skip permission check: true)