You could use an approach similar to what is shown in the video about Using VBO to load list of objects into Rules, starting from about 5:30, up to 11:30. Here is a summary of what is shown in this video (quote from the linked page):
- You need a view that lists the entities you want to work on in Rules. Note that you don't need a display of the view – and it might even be better not to have one if you don't want the view to be displayed somewhere.
- However, you need one bulk operations field. The type of bulk operations field determines what entity type will be sent to Rules. Note that you don't need any actions enabled for the field – it is enough that it is present.
- You need a rule that, as an action, loads entities from a VBO. (This is available under the "Views bulk operations" group.) All view displayes with at least one VBO field will be selectable.
- The action provides a list of entities, that can be used just like other lists in Rules. Combine with loops, actions and Rules Scheduler to make awesomeness happen.
In your case you want to start from your VBO list of the nodes flagged by a user at least x days ago. And for each node in the list you want the rules action to be "unflag node" (instead of "remove sticky"). You'll have to pass the userid as a parameter also, similar to what is shown around 7:30 in that video also.
It should be possible to use the same Rules component as in Step 1 of my answer to "How to use the Rules module to unset all flags (set x days ago) when cron runs?". This Rules Component should then become the Rules Action to be performed by an additional rule that is triggered by an appropriate Rules Event. It appears to me that Rules Event "User has logged in" could be a good fit for your case (if not replace it by whatever other Rules Event that fits best). This is what differs from what is shown in the video, starting from 11:30 (in the video the Rules component is triggered daily, via the
Rules Scheduler). Using this Rules Event also complies with your comment to my answer to your related question, ie "... use user login as the event, fetch the set flags of the logged in user, check their creation time, if they are older than x day unset the flags...".
Note: I think rephrasing "the
Rules Scheduler module cannot be used ..." in your question to something like "Without using the
Rules Scheduler module ..." would improve your question (it is possible to use that module, but for this question you don't "want to" use it).