Please review the updates below and follow the upgrade instructions to upgrade your Events application.
Table of Contents
Breaking Change
Email Template Builder Warning
Action Required: Upcoming Changes to the Email Template Builder
We want to make you aware of an important update regarding our integration with Beefree. Beefree is transitioning away from its legacy authentication system, and this change will affect the Email Template Builder unless action is taken. Please review the attached letter to see the steps you need to take.
BT Salesforce Release
(Release Date: 10/14/2025)
Bug Fixes
Contact Records: When the following fields/rules are set, an Event Organizer can add Attendees to an Event from a Contact report with duplicate Contacts without creating duplicate Attendee records. Previously, when the Event Organizer added those Attendees, the duplicate Contacts in the report created duplicate Attendee records. (Known Issue: 000004880)
The Event Settings One Unique Attendee Email Per Event field is not checked.
The BT Event Attendee Duplicate Rule’s Action on Create is set to “Block.”
Record Types: The new Blackthorn | Events Settings custom setting, Enforce RecordType Permission Deep Clone, allows Admins to change who can access specific custom Record Types. Now, if an Event Organizer doesn’t have access to an Event’s custom Record Type and Enforce RecordType Permission Deep Clone is checked, clicking the Clone button on the Event record will not clone (i.e., deep clone) the Event. They can, however, change the value in the Record Type field to a value they have access to. Previously, if an Event Organizer didn’t have access to the custom Record Type and clicked the Clone button, they could clone the Event, but the Record Type field was sometimes left blank. (Known Issue: 000004662)
Custom Setting: Blackthorn | Events Settings
Field Label: Enforce RecordType Permission Deep Clone
Description/Help Text: When this setting is enabled, Deep Clone will enforce Record Type assignments: If the cloning User does not have access to the Record Type of the cloned Event, an error will be shown to the user.
Type: Checkbox
Default: False / Unchecked
Event Records: Event Organizers and non-admin users can open an Event record without seeing an error message. Previously, if an org’s language was set to a language other than English or the user couldn’t view Profile records, they saw the following error message: “List has no rows for assignment to SObject.” (Known Issue: 000004926)
Additionally, since the authorization process happens each time the Events app loads, the app looks for the following permissions instead of the profile name. It is essential for customers who use a custom System Admin profile instead of the Standard System Admin profile to include these settings in their custom profiles.
Object
User: Field User Type (UserType) = “Standard” (Click here for more information about the User Type field.)
Permissions
System Permission: Modify all Data (Profile.PermissionsModifyAllData) = “True” (checked)
Users: Manage Users (Profile.PermissionsManageUsers) = “True” (checked)
Users: Manage Profiles and Permission Sets (Profile.PermissionsManageProfilesPermissionsets) = “True” (checked)
Experience Cloud: Cloning an Event in an Experience Cloud (community) will create a cloned Event successfully, and no error will be logged in the Blackthorn Logs. Previously, the Event was cloned correctly, but the community user received the following Blackthorn Log. “System.scheduleBatch cannot be called from a batch start, batch execute, or future method. Information Exception Type = System.AsyncException Full Error Message = System.scheduleBatch cannot be called from a batch start, batch execute, or future method.” (Known Issue: 000004829)
Mobile Check-in App: Updated matching logic for the Mobile Check-in app’s Swift Mode ensures that walk-in and pre-registered Attendees are matched against existing Attendee records in Salesforce, preventing duplicate records from being created. Previously, pre-registered Attendees who had not been pre-loaded onto a user’s mobile device were registered as walk-in Attendees, and during the sync process, those Attendees were marked as duplicates instead of being matched against existing Attendees.
Person Accounts: When a person account-enabled org includes a waitlist-enabled Event, the Attendee’s Contact and Account lookup fields will populate as expected after registering the person in Salesforce. Previously, the Contact and Account lookup fields were emptied after being initially populated. (Known Issue: 000005000)
Event Builder
The Email tab in the Event Builder will be visible when an Event Organizer accesses an Event from the Clone an Event button after using either the Begin from Scratch or Edit Existing Event button. Previously, the Event Organizer could not see the Email tab after accessing via the Clone an Event button from the Begin from Scratch option.
The Smart Scheduler will now load in the Event Builder as expected.
If an Event Organizer creates and saves the first Translation record for an Event, reopens the record, and clicks Save (with or without making changes), the record will be saved as expected. Previously, a duplicate Translation record was created instead of updating the original one.
If a user edits an FAQ record from the Event Builder and either makes changes and saves the record or clicks Cancel, the value in the Category field will be removed. Previously, the Category field value was not cleared as expected.
Waitlisting
If an Event has waitlisting set at the Event level, Attendees with Registration Status set to “Waitlisted - Pending” can register for the Event from their AttendeeLink when their Registration Status is changed to “Pending.” Previously, Attendees whose Registration Status changed from “Waitlisted – Pending” to “Pending” could not register from their AttendeeLink. (Known Issue: 000004688)
If an Event has an automatic waitlist and no Tickets are currently available, then the next Attendee in line will be unable to register if another waitlisted Attendee cancels their waitlisted Ticket. Previously, when a waitlisted Attendee removed themselves from the waitlist, the waitlist incorrectly made a Ticket available to the next person in line, even though there was no capacity. (Known Issue: 000004769)
If an Attendee registers for a waitlisted Session, the related Invoice’s Line Item for the waitlisted Session will have Total = “0.” Previously, the waitlisted Session’s Line Item listed the Total as the actual cost of the Session. (Known Issue: 000004779)
Enhancements
Attendee Registration Component: If an Event includes a paid Event Item with taxes, and a user registers an Attendee via the Attendee Registration Component, the tax amount will appear on the registration screen and the Invoice as a Line Item. Previously, the tax amount didn't appear in either location.
Mobile Check In Submission Record: The Mobile Check In Submission record now includes a Reprocess Submission button that allows users to reprocess failed Mobile Check-In submissions that failed to sync between the Mobile Check-in app and Salesforce org.
Campaign Sync: Clicking the new Sync Attendee Statuses button on an existing Campaign record allows users to select whether the Campaign Member statuses or Attendee statuses are the source of truth and which object is updated/overwritten by the campaign sync. (i.e., sync statuses from a Campaign Member to an Attendee -OR- vice-versa)
Event Registration: The handling of failed registrations due to row locking errors was improved. New retry logic has been added for high-volume registration scenarios where an Event registration fails due to a locked Salesforce record. A failed attempt will be recorded in the Blackthorn Logs as a “System.QueryException -- Record Currently Unavailable” error. When dealing with high-volume registrations, the EventRegistrationBatchProcess batch job must be enabled. This ensures that ERS processing does not conflict with new registrations, as both use the same Events.
Advanced Visibility Updates
The following updates were made to the Advanced Visibility feature.
The batch processing logic was updated to ensure rule recalculations only occur for updated Contacts when no changes are made to existing BT Rules. Previously, all Contacts were recalculated even though an existing BT Rule didn’t change.
The logic related to the BT Rule Extend Visibility to Account and Extend Eligibility to Account fields was updated. Now, if Extend Visibility to Account is checked and Extend Eligibility to Account is unchecked, the following will occur.
When one Contact in the Account meets the eligibility and visibility criteria, all Contacts in the Account will have access (visibility) to the Event Item. However, since only one Contact meets the eligibility criteria, the other Contacts do not have eligibility access.
Previously, Contacts with visibility but no eligibility were unable to register eligible Contacts for an event.
Visibility and eligibility rules will be recalculated in real time, ensuring new and updated Contacts have updated visibility and can see Events, Event Items, or Sessions.
To perform this task, the Contact object now has a new configurable trigger (Blackthorn | Base Settings Disable Trigger on Contact (Disable_Contact_Trigger__c) custom setting). IMPORTANT NOTE: If Advanced Visibility is enabled, the Contact trigger is enabled by default.
When enabled, newly created or updated Contacts who are Experience Cloud enabled will trigger a recalculation of the Advanced Visibility rule. BT Rule Condition updates will also cause an instant rule recalculation.
The trigger functions differently depending on the number of Contacts.
For 10 or fewer Contacts, the trigger runs using a queueable rule recalculation, which quickly applies the visibility rules.
For larger Contact changes (10+ Contact records), the FilterRecordsSyncBatch batch job is scheduled. Depending on the number of scheduled jobs in the queue, this method may require more time for rule updates.
To disable the Contact trigger, set Disable Trigger on Contact to “True” (checked).
When the trigger is disabled, rule updates will run once every 24 hours for all changed BT Rules/Contacts. Users can click the Refresh Rules button on the Blackthorn | Events Admin tab to manually refresh and recalculate all BT Rules/Contacts, regardless of whether changes have occurred.
Form Answer Reports
Event Organizers use Forms with Event and Session registrations, Event Items, and post-Event surveys to gather various data from Attendees. To help turn that data into usable information, the Form Answer Report converts raw query results into a structured format where columns represent questions and rows represent Attendees.
When an Event Organizer views the Form Answers Report, they will see the following in a spreadsheet:
All responses linked to the Event, Event Item, Session, or post-Event survey
Attendee details presented via a configurable Attendee field set
Static Translations Feature
The following updates were made to the Static Translation feature.
Event Organizers cannot create a Translation record for an Event if the related Event Settings Source Language field contains the same value as the Translation record’s Language field.
Only one unique Translation record can be created for each Event record. For example, if an Event Organizer creates the first Translation record with Language set to “English” for Event A and then creates a second Translation record with Language set to “English” for Event A, they will see an error.
A separate Translation record must also be created for each field category (Event, Event Item, Session, Form, etc.). For example, if an Event includes two Event Items (Event Item 1 and Event Item 2) and a Session, the Event Organizer must create four unique Translation records.
Translation Record 1 for the Event:
Event = “Event Event Name”
Language = “English”
Events Event Title = “The name for the Event you want potential Attendees to see.”
Translation Record 2 for Event Item 1:
Event = “Event Event Name”
Language = “English”
Event Item = “Event Item 1’s Public Item Name”
Events Event Item Public Item Name = “The name for Event Item 1 you want potential Attendees to see.”
Translation Record 3 for Event Item 2:
Event = “Event Event Name”
Language = “English”
Event Item = “Event Item 2’s Public Item Name”
Events Event Item Public Item Name = “The name for Event Item 2 you want potential Attendees to see.”
Translation Record 4 for the Session:
Event = “Event Event Name”
Language = “English”
Session = “Session Session Name”
Events Session Display Name = “The name for the Session you want potential Attendees to see.”
The help text on the Event Settings Source Language field has been changed to “The event will automatically translate to this language. Example: Select "French" to automatically load an English event in French.”
Webapp Release
(Release Date: 10/14/2025)
Bug Fixes
Express Registration: An Event registrant can log into the Experience Cloud and use Express Registration to register a guest by selecting “Someone Else” in the list of available Contacts. Once registered, the guest will be added to a newly created Account. Previously, the guest, who didn’t have a predefined (e.g., spouse, dependent) relationship with the registrant, was associated with the registrant’s Account. (Known Issue: 000004849)
Event Record: The logic determining which label appears next to an Event on the Event Group URL during the Ticket sales has been updated to include the following:
An Event with the Sales End Date in the past will show a “Registration Closed” label (i.e., “LBL_SALE_ENDED_WITH_DATE”).
An Event with the Event Start Date in the future will show a “Registration starts on June 10” (i.e., LBL_SALE_STARTS_WITH_DATE).
Previously, the Event Group URL webpage displayed the LBL_SALE_STARTS_WITH_DATE after the Event’s Sales End Date. (Known Issue: 000004884)
Third-Party Tracking: All references to Blackthorn’s GTM containers will be removed when an organization uses a third-party tracking platform. (Known Issue: 000004657)
The three tracking options available are listed below. If you want to change your organization’s tracking behavior, please contact Blackthorn Support.
Disable all tracking.
Enable tracking and show the out-of-the-box Blackthorn Cookie Consent Banner.
Enable tracking and use a non-Blackthorn consent tracking platform.
Advanced Visibility: When an Event has the UI Experience set to “Dynamic,” Advanced Visibility is enabled, and the following is true:
An Account includes Contacts A, B, C, and D.
The Event has a BT Rule with Extend Visibility to Account set to “True” (checked), and Extend Eligibility to Account set to “False” (NOT checked)
Contacts A and B meet the eligibility requirements.
Contacts C and D do NOT meet the eligibility requirements.
Then, all four Contacts can see the Event and register Contacts A and B. Contacts C and D cannot be registered since they are ineligible. Previously, Contacts with extended visibility could not register eligible Contacts for the Event. (Known Issue: 000004970)
Static Translations
If Caching 2.0 is enabled and an Event’s related Event Settings’ Source Language and Target Language fields are blank, then Attendees will see the Event webpage translated into the language set in their web browser. The auto-translate feature works the same for the legacy cache and Caching 2.0. Previously, there was an issue with the Event webpage and automatic translations based on the browser’s locale language when Caching 2.0 was enabled. (Known Issue: 000004913)
If an Event Organizer adds an apostrophe to an Event’s name, description, Session(s), Speaker(s), etc., and an Attendee translates the Event webpage into another language, the apostrophe will appear as expected. Previously, the apostrophe appeared as “'”. (Known Issue: 000004626)
Updated the logic for Static Translations and conditional hidden questions. If a user selects a language other than English to register for an Event with a Form with conditional hidden fields and an associated Translation record, the full “label:value” pair (original and translated text) will be stored on the Attendee record. Previously, some languages, such as French, would not return the “value” as part of the Form Submission Answer. (Known Issue: 000004935)
Enhancements
Dynamic UI: When an Event has the UI Experience set to “Dynamic” and values in the Venue Name, Venue Street, Venue City, Venue State/Province, Venue Country, and Venue Postal Code fields, Attendees will see the information in the banner on the Event URL. Previously, only the Venue City, Venue State/Province, and Venue Country were visible.
Coming Soon
This section covers fields, and sometimes functionality, that are part of a new or updated feature but aren’t quite ready to be used yet.
When an Admin checks the Event Settings Auto Redirect Users to Confirmation Page field, authenticated users (EC users, authenticated iframe, AttendeeLink users) will be automatically redirected to their AttendeeLink when re-visiting the (non-AttendeeLink) Event URL.
Object: Event Settings
Field Label: Auto Redirect Users to Confirmation Page
API Name: conference360__ Auto_Redirect_Users_to_Confirmation_Page__c
Data Type: Checkbox
Default: unchecked
Description/Help Text: When enabled, authenticated users (EC users, authenticated iframe, AttendeeLink users) are automatically redirected to their confirmation page when previously registered.
Upgrade Instructions
Go to the Blackthorn Candy Shop to upgrade Events to the newest version.
Blackthorn has adopted Salesforce’s managed package installer to simplify the installation process. The installer will confirm that the correct Base Package and Payments versions are installed before upgrading Events.
For step-by-step instructions, click here.
Important Definitions
Breaking Change
A breaking change is a significant change that requires a package upgrade to see the update.
Off-Cycle or Hotfix Release
A hotfix is a release that corrects a problem that impacted extensive functionality.
BT Salesforce Release
The following applies to a Salesforce release.
Salesforce fixes REQUIRE a package upgrade to see and utilize the fixes/enhancements.
Only users with a System Administrator profile or the ModifyAllData system permission can install packages.
Webapp Release
The following applies to a Webapp Release (previously referred to as a platform release).
Webapp fixes/changes usually do not require updates to the Salesforce package.
These updates automatically apply to all customers; you cannot opt-out.
If you have any questions or need help with testing, please contact Blackthorn Support.