Introduction
Shortcodes are tags such as {{course_name}} or {{first_name}} that you can include in the text of a notification. These tags are replaced with the relevant data when a notification message is sent out.
This article provides additional information about the use of shortcodes in notifications. For complete instructions on how to configure a notification see the main article: Configuring notifications.
Shortcodes can be inserted when you compose the message text of a notification. The shortcodes available depend on the notification event type, and the article Notification events and conditions lists the shortcodes available for each event type.
Tip: With the transition to the new notification service, the base URL of links in your notifications will always correspond to the domain of each notification recipient. For more information see the chapter Shortcode links and extended enterprise domains.
Please note: Depending on the notification type, the
{{first_name}},{{last_name}}and{{username}}shortcodes may refer to the user who performed the action that triggered the notification, rather than the user receiving the notification. For example, in some course-related notifications sent to a Superadmin, these shortcodes will be populated with the learner's details rather than the Superadmin's. Check the description of each shortcode in the reference tables in the Shortcode reference chapter to confirm the expected behavior for the notification you are configuring.
Shortcodes and clickable links
Shortcodes referencing links, such as {{course_link}}, will not actually create clickable links in the notifications. Rather, they only insert the URL in text format without HTML tags.
Most modern email clients (desktop, mobile or web-based) automatically convert plain-text URLs into clickable links to improve user experience. So the recipient will still receive a clickable link, even if only the URL was inserted.
However, if you want to be certain to create an active link you need to embed the URL in the necessary html tags. You can do this in two ways:
- Use the Insert/edit link toolbar button and paste the shortcode (for example, {{course_link}}) in the URL field.
- Use the Source code button in the toolbar and directly insert the HTML tag, using the shortcode as the href attribute. For example,
<a href="{{course_link}}">My Course</a>.
Note for extended enterprise platforms: Refer to Shortcode links and extended enterprise domains for information about how the domain in the shortcode URL (
https:/www.domain.xxx/path_url_platform) is matched to the domain of the recipient user.
Shortcode links to courses or sessions
When using shortcodes involving links to specific courses or sessions, please note that these do not work in the same way as deep links, meaning that the user will receive an error when clicking on the link without being enrolled in the course.
When you include the {{course_link}} shortcode in notifications, all users clicking the link, land on the course or session page regardless of their user level. This includes users who have access to the course, Superadmins, and Power Users whether they are logged in or not.
Shortcodes with dates and times
{{expire_at}} shortcode
When including the {{expire_at}} shortcode in notifications, remember that the time expressed in the notification received by the user is expressed in the user's timezone.
{{event_date}} and {{session_dates}} shortcodes
ILT and VILT courses are organized in sessions, and each session can be made up of one or more events. When a learner is enrolled in a course session they are automatically enrolled in all the events of that session.
{{event_date}}:
This shortcode is populated with:
- The event name at the top
-
The date, and starting and end time of the event. These are provided in both the learner’s time zone and the event time zone, if they are different.
Tip: The date and time format are dependent on your platform settings.
- The location details and classroom of the event, if it is an in-person event. Or virtual if it is a webinar.
{{session_dates}}:
This shortcode is populated with the {{event_date}} information for all the events of the session. All event date information is included, even if some or all the events are in the past.
Example (for a session with three events):
Shortcodes with login credentials
Some notifications, such as User has been created, can include a {{user_password}} shortcode. A typical use case is to communicate login instructions to users; the platform link and credentials to be used (username and password).
In the notification, the {{user_password}} shortcode is always replaced by a “Reset your password” link. Upon clicking this link, the user is prompted to enter their email address, so that they can receive another reset link to finally create their password.
This two-step workflow enables an administrator to create users (either with or without an initial password, depending on the mechanism used to create them) and then through the notification have the users themselves create or change their passwords.
{{#items}} and {{/items}} tags
These are special tags used only in digest notifications, to enumerate lists of items. These tags must always appear in pairs, enclosing the shortcodes of the items you want to list.
For more information see the article on Digest notifications.
Note: The {{#items}} and {{/items}} tags are used in all digest notifications. In addition, the Digest: New content in followed channels notification also uses {{#channels}} and {{/channels}} tags.
Shortcode links and extended enterprise domains
For extended enterprise platforms, when using shortcodes such as {{course_link}} in a notification, the base URL of the link needs to match the recipient’s domain. For example, a user who accesses the platform at https:/<branch1_domain>, needs to receive a course link with that same base URL https:/<branch1_domain>/path_to_course.
To achieve this, the system automatically inserts into notification links the correct base URL, referred to the recipient of the notification. In this way, each person receiving the message has a link that targets their specific extended enterprise client. Note also that:
- The base URL does not change depending on whether the notification is scheduled (before/after the event) or immediate (at the time of the event).
- The base URL is also not affected by the logged-in domain of the administrator who creates or edits the notification.
However, in a situation where a user belongs to more than one extended enterprise client (possible in platforms with nested branches, or platforms that allow users to be placed in more than one branch), notifications may not always use the expected base URL. See the chapter Shortcode links and nested extended enterprise branches.
Shortcode links and nested extended enterprise branches
If you have an extended enterprise domain associated with a parent branch and another domain associated with a child branch, please note that users of the child branch may receive notifications that use the base URL of the parent domain. However, they will still be able to access the linked resource.
Example: With the following configuration:
| Domain | Node (associated branch) |
academy70.docebosaas.com/academy
|
Docebo/Marketing |
academy70.docebosaas.com/paperoga
|
Docebo/Marketing/Sales |
A user who belongs to the Sales branch would expect
to receive
notifications containing links that use the base URL of their domain
(academy70.docebosaas.com/paperoga).
However, since such a user also implicitly belongs to the
Marketing branch (parent of Sales), they may instead
receive
links that use the other base URL (academy70.docebosaas.com/academy)
In such a parent/child scenario it is not guaranteed that the shortcode links will have the expected base URL, although even with the “parent” URL, the resources will still be accessible to the user.
Dynamic logo shortcode {{extend_enterprise_logo}}
As noted in the preceding chapter on shortcode links, when a notification includes link shortcodes, the system dynamically adjusts the base URL of those links to match the domain of each recipient user.
In similar fashion, you can use the {{extend_enterprise_logo}} shortcode to dynamically retrieve the logo image configured for the recipient’s platform (either root platform, or extended enterprise client). In this way, each recipient will receive an email with the correct logo for their platform.
Tip: The notifications that include preconfigured templates with a logo now automatically use this shortcode to provide a dynamic logo image. However, if you have some notifications created with an older version of the template, these may still include a fixed logo image path. In this case, you can either re-create the notification with the current template, or manually edit the message body to use the {{extend_enterprise_logo}} shortcode.
Insert a dynamic logo image
To do this, in the html source of your message body, insert an image tag that contains the shortcode instead of a fixed image path:
<img src=”{{extend_enterprise_logo}}” ...>Tip: The shortcode on its own inserts only the plain-text logo image path, and by itself won’t display an image. You need to embed the shortcode within an <img src > tag for it to work.
Make the template logo image dynamic
Some notifications provide preconfigured message templates that also include a logo image. Note that these templates by default reference a fixed image path such as:
<img src="/public/images/core/docebo_logo.png" ...>
This causes all recipients to receive messages with the same fixed logo image.
If you instead want recipients to see a logo corresponding to that of their extended enterprise platform, edit the message body in source mode to replace the fixed image path with the shortcode:
<img src={{extend_enterprise_logo}}” ...>Shortcode reference
The tables below list the shortcodes available in Docebo notifications, organized by notification category. Not all shortcodes are available in all notification types. The article Notification events and conditions lists the shortcodes available for each specific event type.
User notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{first_name}} |
First name of the user | |
{{last_name}} |
Last name of the user | |
{{username}} |
Username of the user | |
{{user_email}} |
Email address of the user | |
{{uuid}} |
The user's unique ID: an alphanumeric identification number | This ID is different from the user ID used in the API browser |
{{lms_link}} |
URL that directs the notification recipient to the platform login page | |
{{verification_link}} |
Link to verify the user's email address | |
{{reset_pwd_link}} |
Link to reset the user's password | |
{{user_password}} |
Replaced by a "Reset your password" link in all cases | See the chapter Shortcodes with login credentials |
{{register_date}} |
The date on which the user was registered in the platform | |
{{first_multidomain}} |
The name of the extended enterprise domain in which the user was registered, if applicable | Will not be populated with the root domain |
{{group_name}} |
Name of the automatic group | |
{{group_id}} |
ID of the automatic group |
Manager and subordinate shortcodes
| Shortcode | Description | Additional notes |
|---|---|---|
{{manager_first_name}} |
Manager's first name | |
{{manager_last_name}} |
Manager's last name | |
{{manager_username}} |
Manager's username | |
{{manager_email}} |
Manager's email address | |
{{manager_level}} |
The manager's user level in the platform (User, Power User or Superadmin) | |
{{manager_type}} |
The type of manager: Direct Manager or other manager types created by platform administrators | |
{{subordinate_first_name}} |
First name of the manager's direct report | |
{{subordinate_last_name}} |
Last name of the manager's direct report | |
{{subordinate_username}} |
Username of the manager's direct report | |
{{subordinate_email}} |
Email address of the manager's direct report | |
{{subordinate_level}} |
User level of the manager's direct report (User, Power User or Superadmin) |
Course notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{course_name}} |
Name of the course | |
{{course_link}} |
URL to the course for enrolled users | This link returns an error for users who are not enrolled in the course |
{{course_saml_link}} |
Link to access the course using SAML authentication | The user must already be enrolled in the course |
{{sso_link}} |
Link to authenticate and enter the platform through the SSO integration configured in the platform | |
{{expire_at}} |
Expiration date of the course | The time displayed in the notification reflects the recipient's timezone |
{{subscribed_at}} |
Date on which the user was enrolled in the course | |
{{category_name}} |
Category of the course | |
{{esignature_course}} |
Displays Yes or No depending on whether the course has the e-signature feature active |
|
{{completed_at}} |
Date on which the course was completed | Also available for learning plan notifications |
{{final_score}} |
Score achieved in the course; displays "0" if no score was given | |
{{first_multidomain}} |
Name of the extended enterprise domain where the action took place | Only populated if the action is performed in an extended enterprise domain; not populated for the root domain |
{{course_id}} |
ID of the course | |
{{course_type}} |
Type of course (e-learning or ILT) |
ILT course and session notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{session_name}} |
Name of the session | |
{{event_name}} |
Name of the event | |
{{event_date}} |
Date, start time and end time of the event, displayed in both the recipient's timezone and the session's local timezone; includes the event location or virtual conference details | See the chapter {{event_date}} and {{session_dates}} shortcodes for full details |
{{session_dates}} |
The {{event_date}} information for all events in the session, including past events |
See the chapter {{event_date}} and {{session_dates}} shortcodes for full details |
{{session_location}} |
Location of the event | |
{{session_classroom}} |
Classroom within the event location, if multiple classrooms are configured | |
{{session_saml_link}} |
Link to access the session using SAML authentication | The user must already be enrolled in the course and session |
{{calendar_sync_url}} |
A webcal link to add the event to the user's calendar app |
The shortcode adds a new calendar to the user's calendar application rather than adding a single event; syncing time varies by email client. Please note: This shortcode may not display as expected in certain email clients such as Gmail, which is outside Docebo's control. |
{{calendar_attachment}} |
An .ics file attachment to add the session to an existing calendar |
When the session date or time changes and a new calendar attachment is sent, it creates a new calendar event rather than updating the existing one |
Assignment training material notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{assignment_name}} |
Name of the assignment training material | |
{{assignment_title}} |
Title given by the user to their submission | |
{{assignment_date}} |
Date on which the user submitted the assignment | |
{{assignment_status}} |
Displays Passed or Failed
|
|
{{evaluation}} |
The evaluation score given to the user | If used in a notification for an audience other than the learner, the recipient will access the assignment from their own perspective in the course interface, not from the learner's perspective |
{{evaluation_message}} |
Feedback provided to the user as part of the assignment evaluation | |
{{assignment_play_link}} |
Link to the assignment in the course player | |
{{assignment_admin_link}} |
Link to the report area of the course |
Training material notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{lo_title}} |
Name of the training material | |
{{lo_type}} |
Type of training material |
Test training material notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{test_name}} |
Name of the test | |
{{completion_date}} |
Date on which the test was completed | |
{{test_score}} |
Score achieved before final evaluation of questions requiring manual grading, expressed as an absolute number even if the final score is calculated as a percentage | |
{{test_results}} |
The user's submitted answers for the test | |
{{question_score}} |
Score on an individual question | |
{{question_title}} |
Title of the question | |
{{question_answer}} |
The user's answer to the question |
E-commerce notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{order_receipt}} |
Full order summary including order ID, payment date, total amount, any applied discounts, billing details and purchased items | |
{{order_id}} |
Unique ID that identifies the transaction in the platform | |
{{payment_date}} |
Date the payment was processed | |
{{subtotal}} |
Total amount due before discounts | |
{{discount}} |
Total value of discounts applied | |
{{total_paid}} |
Final amount after discounts | |
{{company}} |
Company name (optional field) | |
{{address}} |
Purchaser's address | |
{{state}} |
State (optional field) | |
{{zip}} |
Postal code | |
{{city}} |
City | |
{{country}} |
Country | |
{{order_items}} |
Courses or learning plans purchased | |
{{authentication_gateway}} |
Authentication method used: email or authentication app | |
{{esignature_hash}} |
Unique alphanumeric digital signature for the configured e-signature application | |
{{URL}} |
URL linking to the course | |
{{trainingmaterials_and_versioning_and_scores}} |
Names of the training materials completed during the course |
Certification notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{cert_title}} |
Name of the certification | |
{{cert_description}} |
Description of the certification | |
{{cert_issued_on}} |
Date the certification was issued | |
{{cert_expire_at}} |
Date the certification will expire, if an expiration period is configured | |
{{cert_item_name}} |
Name of the course, external training or learning plan whose completion awarded the certification | |
{{cert_item_type}} |
Type of event that led to the certification being awarded: External training approval, Completed learning plan or Completed course |
Gamification notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{contest_name}} |
Name of the contest | |
{{contest_description}} |
Overview of the contest's purpose | |
{{contest_start_date}} |
Date on which the contest starts | |
{{contest_end_date}} |
Date on which the contest ends | |
{{contest_goal}} |
Platform action being measured for the contest | |
{{contest_link}} |
Link to the badges and points page | |
{{badge_name}} |
Name of the badge | |
{{badge_image}} |
Image associated with the badge | |
{{my_badges_url}} |
Link to the badges and points page | |
{{reward_name}} |
Name of the reward | |
{{reward_coins}} |
Number of coins required to redeem the reward | |
{{reward_request_date}} |
Date on which the reward was requested | |
{{bank_details}} |
Bank account details for wire transfer payment: account name and number | |
{{transaction_deadline}} |
Date by which payment must be completed to finalize the purchase | |
{{date_of_order_cancellation}} |
Date on which the transaction was canceled | |
{{payment_date}} |
Date on which the transaction was paid | |
{{admin_who_cancelled}} |
Platform administrator who canceled the transaction | |
{{admin_who_approved}} |
Administrator who marked the transaction as paid | |
{{date_of_payment_accepted}} |
Date on which the transaction was marked as paid |
Privacy policy and terms & conditions notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{privacy_policy_name}} |
Name of the privacy policy | |
{{privacy_policy_version}} |
Version of the privacy policy | |
{{previous_answers}} |
Previous answers to the privacy policy; each answer is separated by |
|
|
{{current_answers}} |
Current answers to the privacy policy; each answer is separated by |
|
|
{{tc_name}} |
Name of the terms and conditions as configured by the platform administrator | |
{{tc_version}} |
Version of the terms and conditions; each change to terms and conditions items produces a new version | |
{{subdomain_url}}(New Privacy Policy Version / New Terms & Conditions Version) |
URL of the domain in which the policies were updated, either root domain or extended enterprise domain | Remains empty if the recipient is a Power User |
{{subdomain_name}}(User Modified Privacy Policy / User Modified Terms & Conditions) |
URL of the domain in which the user updated their preferences, either root domain or extended enterprise domain | |
{{tc_previous_answer}} |
Previous answer to the terms and conditions; each answer is separated by |
|
|
{{tc_current_answer}} |
Current answer to the terms and conditions; each answer is separated by |
|
Impersonation notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{impersonator}} |
Platform administrator who impersonated a user | |
{{impersonated}} |
User who was impersonated | |
{{date}} |
Date of the impersonation | |
{{time}} |
Time at which the impersonation started or ended |
Informal learning notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{app7020_asset_author}} |
Name of the user who submitted the asset | |
{{app7020_asset_title}} |
Name of the asset | |
{{app7020_asset_thumb}} |
URL of the asset thumbnail; HTML must be added to render the image in the notification | |
{{app7020_asset_url}} |
URL that leads to the asset page | |
{{app7020_asset_id}} |
Unique ID of the asset, assigned automatically by the platform upon submission | |
{{app7020_user_email}} |
Email address of the user who submitted the asset | |
{{app7020_user_avatar}} |
Profile avatar of the user | |
{{app7020_user_name}} |
Username of the content approver (Asset Approved notifications) or rejecter (Asset Rejected notifications) | |
{{app7020_channel_name}} |
Name of the channel where the notification-associated action took place | |
{{app7020_super_admin}} |
Full name of the Superadmin who performed the action that triggered the notification | |
{{app7020_owner_content}} |
Name of the user who submitted the asset | |
{{app7020_content_title}} |
Title of the asset | |
{{app7020_content_url}} |
URL that directs the recipient to the asset | |
{{app7020_content_thumb}} |
Thumbnail of the asset | |
{{app7020_inviter_name}} |
Full name of the user who shared the asset | |
{{app7020_inviter_avatar}} |
Profile avatar of the user who shared the asset | |
{{app7020_publisher}} |
Full name of the expert or Superadmin who approved and published the asset | |
{{app7020_first_name}} |
Name of the notification recipient | Available in the New Question to Expert notification |
{{app7020_owner_answer}} |
Username of the user who answered the question | |
{{app7020_question_url}} |
URL that directs the recipient to the question on the asset | |
{{app7020_answer_owner_avatar}} |
Profile avatar of the user who answered the question | |
{{app7020_owner_question}} |
Name of the owner's question | |
{{app7020_answer_title}} |
Answer given to the question | |
{{app7020_question_owner_email}} |
Email address of the user who posted the question | |
{{app7020_question_title}} |
Question asked on the asset page or in the channel | |
{{app7020_question_owner_avatar}} |
Profile avatar of the user who posted the question | |
{{app7020_email_users}} |
Email address of the notification recipient | |
{{app7020_owner_question_avatar}} |
Profile avatar of the user who posted the question | |
{{app7020_tooltip_owner}} |
User who added the tooltip to the content | |
{{app7020_tooltip_body}} |
Text added to the content via the tooltip | |
{{app7020_tooltip_position}} |
Time position of the tooltip on the video | |
{{marked_count}} |
Number of assets marked as outdated | |
{{marked_content}} |
Content marked as outdated | |
{{ref_url}} |
URL of the channel where content has been marked as outdated | |
{{uploader_name}} |
Username of the user who submitted the asset | |
{{item_name}} |
Name of the asset that was submitted | |
{{item_url}} |
URL to the asset page | |
{{channel_name}} |
Name of the channel where the asset was submitted | |
{{channel_url}} |
URL that leads to the channel page | |
{{username}} (New Asset to Review) |
Username of the user who shared the asset | |
{{username}} (You Were Mentioned) |
Username of the mentioned user | |
{{first_name}} |
Varies by notification — see the infobox at the top of this article | |
{{last_name}} |
Last name of the mentioned user | |
{{fullname}} |
Full name of the mentioned user | |
{{user_email}} |
Email address of the mentioned user |
Forum notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{forum_name}} |
Name of the forum | |
{{thread_title}} |
Name of the discussion thread | |
{{thread_link}} |
URL to the discussion thread | |
{{forum_link}} |
URL to the forum, showing all discussions | |
{{comment}} |
Content of the comment |
Learning plan notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{learningplan_name}} |
Name of the learning plan | |
{{completed_at}} |
Timestamp when the learning plan was completed | |
{{certificate_url}} |
URL allowing the learner who completed the learning plan to download their certificate | |
{{learningplan_user_validity_start}} |
Start date of the learner's validity period for the learning plan | |
{{learningplan_user_validity_end}} |
End date of the learner's validity period for the learning plan |
Observation checklist notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{fullname}} (Approve/Reject Checklist) |
Full name of the user who approved or rejected the checklist | |
{{fullname}} (New Observation List to Approve) |
Full name of the user who completed the checklist | |
{{checklist_name}} |
Name of the checklist that was approved or rejected | |
{{assignment_url}} |
Link to the completed checklist awaiting approval | |
{{ref_url}} |
URL directing the recipient to the relevant page depending on their observer role: managers are taken to the observation list tab in My team; peer and self-observers are taken to My Checklist |
Subscription bundle notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{bundle_name}} |
Name of the bundle | |
{{bundle_code}} |
Code of the bundle | |
{{bundle_description}} |
Description of the bundle content and scope | |
{{bundle_type}} |
Type of bundle: license or seats | |
{{catalog_list}} |
List of catalogs included in the bundle | |
{{plan_name}} |
Name of the plan | |
{{plan_list}} |
List of available plans for purchasing the bundle | Not available in the "Subscription has been created" notification, as plans can only be attached to a bundle after it has been created |
{{purchase_date}} |
Timestamp of the purchase, or timestamp of the last purchase that exhausted the subscription plan capacity | |
{{expiration_date}} |
Date and time when the bundle items, seats or licenses will expire | |
{{capacity}} |
Available seats or enrollments in the bundle | |
{{used_capacity}} |
Seats or enrollments already used or assigned | |
{{remaining_capacity}} |
Remaining seats or enrollments | |
{{sold_to}} |
Branch or group selected during the purchase; does not display the purchaser's name | |
{{transaction_code}} |
Transaction code as it appears on the Subscriptions Transaction page; this is a custom value and will only appear if assigned to the transaction | |
{{note}} |
Note left on the transaction by the administrator; this is a custom field and its value is not set automatically upon purchase | |
{{price}} |
Price of the bundle (absolute number, not formatted as a currency) | |
{{type}} |
Type of bundle: seats or licenses |
Please note: The
{{transaction_code}}and{{note}}shortcodes are custom fields with no value assigned automatically upon purchase. It is advisable not to use these shortcodes in the "Subscription Plan has been purchased" notification unless you are certain a value has been assigned.
Content tag notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{tag_content_title}} |
Title of the asset submitted through the channel feature | |
{{tag_content_url}} |
URL to the asset edit page where the generated tags can be reviewed and edited; the notification is sent to the user who submitted or owns the asset | |
{{tag_content_tags}} |
Tags generated by the platform upon asset submission |
Skills notifications
| Shortcode | Description | Additional notes |
|---|---|---|
{{skills_dashboard_url}} |
URL to the skills dashboard |