I am granting users specific a role on purchase of some product( using ubercart). In doing so I have added a rule to take away their initial role(so that they do not have 2 roles and confuse the content access permissions). When the role expires, I want to grant the use back his original role. I am trying to use rules to do this. However, I am unsure on what action to call this rule. Any suggestions? Thanks!
It seems that "I am unsure on what action to call this rule" is your remaining issue, and that by using the rules module you are already close.
However, when talking about Rules and its Event-Condition-Action concept, your issue is about what Event to use. With that in mind, I would try to use the Rules Scheduler submodule of Rules, to schedule the rule to be executed at the moment of the purchase already.
You can do this with using Ubercart Roles.
In Ubercart Role there is an option to send the notification to that user whose role is expired. You can trigger a rule on that event or you can define a role expiration event if you wish to tie it to a discrete event rather than the sending of an email.
First you need to create a rule, then a simple action to assign a role (Add user role action) to the