Event Planning
- CRM
- events
- event management
- marketing
- Event Planning
- Distribution Lists
In this guide we will cover:
- What Is Event Planning?
- Pre-Requisites
- Enabling Event Planning
- Agent Permissions
- Creating A New Event
- Details
- Registration
- Sessions
- To Do
- Attachments
- Event Questions
- Publishing
- Event Registration
- User Registration
- Anonymous Registration
- Manually Adding Attendees
- Distribution Lists & Mass Communication
- Event Cancellations & Checking In
- Cancellations
- Checking In
Related Guides
Event Planning is a new module in Halo that allows you to create Events for your organisation and publish them through your Self-Service Portal. Once an Event is live, you can manage and communicate with its full list of attendees directly from Halo, with no need for additional tools or bolt-ons.
The entire Event lifecycle is handled within Halo: from creating the Event, through publishing and attendee registration, all the way to check-in on the day using QR codes.
The purpose of this article is to guide you through creating and managing Events in Halo. We will touch on other subjects such as Distribution Lists and portal customisation, but if you would like to learn more about them then please see their dedicated guides linked in the "Related Guides" section of this article.
Prior to setting up Event Planning in Halo and creating your first Event, there is some prior configuration that is needed. The module must be enabled and visible, and any relevant Agents must have permission to view and modify Events.
The Event Planning module may not be enabled or visible by default. To enable the module, navigate to Configuration, hover over the Event Planning module and select the '+' icon to enable it.

Fig 1. Enabling the Event Planning module
Once the Event Planning module is enabled, check if it appears in the main navigation menu in your Halo.

Fig 2. The Event Planning module in the navigation menu
If the module does not appear, it may need to be set to show in the navigation menu's 'screen layout profile'. To do this, navigate to Configuration > Advanced Settings > Screen Layouts, and select the "Screen Layout Profiles" button.

Fig 3. The Screen Layout Profiles configuration area
Change the 'entity' drop-down filter to "Navigation Menu", and edit the layout profile currently being used. In the button layout tab of the profile, change the button layout to "Custom", find the "Event Planning" option, and set it to show on the menu or overflow.
Once the module is enabled and visible, the final pre-requisite is to provide any relevant Agents with permission to access the module.
In the permissions tab of Agents and Roles, a new permission has been added for "Event Planning Access Level".

Fig 4. The Event Planning Access Level permission
Provide this permission to any relevant Agents at the level needed.
Note: It is best practice to provide Agent permissions via Roles rather than directly on the Agent profile. If Event Planning will be handled by multiple people with different roles, it may be best to create a new 'Event Planning' role and assign the permission that way.
Once the module has been enabled and the permissions have been provisioned, you are ready to create a new Event.
To create a new Event, click into the Event Planning module in the navigation menu and select the "+ New" button the top right corner. This will bring up the configuration for a new Event, comprising of several tabs.
The configuration options in this tab cover the details of the main event.

Fig 5. The details tab of a new Event in Halo
Name: The name of the event. This will be the display name of the Event when displayed on the self-service portal.
Event Owner: The Agent responsible for the Event (reference only).
Description: The description of the Event. This will be visible on the Event when displayed on the self-service portal.
Starts: The start date and time for the whole Event. Any sessions for the Event should have a start date/time that is equal to or after this date/time.
Ends: The end date and time for the whole Event. Any sessions for the Event must have an end date/time that is equal to or before this date/time.
All Day: Sets the Event to be a 24 hour Event, and disregards the start and end times.
Timezone: An overriding time zone can be set here for the date/time of the Event. If not set, the default time zone will be taken.
Location Type: You can set here whether the Event will be in person, online, or hybrid.
Location: A text field for the location of the Event, such as the physical address for an in-person Event, or a meeting link for an online Event.
The configuration options in this tab cover the registration behaviour for the new Event.

Fig 6. Configuration options for Event registration
The configuration options here are to allow for different registration options, including anonymous registration on the portal, self-registration on the portal, or just manual registration of Users by Agents.
Show On Portal: Once published, if this checkbox is enabled, the Event will be visible to Users on the portal and they will be able to register themselves for the Event if registration is open.
Allow Anonymous Registration: Enabling this checkbox allows for Users to register for the Event anonymously, meaning they do not need to be logged into the portal as a verified User. If this is enabled, it is recommended to enable the Google ReCaptcha integration to prevent AI crawlers and other automations from registering and taking up the Event's capacity. Anonymous portal access will need to be enabled.
Create User Records For Anonymous Registrants: (Only visible if anonymous registration is enabled) This allows for a User record to be created in Halo for any registrants that do not match to an existing User. This allows for the registrant to be included in mass communication and Mail Campaigns via Distribution Lists.
Portal Visibility: If an Event is visible on the portal, this table can be used to restrict which Users have access. You can restrict by Top Level, Customer, Site, or User. If the table is left empty, all Users will have access.
Registration Opens: The start date and time for when Users can start registering for the Event. Prior to this date/time, the Event is still visible on the portal but is essentially 'read-only'.
Registration Closes: The end date and time for User registration. After this date/time, the Event will still be visible but registration will show as closed.
Below the registration configuration, there are some email options that allow you determine the email that is sent out for registration confirmations and/or cancellations.
Note: If you do not set a template in these fields, then these emails will be disabled.

Fig 7. Configuration options for Event registration
Confirmation Email Template: Allows you to set a custom email template that will be used to send a confirmation email to new Event registrants. If not set, no confirmation email will be sent.
Cancellation Email Template: Allows you to set a custom email template that will be used to send a confirmation email if an Event registrant cancels their registration. If not set, no cancellation email will be sent.
Capacity: Allows you to set a fixed capacity for the Event, restricting the number of people that can register. If an Event should have unlimited capacity, then leave this as 0.
There are Event level variables that can be used in your email templates to personalise emails per Event and per Event attendee, see Figure 8 for reference.

Fig 8. Event level variables for Event email templates
Note: These variables can be accessed via {HALOURL}/variables.
The confirmation email in particular is an opportunity to not only provide attendees with a confirmation, but to also provide them with the QR code that can be used for checking them in. See Figure 9 for an example template, and the "Checking In" section later in this guide for how this is used.

Fig 9. An email template for Event registration confirmation email, using the Event level variables in Figure 8
Once you have set up the initial Event configuration, save the Event.
You will notice that the remaining tabs on the Event then become available, as well as several buttons at the top which will be covered later.

Fig 10. Additional tabs and buttons become available once a new event is saved
Note: You will also notice that you can add questions in the Registration tab - these are covered later in the "Event Questions" section of this guide.
In this tab, you can create 'sessions' to break up the Event. This allows registrants to view the Agenda for the Event and reserve a space to attend individual sessions of their choosing. This may be morning and afternoon slots, different talks that have limited capacity, or even car parking registration.

Fig 11. The Sessions tab of an Event
To create a new session, select the "+ Add" button.

Fig 12. Creating a new session
Give your session a name, keeping in mind that, if the Event is being shown on the portal, the session name will be also be shown on the portal.
Set the start and end times, which should be within those of the overall Event, and then use the "Location" and/or "Online URL" fields to help the registrants navigate to the session.
If the session has a reduced capacity compared to the overall Event, use the "Capacity" field to set this restriction.
The "Order" field sets the order of the session if the Event has multiple sessions. Lower numbers will take higher precedence, for example a session with order number 1 will be placed higher in the list of sessions than a session with order number 6.
The "Description" will be displayed on the portal, if the Event is being displayed on the portal, and can be used to give Users context as to what the session is.
Create your session(s) and they will appear in the set order in your Sessions tab as your Agenda for the Event.

Fig 13. Event sessions ordered in the Sessions tab
Note: If a session falls outside of the Event's times, saving the session will not be permitted.
Save your Event once you are happy with your sessions.
Note: You will also notice that you can add questions to a session, these are covered later in the "Event Questions" section of this guide.
In the "To do" tab of the Event, you can add in a list of to do items for those organising the Event.

Fig 14. The To Do tab of an Event
Simply type in your to do item and select "Add" to add it to your to do list.
You can then use the checkboxes on the left of each item to check them off, and you can use the arrows and trashcan icon to move the order of the items and delete them if needed.

Fig 15. Managing an Event's to do list
Note: These to do lists will not be visible on the portal, they are internally facing only for the Event's organisers.
In the "Attachments" tab of the Event you can drag and drop, or click to upload, files/media related to the Event.

Fig 16. An Event's Attachments tab
Note: Event attachments are not visible on the portal. They are internally facing only for the Event's organisers.
As you are configuring your Event, you may notice that there are options both in the "Registration" tab and in the "Sessions" tab to add in questions for those registering.
These are useful for example if you need to collect dietary requirements or understand the accessibility needs of those attending your Event.

Fig 17a. Event registration questions

Fig 17b. Event session registration questions
To create these questions, you must create custom tabs to store them and then custom fields for the questions themselves.
To do this, navigate to Configuration > Custom Objects > Custom Tabs and select the "Entity" drop down. Here you will see three relevant entity types - Event, Event Registration, and Event Session Registration.

Fig 18. Event entity types for custom objects
Select the entity type for the custom fields you will be creating. For example, if I want to create Event Registration questions, then I would create an Event Registration custom tab.
Once you have your custom tab, navigate to Configuration > Custom Objects > Custom Fields to create your Registration question(s). Change the entity drop down selection to be the same as the custom tab you just made and select the "+ New" button in the top right to create a new field.
Create your custom field as required and then ensure you have set it to show in your newly created custom tab.

Fig 19. Creating an Event registration custom field
Note: For more information on creating custom fields or custom tabs, see the guides: Custom Fields & Custom Tabs.
Once you have created your custom field(s), navigate back to your Event. If you are adding in an Event registration question, then locate the "Event Questions" table in the "Registration" tab and click the "+ Add" button. If you are adding in an Event session registration question, then edit the relevant session in the "Sessions" tab and locate the "Session Questions" table where you can click the "+ Add" button.
In the example in Figure 20, I am adding an Event Registration question.

Fig 20a. Adding an Event registration question

Fig 20b. Adding an Event registration question
You have the option to set the order of your questions, and whether or not an answer is mandatory.
Note: The custom tabs and fields created for Events can be repurposed across Events, they are not unique per Event, only per Event entity, i.e. Event, Event Registration, Session Registration.
Once your Event is fully configured, it is ready to be published.
To do this, select the "Publish" button at the top of the Event.
Important: As soon as an Event is published, registration will be ready to open on your chosen date/time. How your attendees are registered depends on the registration options outlined in the "Event Registration" section of this guide. If using manual registration on the Agent side, it is best to publish first and then add attendees to ensure confirmation emails are sent out. Confirmation emails will not send out when an Event is in 'draft' status.
Note: Confirmation emails can be re-sent in the "Attendees" tab if attendees are added prior to publishing an Event.
Fig 21. Publishing an Event
Once this is saved your Event will be live and, if it is set to show on the portal, it will now be visible to all Users with access.
The main method for registering attendees for an Event is to make the Event available via the self-service portal. However, you are also able to manually add in attendees when self registration is not an option.
If an Event has been made available for registration via the self-service portal, Users will be able to register themselves for the Event.
To allow for this to happen, you must also ensure that the Events area has been added as a menu button for your portal. Navigate to Configuration > Self Service Portal > Menu Buttons and add in the "Events" button.

Fig 22. Adding the Events menu button to the portal
For details on adding and customising portal menu buttons, see the dedicated guide: Menu Buttons.
Users will then be able to click into this button on the portal, and view all published Events to which they have been given access.

Fig 23. User view of published Events on the portal
If registration for the Event is open, then a "Sign up" button will be available on the Event. Selecting this button takes them into the Event, where they can view the Event's information, questions, and sessions.
Checkboxes will be next to available sessions for the User to select any they would like to attend.

Fig 24. Viewing the sessions for an Event
As you can see in Figure 24, if there are questions set at the session level, these will dynamically appear when a User chooses to attend that session.
Once the User is ready, they can select the "Confirm sign-up" button to register their attendance for the Event.

Fig 25. Signing up for an Event on the portal
The Event will then show for the User in the "My Events" view on the Portal, and they will receive the confirmation email (if enabled for the Event).

Fig 26. The My Events view on the portal for an Event attendee
In the Agent application, they will immediately appear in the list of Attendees within the Event, along with contact information, session registration information, and their answers to any Event questions.
From here, as illustrated in Figure 27, the attendees can be manually managed by the Agents managing the Event.
You can also click into individual attendees for more details and to edit their attendance information.

Fig 27. Attendee management in the Event
If the Event has the "Allow Anonymous Registration" setting enabled, then anyone can register for the Event via the portal without needing to log in to the portal.
Important: If anonymous registration has been allowed, it is advisable to enable the Google reCAPTCHA integration to prevent scripts and AI crawlers from registering for the Event.
When registering anonymously, the attendee will be prompted to enter their contact information before they are able to confirm their attendance.

Fig 28. Anonymous Event registration
If you have the setting enabled on the Event to "create user records for anonymous registrants", then the anonymous attendee will be created as a User in the system against the default Client/Site. This allows for the attendee to be included in communications moving forward.
Note: For anonymous Event registration to be allowed, anonymous access for the portal must be enabled by disabling the "Require Users to login to access the portal" checkbox in Configuration > Self Service Portal.
If the Event is not accessible via the portal, or someone cannot register themselves, Agents with access are able to manually register people via the "Attendees" tab of the Event. They can do this by selecting the "+ New" button or by using the import functionality.

Fig 29. Options for manually registering Event attendees
Selecting the "+ New" button will bring up the "Add Attendee" screen where you can manually register a User/attendee.

Fig 30. Manually adding an Event attendee
If you use the import option, you are able to import an XLS spreadsheet of attendees. Useful if manually adding, or manually managing, a large number of attendees.
To obtain the spreadsheet/columns needed for importing attendees, you can use the "Export" button.

Fig 31. Exporting Attendees will provide an .xls file that can be used for reimporting
Selecting the export button will download an .xls file with the relevant columns, such as the example in Figure 32.

Fig 32. An exported .xls file of attendees
You can then use this file to import in a new list of attendees, or you can use the file to reimport an updated list of attendees.
Distribution Lists & Mass Communication
You will often want to send out mass communication to the list of an Event's attendees, either for marketing purposes or to provide useful information on the upcoming Event.
To be able to do this in Halo, you can automatically enroll an Event's attendee list into a Distribution List.
To do this, navigate to your Distribution Lists area in your navigation menu in Halo.
Note: If you cannot see the Distribution Lists area, check that the module is enabled in Configuration, and that the area is set to be visible on the navigation menu's screen layout profile. For help setting up Distribution Lists, see the dedicated guide: Distribution Lists.
Create a new Distribution List and set the "Member Type" to be "Event Registrants". You can then choose your Event from the Event drop down.

Fig 33. Setting up a Distribution List to be populated with an Event's registered attendees
You can then also select whether you want to continue to include anyone that has cancelled their attendance in the communication.
Once the Distribution List is created, it can then be used for one-off bulk emails to the attendees, or it can be used as part of a Mail Campaign for the Event.
Note: Deleting a registrant from an Event will also remove them from the Distribution List.
Event Cancellations & Checking In
If a User would like to cancel their registration for an Event, they can do this themselves via the self service portal, or an Agent can do it for them from within the Event itself.
For a User to cancel themselves via the portal, they can click into the Event and select the "Cancel registration" button at the bottom of the page.

Fig 34. Cancelling Event registration via the portal
Alternatively, an Agent can cancel an attendees registration within the "Attendees" tab of the Event by selecting the attendee from the list, hovering over "Edit" and selecting "Mark As Cancelled".

Fig 35. Cancelling Event registration in the Agent application
When an attendee is cancelled, their status changes from "Registered" to "Cancelled" and their place in the Event will be available again to be booked (provided registration is still open).
If there is a need to cancel the whole Event, as opposed to one attendee's registration, you can do by selecting the "Cancel Event" button that is at the top of any published Event.

Fig 36. Cancelling an Event
Selecting this button will bring up a modal screen to enter a cancellation reason.

Fig 37. Entering the reason for cancellation
Once cancelled, all attendees listed for the Event will be notified of the cancellation and the Event will no longer be visible on the portal.
In the details tab of the Event, the cancellation reason will be visible and the Event will be become read-only, the only available options will be to clone or delete the Event.

Fig 38. A cancelled Event
Note: Once an Event has been cancelled, it cannot be reversed.
An Event's attendees can be checked in either via manual search or via QR code scanning.
If the $-EVENTQRCODE variable was included in the confirmation email sent out to the attendees, then a unique QR code will be generated for that attendee on their email (Figure 39).

Fig 39. A QR code can generated for an attendee if the $-EVENTQRCODE variable is used in the email template
These codes can then be scanned via Halo at time of check in by selecting the "Check In" button on the Event.

Fig 40. The check-in button on an Event
If your Event has individual sessions, then selecting "Check In" will bring up the individual sessions to choose from as well as the whole Event, allowing check ins to happen per session instead of just once for the whole Event.

Fig 41. Selecting a session for check in
Once the main Event or session is selected, the QR code scanner will pop up and can be executed via your device's camera.
If a code is not scanning or an attendee cannot find their code, there is an option below the scanner to search the attendees by name or email and manually check them in.

Fig 42. The option to manually check in an attendee via search
If checked in to the main Event, the attendee's status will change from "Registered" to "Attended". If an attendee is checked in by mistake, this can be reversed by clicking into the attendee in the "Attendees" tab, and disabling the "Attended" checkbox.

Fig 43. Reversing an attendee's Event attendance
Note: Attendance can also be reversed per session by the same method - click into the attendee and into the relevant session, and then disable the "Attended" checkbox.