We want to trigger a Drupal rule to display a message "Your membership has expired" when a user logs on.

We have CiviMember Roles Sync set to "Synchronize whenever a user logs in or logs out. This action is performed only on the user logging in or out."

It happily removes the role "Current Member" when the user logs in, but the user is not informed of this...... We have D7, CiviCRM 4.6.26, Drupal Rules module, civicrm_rules. I've messed about with many Rules settings, but can't get the rule to trigger on User login.

Do you know what I'm missing? Thanks

  • Noting that a more generic question would be 'how do i show a user their Membership is expired'
    – petednz - fuzion
    Oct 14, 2017 at 18:55

2 Answers 2


In case anyone needs this we ended up doing this with a simple drupal rule -

Event = Content is viewed

Conditions = AND user has role authenticated user, NOT user has role current member

Action = Show a message "your membership has expired", repeat message = false

  • thanks for posting this back - you should be able to Accept your own answer in a day or so.
    – petednz - fuzion
    Jul 10, 2018 at 20:36

Rather than using a Rule, you could achieve this just by using Views to create a block that shows Membership status, and if you want, limit it to only show for Roles that are expired, etc.

I understand I am not answering the OP of 'how to do this via Rules' but am trying to answer a more generic question "how can i show a user their membership is expired"

You may find a downloadable view that already does this in our Treasure Trove eg this one

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.