Aller directement à la fin des métadonnées
Aller au début des métadonnées

When you organise an event, you are likely to promote it to some of your existing contacts. Offering them to register via the standard online registration has several problems:

  • Some will spell their names (or other information in the profile you use for the registration) differently than what is on your CRM, or with a different email. So you end up with duplicates.
  • They have to retype the information that is already in your CRM (their name, email...)
  • They can't excuse themselves (register with a status "can't come")

They are two options: prefilled registrations, and pre-registering the participants with a status "invited"

Pre-filled registration

This is already the case when you go to the registration form as a logged in user, but often they aren't logged in.

However, you can send in your email a link with a registration form with a checksum tocken, that will let the user to register himself.\{\contact.contact_id}\{contact.contact_id}&{\contact.checksum}

If the contact_id matches the checksum, it displays a pref-filled form. Changes:

1) Adding a message a the top "Hello, Xavier DUTOIT.(Not Xavier?)" the link goes to an empty form
2) Adding a link below that message "I want to excuse myself, I won't be able to attend" (that will register the participant with the status "No"

Moreover, I want to be able to spot on the participant list who is new and who has registered using the link they received. I suggest to use the (never displayed) source to add "prefilled", and use it as the class of the row, so it can be styled differently.


Basic steps are:

  • A group of contacts is "invited" to the event - and sent to an event page.
  • The event "registration" page asks them "Are you coming?" and gives them choices, typically: Yes, No, Maybe
  • The organization holding the event typically sends one or more follow-ups to:
    • folks in the invite group who have not yet responded one way or the other
    • folks who've said 'Maybe'

In version 2.2, we expect that this flow can be supported WITH some configuration work and customizations.

  • Modify the Participant status label from "Registered" to "Yes" and add new statuses for "Maybe" and "No". Set visibility for all 3 to Public.
  • Include a profile with the "Participant Status" field in your event registration page (you can re-label the field from 'Participant Status' to 'Are you coming?' or something like that).
  • Custom versions of the registration "Thank-you page" template and the email confirmation template are needed to provide alternate language for the Maybe and No (not coming) cases. I've included a rough draft of changes needed for the thank-you page below.

Finally, in order to do the follow-up emails for the "not-yet-responders" - a Custom Search is needed which can return contact in the "Invite Group" who do not have any participant record for a particular event. Building Custom Searches.

Modifications for Conditional Thank-you Page
  • Aucun
  1. Oct 27, 2008

    Tony Guzman dit :

    Hi Dave. using 2.1's built in custom search of include/exclude groups, I think it can achieve the "not-yet responders" query you refer to.  Here are the steps:

    • Create a regular group called "abc event invites"
    • Create a smart group called "abc event registrants" (can be based on status, role, etc.)
    • Using 2.1's built in custom search of include/exclude groups, include "abc invites" but exclude the smart group "abc event registrants."
    • Results will tell you of the people you invited, who has yet to register (again, can be based on status or role).
    • You can then create a smart group from this result called something like: "people yet to register for ABC" or "keep bugging about abc event". This smart group will be the list a group can work off of to send more event info, phone bank, etc. and will shrink as people register because it is based on excluding registrants for that event.

    It is not the smoothest but i think fits within a group's workflow because an event workflow is based around groups that you email/snail mail.

    I hope this helps

  2. Apr 08, 2014

    It would be good to have this functionality alongside the normal event registration process, so rather than renaming the labels I suppose we need additional ones (just throwing some ideas out there):

    • Awaiting response - New, invitation sent and awaiting response
    • Registered - This already exists, if they respond with 'Yes I can come!'
    • Unable to attend - New, if they respond with 'No I can't come'

    A temporary solution is to set up the 'I am able to attend' and 'I am not able to attend' as new custom participant statuses, and make them the only 'Public' options. Then expose the participant status on the registration form using a new profile. Guests can then indicate their preference and this is stored sensibly for reports. Of course this doesn't handle any of the form pre-filling or emailing/'Awaiting response' functionality.

    1. Apr 08, 2014

      Have you tried using the checksum token in event registration 'invites'? This should allow you to send invites which 'prefill' contact data.

      See bottom of this doc page: Tokens

      Also, the emailing of 'awaiting response' could be handled via Scheduled Reminders quite nicely (haven't tried, but based on fact you can schedule reminders based on participant status etc.).

      So the one 'hack' is limiting which statuses you expose - which could be done pretty easily w/ a jQuery snippet.

      Of course having a configuration option for the event that does some of this automagically could be cool. Or an extension (sourire) Seems like the pieces that could be more automated:

      • Send invites to a group / search results (can save and reuse message template for this), and create participants automatically with 'Awaiting response' status.
      • Expose participant status as a field in registration form (w/o needing a profile ??) and allow admin to select / reword the statuses.
      • ??
  3. Jan 21, 2015

    Another way of getting around duplicate registrations (contacts showing up as invited AND attending):

    1.) Enable waiting list (administer -> CiviEvent -> Participant Statuses ).

    2.) Add the relevant users to the event with participant status 'pending from wait list'.

    3.) Update Participant Statuses in Scheduled Jobs Log

    4.) Alter 'wait list' email text in order to convey the suitable 'invite' information

    5.) Send email to inform them of this with checksum to event registration

  4. May 16, 2016

    The solution using the core participant status "on waitlist" works for me, when it comes to inviting a selected groups of contacts (stored in CiviCRM) to an event (not a public event, but an internal event) and have them declare if they are coming or not. Thanks Sebastian for a few tips to get me started.

    1) Enable "On waitlist" event participant status (Administer -> CiviEvent -> Participant Statuses)

    2) Create an event. We don't need the "Offer the waitlist" option, the below will work without it. Enable Online Registration.

    3) Find contacts in CiviCRM, and on the results page, from the drop down "Actions" select "Add Contacts to Event". On the next page, change the "Participant Status ID" to "On waitlist". Uncheck "Send confirmation" if you don't want those contacts to receive an email about a fact that they were added to the waitlist. They will still separately receive a follow up email with a tokenized link to register/cancel the registration.

    4) When the Scheduled Job "Update Participant Statuses" runs (or execute it manually for testing) (Administer > System Settings > Scheduled Jobs), an email with a customized link to the registration page will be send to everyone on the waitlist.

    5) When a invited participant follows the link, they will be presented with an event registration page with two options: "Confirm Registration" and "Cancel Registration". If the confirm, a regular event registration page will be presented with their information pre-filled. If they select "cancel", their status will be changed to "cancelled".

    To modify the text of the email that is send to participants on the wailist, update message template "Events - Registration Confirmation Invite" (Mailings > Message Templates > System Workflow Messages)

Creative Commons License
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-Share Alike 3.0 United States Licence.