I need to trigger an action after membership is added, but only after the payment has been made (or registered by admin, because I have the option for online payment as well as "offline" money transfer).

If I use "membership is added" trigger, the action is fired even if the user chose the deferred option. I tried to limit it with "membership status" condition, but then it didn't fire at all (I guess the status isn't ready yet at that point).

Is there a way to achive that in CiviRules?


A word about my wokflow, which is rather simple: I have different levels of membership (including a free one) and an option to pay online or offline. After a valid membership has been recorded (free, paid online or checked as paid by admin) I use a CiviRules action to create an account in an external (for CRM) system. And that's why I want only valid (active) memberships to trigger that action. I thought it would be a common and simple case :)

  • Could the Rule be run off a Contribution of Type = Member Dues?
    – petednz - fuzion
    Sep 10, 2019 at 19:08
  • I'm not sure, but in my case that's the only contribution type I plan to use. Sep 10, 2019 at 21:19
  • sure. my point, which i didn't make very well, was to consider running the Rule off eg Payment Completed, rather than off the Membership entity.
    – petednz - fuzion
    Sep 11, 2019 at 1:04
  • Oh, I get it now :) I also thought about such solution, but then I would have to make some kind of distinction when the user will be renewing (extending) his membership. I think we would have to play with condition on membership status anyway. Sep 11, 2019 at 10:28

2 Answers 2


I'm not quite sure what your workflow is, but I think you will need to use the "Membership is changed" trigger for when the payment is made and the conditions for status changes. If the status goes straight to "new" for the offline route you probably need to use the "Membership is added" trigger with appropriate conditions. You need to map out the logic of it all and it can be a bit complex.

  • Thanks for the tip - I added a few words about the workflow to my original post. I'll try to play with the "membership is changed" trigger. But tell me if I get it right: for online payments Civi creates membership with "pending" status and then changes it to "new" after the payment, and for offline (bank transfer) it goes straight to "new"? Isn't it the other way round? (I'm almost certain that the membership with pending transaction is in "pending" status). Sep 10, 2019 at 7:46
  • 1
    We may be using different terminology. By offline I meant entered entirely by the admin person (e.g. form and cheque in the post). But I think you mean signup online and payment being sent later and processed by admin. My online was using a payment processor. Looking at the activities (for fully online) there is an entry of change of status from pending to new, but when I was setting up a similar action with CiviRule I had to do some experimenting to get what I wanted.
    – Mick Kahn
    Sep 10, 2019 at 9:24
  • You're right - I have a contribution page with membership signup and for me "online" means paid entirely by a payment processor, and "offline" is a deferred payment processed by admin. I think I'll first log all membership changes for both cases and then adjust conditions and my acion code accordingly. Sep 10, 2019 at 21:25

It might well be that this turns out to be a situation that you can not solve with the current set of conditions. It is possible though to develop your own conditions (or have someone develop them for you).

Some conditions would be generic and could be part of the CiviRules extension as it will help other users too, others can be specific for a certain organization and reside in their own specific extension. I work with quite a few organizations that develop their own specific conditions and actions.

Documentation on how to create your own condition and actions can be found here: https://docs.civicrm.org/civirules/en/latest/create-your-own-condition/

  • Thanks. I have my own actions and was looking for a more generic set of triggers/conditions to do what I needed. To tell the truth, I forgot I can develop my own contitions - thanks again. Sep 22, 2019 at 10:25

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.