I would like to allow people who pay to become civicrm members to have access to protected DRUPAL pages. I would like it to happen right away rather than waiting for a batch operation.

My method is to make some DRUPAL RULES so that when a person becomes a member then they would automatically become a DRUPAL user with a specified ROLE. Then the pages would be open to that particular ROLE.

I found a way of creating a DRUPAL user if I add a TAG on a civicrm contact. So it seems like I just need a rule that adds the TAG when the contact becomes a member.

Here are my questions:

1)Does anybody know how to set up a rule to assign a tag to a new member?

2)Is there an easier way to accomplish my goal?

In gratitude, Daniel

1 Answer 1


Daniel - have you looked at the CiviMember Roles Sync module which pretty much delivers this as you want. IE when someone joins and has a Drupal user then when they log in Drupal checks their Civi Membership status and gives them a role based on that.

The Rules approach would also work, and is how we are planning on doing this for Drupal 8, funds permitting, but I don't think people have used that approach in D7 since the module gives you the solution out of the box, unless i am missing a nuance in your use case.

Some documentation about above here

  • CiviMember Role Sync Module is how we do it and we love it.
    – Christia
    Feb 22, 2017 at 19:19
  • I don't understand the "workflow" correctly i guess. Does the user need to be a Drupal User already or is it sufficent to select a membership and then the user and the associated role will be created?
    – Volker
    Mar 17, 2017 at 8:12
  • Actually we have just implemented a Rule so that a 'contact' who used a Contribution page, but might 'pay later' and hence should become a User till the payment is completed, will only get their User created once their membership becomes "new' as opposed to 'pending'.
    – petednz - fuzion
    Mar 17, 2017 at 19:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.