--- title: "Data Dictionary" slug: "data-dictionary" updated: 2026-09-09T17:27:44Z published: 2026-09-09T17:27:44Z canonical: "docs.blackthorn.io/data-dictionary" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.blackthorn.io/llms.txt > Use this file to discover all available pages before exploring further. # Data Dictionary The Data Dictionary feature provides the flexibility to override button labels and other static text on your hosted Event pages. This gives you the ability to further customize the experience for your Attendees, and even better, it supports multi-language Events and merge fields as well! ## Required Permission Sets and Licensing To use the Data Dictionary feature, you must also have a Blackthorn Payments license, as well as access to the following objects: - Data Dictionary Group: Create/Read/Update - Data Dictionary Entry: Create/Read/Update [Embedded content](https://www.loom.com/embed/2ef4ea13a73948ceb4617a648931bbe1) ## Supported Languages We do not currently support all languages. The following is a list of the languages we support. - Arabic - Belarusian - Chinese (Simplified) - Chinese (Traditional) - Croatian - Czech - Danish - Dutch - Finnish - French - German - Haitian Creole - Hindi - Hmong - Hungarian - Indonesian - Italian - Japanese - Korean - Norwegian - Norwegian Bokmål - Polish - Portuguese (Brazil) - Portuguese (Portugal) - Romanian - Russian - Slovenian - Somali - Spanish (Mexico) - Spanish (Spain) - Swedish - Thai - Turkish - Ukrainian - Vietnamese ## One-to-One Relationships ### Data Dictionary Groups and Data Dictionary Entries Each Data Dictionary Group can contain only one Data Dictionary Entry record per language (**Language / Locale**). For example, a Data Dictionary Group contains three Data Dictionary Entries. Each one contains its own language: English, Spanish, and French. If you create a fourth Data Dictionary Entry record using French, the new Data Dictionary Entry record will replace the original Data Dictionary Entry record in French. If, instead of French, your fourth Data Dictionary Entry record contains Polish, your Data Dictionary Group will include four Data Dictionary Entry records: English, Spanish, French, and Polish. ### Keys and Values For each Data Dictionary Entry’s **Language / Locale**, there can only be one **Value** per **Key**. Creating a new Data Dictionary Entry for an existing **Key** will replace the current **Value** with the new one. ## Create a Data Dictionary Group If a label or button isn't translating correctly (we use Google Translate) or if you want to override a value with your own label, you can manually define the label for your Event. If you want to override out-of-the-box values, the first step is to create a Data Dictionary Group and populate it with Data Dictionary Entries. 1. In the App Launcher, enter and click "Data Dictionary Group". 2. Click **New**.![CreateDataDictionaryGroup_Object](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/CreateDataDictionaryGroup_Object.png) 3. Enter a **Data Dictionary Group Name**. 4. Click **Save**.![CreateDataDictionaryGroup_New](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/CreateDataDictionaryGroup_New.png) 5. Click **New** next to the Data Dictionary Entry. In a Data Dictionary Group, each Data Dictionary Entry can only support one language.![CreateDataDictionaryGroup_NewEntry](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/CreateDataDictionaryGroup_NewEntry.png) 6. The **Data Dictionary Values** field contains the **Language / Locale**, **Key**, and **Value**. There can only be one **Value** per **Key** for each **Language / Locale**. Creating a new entry for an existing **Key** will replace the current **Value** with the new one. Click [here](https://docs.google.com/spreadsheets/d/1_4E3uua_8F8xVLK7qXLu0uFhkfv8xqhRoVHTAs6fpw4/edit?usp=sharing) for the full Events Data Dictionary list. *Capital letters* ***must*** *be used in the **Key** field.* These are some of the most frequently used options. - **Key** = "ACT_ADD_ATTENDEE" and **Value** = "Add Attendee" - **Key** = "ACT_DONE" and **Value** = "Done" - **Key** = "LBL_FREE" and **Value** = "Free" - **Key** = "ACT_REGISTER" and **Value** = "Registration" - **Key** = "MSG_REGISTRATION_CONFIRMED" and **Value** = "You are registered!" 7. Select the **Language / Locale** you'd like to change. 8. Enter a **Key** and **Value**. 9. Click **Add Row** to add additional entries or click **Save**. 10. Click **Back** to return to the Data Dictionary Group record. ![CreateDataDictionaryGroup_EntryKeyValue](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/CreateDataDictionaryGroup_EntryKeyValue.png) ### Add Additional Keys to a Data Dictionary Entry If you need to add additional keys to the Data Dictionary Entry, click the menu (upside-down triangle) next to the Data Dictionary Entry. From there, click **Add Row** to add a new **Key** and **Value**. When you are done, click **Save** and **Back** to return to the Data Dictionary Group. ### Edit an Existing Data Dictionary Entry 1. From the Data Dictionary Group, locate the Data Dictionary Entry you want to update. 2. Click the upside-down arrow and click **Edit**. 3. Change the **Key** and/or **Value** or delete the **Key** and **Value**. 4. Click **Save**. 5. Click **Back** to return to the Data Dictionary Group. USE CAPITAL LETTERS Use capital letters in the **Key** field. ### Example For this example, we will set **Language / Locale** = "English". Now, we can select any word or phrase to replace an action with. For this example, we set **Key** = “ACT_COMPLETE“ and **Value** = “Complete”. Make sure to use all capital letters for the **Key**. ![Override Labels 7](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/Override%20Labels%207.png) Here's the expected result. ![Override Labels 9](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/Override%20Labels%209.png) However, if we were to change **Value** = "Complete" to **Value** = "Test", this would be the result. ![Override Labels 10](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/Override%20Labels%2010.png) ![Override Labels 11](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/Override%20Labels%2011.png) ## Override a Specific Key ### Event Webpages If you are looking for a specific **Key** you want to override, click the **Event Page URL** field, and swap the language in the domain with "debug". You will see the keys on a specific Event, or in other words, the debugged version of the Event with each field identified. See the images below to see how swapping "https://events.blackthorn.io/en/" with "https://events.blackthorn.io/debug/" shows the keys. **"https://events.blackthorn.io/en/"** ![Data Dictionary_Regular](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/image-1711036345099.png) **"https://events.blackthorn.io/debug/"** ![Data Dictionary_Debug](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/image-1711036383536.png) The Keys/Values on this Event webpage are the following. - **Key** = “LBL_SEARCH” and **Value** = “Search” - **Key** = “ACT_GET_TICKETS” and **Value** = “Get Tickets” - **Key** = “LBL_SECTION_OVERVIEW” and **Value** = “Overview” - **Key** = “LBL_MONTH_APRIL” and **Value** = “April” - **Key** = “LBL_STARTING_FROM_PRICE” and **Value** = “Starting from” - **Key** = “LBL_SECTION_DATE_AND_TIME” and **Value** = “Date & Time” ### Forms If you are looking for a specific **Key** you want to override on a Form, open the **Form URL** in a new tab. In this example, the **Form URL** is “https://events.blackthorn.io/5e3TRCE7/s/…” ![Form_Data Dictionary](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/Form_Data%20Dictionary.png) Add “debug” after “events.blackthorn.io/”. You can now see the Keys on a specific Form, or in other words, the debugged version of the Form with each field identified. The debugged URL is “https://events.blackthorn.io/debug/5e3TRCE7/s/…” ![Form_Debug_DataDictionary](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/Form_Debug_DataDictionary.png) The Keys/Values on this Form are the following. - **Key** = “MSG_SURVEY_TITLE” and **Value** = "Thank you for attending this event. Please take a few moments to answer our survey." This key controls the Post-Event Survey title only. Before Events 5.61 it also controlled the Post-Registration Form title; see the next entry. - **Key** = "MSG_POST_REG_FORM_TITLE" and **Value** = "Please take a few moments to complete this form." This controls the Post-Registration Form title, the form a registrant sees immediately after checkout. - **Key** = “ACT_COMPLETE” and **Value** = “Complete” ## Add a Data Dictionary Group to an Event Settings Record 1. Open an Event Settings record. 2. Click the **Pencil** icon next to the Data Dictionary Group field. ![Event%20Settings_Data%20Dictionary%20Group%20Field](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/Event%20Settings_Data%20Dictionary%20Group%20Field.png) 3. Select a Data Dictionary Group. 4. Click **Save**. ## Remove the Paid/Free Verbiage IMPORTANT: This currently only applies to the **Event Group URL**. There are currently two ways to remove the "Free" and "$XX.XX" pricing. - Reach out to [Blackthorn Support](https://community.blackthorn.io/s/support) to disable this throughout the entire org. - If you would like to only remove the "Free" verbiage from the Event registration, you can do so by setting the **Value** field to a "Space bar" entry. Going back to this [Google Document](https://docs.google.com/spreadsheets/d/1mANZ058qszzrXjEdB0Wv4AVbcN5aj41h7-qd9XtrRy0/edit#gid=0), we can find the key we're looking for. In this case, let's remove the "Free" from the Subtotal column. The key we will be using is LBL_SUBTOTAL. Next, for the Value field, simply click the space bar to enter an empty value. ![remove free verbiage 1](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/remove%20free%20verbiage%201.png) And voila! Now, we can see that the text has been removed from the page. ![remove free verbiage 2](https://cdn.document360.io/f977eec0-500f-40a3-b663-724a51f78075/Images/Documentation/remove%20free%20verbiage%202.png) With the Data Dictionary, it is completely up to you what you'd like each field to represent in your checkout process. ## Use Merge Fields with Data Dictionary While we do not support merge fields in the Data Dictionary out of the box, we do have ICU formatted messages that, by default, give you the ability to insert dynamic text within the message. **Syntax is {variable}.** Click [here](https://help.salesforce.com/s/articleView?id=sf.admin_locales_icu.htm&type=5) for more information on Salesforce Supported ICU Formats. ### Use Cases #### Use Case 1 - Change the Welcome Message To update the text in the “Personal Welcome Message” message that appears in the AttendeeLink, set **Key** = “MSG_ATTLINK_PERSONAL” and **Value** = text that includes the Attendee’s "{name}". The Attendee’s **First Name** will automatically be added. Example: Welcome {name}. Thank you for your interest in the upcoming event. #### Use Case 2 - Update the Starting From Price To override the “Starting from {price}” on the Event’s webpage, set **Key** = “LBL_STARTING_FROM_PRICE” and **Value** = text that includes “{price}”. The cost of the lowest-priced Event Item will automatically be added. Example: Price starts at {price}! #### Use Case 3 - Change the Registration Canceled Message To override the text in the “Registration Canceled” message that appears in the AttendeeLink, set **Key** = “MSG_REGISTRATION_CANCELED” and **Value** = text that includes "{name}" and "{date}". The **Event Name** and **Event Start Date** will automatically be added. Example: Your registration to {name} on {date} is canceled. #### Use Case 4 – Modify the Get Tickets Button To change the text on the **Get Tickets** button to “Join or Renew Membership”, set **Key** = “ACT_GET_TICKETS” and **Value** = “Join or Renew Membership". #### Use Case 5 – Personalize the AttendeeLink Confirmation Heading To change the heading an Attendee sees on the AttendeeLink check-in page after they register, set **Key** = “MSG_ATTLINK_CONFIRM_REGISTERED” and **Value** = your message. When a live stream is available for the Event, the heading uses “MSG_ATTLINK_WELCOME_TO_EVENT” instead, so set both keys if you use live streams. The Attendee’s first and last name are added after your message automatically, followed by an exclamation mark. Because the page adds the name, you cannot hide it, move it, or place it inside your own text, and merge fields are not supported on these keys. Write your value so it reads naturally with a name after it. For example, a **Value** of “Thank you for registering,” gives “Thank you for registering, Jane Doe!” Two related notes. If you do not override the key, the built-in message has its punctuation removed, so the default renders as “Thank you for registering Jane Doe!”. The waitlist heading, “MSG_ATTLINK_CONFIRM_WAITLIST”, does not get a name added.