How do I use replacement variables?

Ryan Richins
  • Agilix team member
  • Updated:

Easily personalize your students' experience with variables.

What are replacement variables?

Replacement variables provide another way to simply and uniquely personalize each user's learning experience. Place variable codes in your content, and Buzz automatically replaces the variables with dynamic values drawn from user, course, and/or domain information.


Buzz allows you to use variables in the content that appears on an activity folder's landing page. This example uses the $USERFIRST$ code, allowing the teacher to address each student by first name, and the $COURSENAME$ code, which means that they can change the name of the course without having to edit this folder's landing content.

What are replacement variables?

Now, this is what Wanda sees when she opens that activity folder.

Where can I use replacement variables?

Currently, you can use variables in the following locations:

Predefined domain-wide replacement variables

This table outlines the predefined variable codes that are available in all Buzz domains. Simply set the variable code between dollar signs ($) to activate the variable, like this: $VARIABLECODE$.

Name Value
DOMAINID The ID of the current user's domain
DOMAINNAME The current user's domain name
USERID The current user's ID. This ID is unique only within the Userspace; i.e., the USERSPACE/USERID value uniquely identifies a user in Buzz
USERNAME The current user's username. This name is unique only within the userspace.
USERSPACE The current user's userspace. The USERSPACE/USERNAME or USERSPACE/USERID combination uniquely identifies a user.
USER The current user's full display name
USERFIRST The current user's first name
USERLAST The current user's last name
USERREFERENCE The current user's external ID
ENROLLMENTID The current user's enrollment ID for the content they are viewing
ENROLLMENTFIRST First name of the current enrollment user
ENROLLMENTLAST Last name of the current enrollment user
ENROLLMENTREFERENCE The external ID of the current enrollment
ENROLLMENTUSER Full name (first and last name) of the current enrollment user
ENROLLMENTUSERNAME Username of the current enrollment user
ENROLLMENTUSERREFERENCE External ID of the current enrollment user
COURSEID The ID of the course the current user is viewing
COURSENAME The name of the course the current user is viewing
COURSEREFERENCE The external ID of the course the current user is viewing
ITEMID The ID of the item that the current user is viewing
ITEMNAME The item's title that the current user is viewing

How do I create my own replacement variables?

You can also create replacement variables for your own course:

  1. Open Course settings from the Editor toolbar.
  2. Click Add variable under Variables in the General tab.
    • Provide the variable Name, which is the variable code that will be replaced (e.g., SECTIONNUMBER).
    • Provide the variable Value, which is the value you want the code to be replaced by (e.g., Section 5).
  3. Save.
How do I create my own replacement variables?

Once you've created a course-specific replacement variable, you use it by placing it between dollar signs ($) just like you do with the other variable codes (e.g., $SECTIONNUMBER$).

Comments (5)

Sort by
Jill Zupetz

I really like this feature, but one thing I would like to see is the ability for these to be used on a course landing page. Thanks!

Aileen Sweeney

I have created a variable at a sub-domain level using the edit xml option.

It contains a URL to be used in that sub domain.

These samples are using fake data.

    <variable name="snaphost">www.snaphost1.org/</variable>

This variable is then used in a course activity as part of the Website URL to replace a portion of the URL depending upon the logged in user's sub-domain's variable setting.

Example: Content website entered in the Course Activity is


A set of Post parameters are used to pass authentication values.

POST Name     POST Value


Can I have a user enrolled and logged into sub domain A (which has the $snaphost$ value set to www.somesite-a.com) take a course in sub domain B (which has the $snaphost$ value set to www.somesite-b.com) work so that it replaces the $snaphost$ value with that of the the logged-in user's home sub-domain $snaphost? value. When I set the $snaphost$ at the subdomain's Admin screen, it propagates down to the course that uses the variable just fine.



Annette Walaszek

I agree this is a great feature. It would also be nice to be able to add the replacement variables to feedback templates.


Aileen Sweeney

I would like to be able to use the Username replacement variable at the sub-domain level so that I can use it in external URLS.

USERNAME is not listed as one of the replacement variables allowed.

I can use it at a course level by adding a Post Parameter and Value to an Activity 

and adding it as a Course Variable.



I even included it in a domain landing page and it does not work.

Is there a way to get the Username variable to work at the sub-domain level for admins?

Replacement variables for custom Main Menu entries
Custom Main Menu URLs allow for dynamic replacement variables that automatically replace a variable code (options listed below) with a desired value drawn from user, course, and/or domain information.

Use any of the following replacement variables by enclosing them with double curly brackets (e.g., {{TOKEN}}, {{USERID}}, {{ADMINDOMAINID}}):

TOKEN: The xLi authentication token for the currently logged in user. When using this variable, the URL must be secure, starting with https.
USERID: The ID for the currently logged in user.
USERDOMAINID: The domain ID for the currently logged in user.
USERSPACE: The userspace for the customization domain, or the domain userspace visible in the top level URL.
ENROLLMENTID: The ID of the currently selected enrollment.
COURSEID: The ID of the course associated with the currently selected enrollment.
ADMINDOMAINID: The currently selected domain ID in the admin app.
QUERY-<param>: The value of the top page's query parameter with the case-sensitive name of <param>. The application only replaces this variable if external is not set to true.

Scott Taylor

Hello Aileen,

The username variable isn't currently supported as a replacement variable at the domain level. We'll pass along your request for consideration in discussions on future updates to the list of domain replacement variables.

Please sign in to leave a comment.