In our club, you have to attend an event before you can join the club. We've been using CiviCRM for several years, but have yet to find the ideal solution for managing this use case automatically.

At the moment, we use a "guest membership" which gives the prospective member sufficient permissions to access the club membership form. A person becomes a "guest member" after attending a club event and paying their guest fee, which is later discounted from their membership fee if they become a club member.

Option 1

Have the person register as a "guest" first, then allow them to register for an event. This would require the use of the Member Only Event Plugin to restrict registration to members, but this would allow them to register for any event, not just those open to guests. The extension restricts by membership status, not membership type.

Option 2

We could use the Event Additional Signup plugin, which would allow them to select the guest membership during event registration, but would not require it nor would it prevent existing members registering for the same event to accidentally include and pay for a guest membership.

Option 3

Get rid of the guest membership completely and use some other means of restricting access to the club membership form based on the person having attended an guest event or based on the "guest contribution" that was recorded when they paid for that guest event.

Option 4

Create a custom event registration form in WordPress and use the CiviCRM API v4 to:

  • Register the guest (or member) for the event
  • Invoke a CiviCRM payment processor to collect the required payment (for guests only)
  • Upon successful payment, add the guest membership, which will give them the access required to access the club membership form. Ideally, that membership wouldn't be added until the event has taken place, but that would probably require a scheduled job.

Realistically if I could schedule a job to add memberships after a non-member had attended a n "Open" event (it's an event type), I could continue with what I'm doing now, event fees with a discount for members.

1 Answer 1


Realistically if I could schedule a job to add memberships after a non-member had attended a n "Open" event (it's an event type)

Are you thinking of adding a membership automatically to all non-members registered for the event after the event date has passed or only once you mark their status as attended? I think you could cover both scenarios with CiviRules, but the latter would definitely be simpler.

  • The intent was to only create the membership after they've been marked as "attended". I looked at CiviRules before, but I never found a way to do it. I'll have to look again. Feb 5, 2023 at 4:22
  • You should be able to do this with the Event Participant Changed trigger in Civirules with appropriate conditions.
    – Lars SG
    Feb 5, 2023 at 7:37

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.