Variables

Last updated: March 2026

The 'Variables' section is designed for the management of data variables that store information used across coaching sessions.

1. Variable Information Table

The table within the 'Variables' section lists the variables along with their details:

  • VARIABLE NAME: The unique identifier for each variable used in the system. Each variable's name begins with a $ symbol. It is recommended to use camelCase notation for naming variables, which means starting each new word with a capital letter, except for the first word immediately following the $. For example, $varName, $anotherVarName.
  • VARIABLE VALUE: The default value assigned to the variable, which can be a string or a number.
  • PRIVACY SETTING: Each variable has a privacy setting that controls its visibility and accessibility. Mainly relevant for dashboards/API (Application Programming Interface) access:
    • Private: The variable is only accessible within the system of the coaching . It is not visible to the API, ensuring the highest level of data protection.
    • Shared with group: This setting makes the variable accessible to other participants within the same group.
    • Shared with coaching: When this option is selected, the variable can be viewed by other individuals participating in the same coaching.
    • Shared with coaching and dashboard: When set to this level, variables are not only available within a particular coaching but can also be displayed or utilized in the dashboard. This allows for comprehensive monitoring and support by supervisors.
  • ACCESS SETTING: Describes whether the variable is 'internal' for system use or 'external' for public access.
    • Internal: Variables marked as 'Internal' are exclusively used within the system's backend processes. They are not exposed to the user interface or any external services, preserving the system's integrity and security.
    • Manageable by service: Variables with this access level can be managed by backend services, namely the client ("App"). This includes being read by system services or modified, facilitating data synchronization.
    • Externally readable: This setting allows variables to be read externally, meaning they can be exposed to third-party integrations through APIs. However, they cannot be modified externally, ensuring that the data integrity is maintained while still providing necessary information.
    • Externally read- and writable: Variables with this level of access can be both read and modified externally. This is suitable for dynamic data that needs to be interactively updated by integrations with other systems, such as user settings or shared preferences.
  • MULTILINGUAL ARRAY VARIABLE: Specifies if the variable is a multilingual array, which supports content in multiple languages.
  • SENSITIVE DATA: Denotes whether the variable contains sensitive user information that requires additional security measures. Variables that are marked as "Sensitive Data" are not included in data exports. An example for sensitive data might be the email address of the participants.

2. Functions

The following actions are available for managing variables.

When you want to use a new variable in the coaching, such as defining a condition for a message (e.g., $gender = female), you need to create the variable first. A variable can only be used in the coaching intervention if it is recognized by the system.

There are three main ways to create variables:

  • Add the variable to the variable list before incorporating it in the coaching.
  • OR When creating a new message in the Micro Dialog, store answer options in a new variable using the store message reply to variable (if required) field. This allows for future reference within the coaching dialogue.
  • OR When setting up a decision point, create a new variable based on existing ones. For details, refer to the Operators to create variables in the Rules section of the documentation.

For the majority of functions within this section, you must first choose a variable to which the action will be applied.

  • New: Creates a new variable to be used within the coaching intervention.
  • Rename: Changes the name of an existing variable.
  • Switch Privacy: Adjusts the privacy setting (see section above). Keep the default setting unless necessary.
  • Switch Access: Alters the access level, allowing or restricting external visibility/readability (see section above). Keep the default setting unless necessary.
  • Switch Multilingual Array: Sets the variable to a multilingual array, enabling or disabling support for multiple languages. Keep the default setting unless necessary.
  • Switch Sensitivity: Marks or unmarks the variable as containing sensitive data. Keep the default setting unless necessary.
  • Edit: Modifies the default value of the variable.
  • Delete: Removes the variable from the system.

3. System Variables

There are many variables already provided by the system.

3.1 Time-Based Variables

  • $systemMonth
    • Description: Returns the current month of the year.
    • Example Output: 4 for April
  • $systemTimeOffsetInMinutes
    • Description: Contains time difference of the simulator time and the real time in minutes
    • Example Output: 300 for a time shift of 5 hours.
  • $systemWeekOfYear
    • Description: Yields the week number within the current year.
    • Example Output: 17 for the seventeenth week of the year.
  • $systemYear
    • Description: Returns the current year (yyyy).
    • Example Output: 2024.
  • $systemYearAndWeek
    • Description: Combines the current year and week number into a single variable.
    • Example Output: 2024-W17 for the seventeenth week of the year 2024.
  • $systemDayOfWeek
    • Description: Retrieves the day of the week.
    • Example Output: 2 for Tuesday.
  • $systemDayOfMonth
    • Description: Returns the day of the month.
    • Example Output: 25 for the 25th day of the month.
  • $systemDecimalMinuteOfHour
    • Description: Returns the minute value as a decimal fraction of the hour.
    • Example Output: 0.5 for thirty minutes past the hour.
  • $systemMinuteOfHour
    • Description: Returns the minute component of the current hour.
    • Example Output: 35 if the current time is 14:35 o`clock.
  • $systemHourOfDay
    • Description: Provides the current hour of the day in 24-hour format.
    • Example Output: 15 for 15:00 o`clock.
  • $today
    • Description: Provides the current date (dd.mm.yyyy).
    • Example Output: 01.01.2024.

3.2 Participant Variables

  • $participantIdentifier
    • Description: Unique identifier for the participant.
    • Example Output: 666321e0bf797f0adacc2492
  • $participantInfiniteBlockingMessagesCount
    • Description: Number of infinite blocking messages.
    • Example Output: 0
  • $participantInfiniteBlockingMessagesIdentifiers
    • Description: Identifiers for infinite blocking messages.
    • Example Output: XXX
  • $participantInfiniteBlockingMessagesWaitingMinutesMax
    • Description: Maximum waiting minutes for infinite blocking messages.
    • Example Output: 0.0
  • $participantInfiniteBlockingMessagesWaitingMinutesMin
    • Description: Minimum waiting minutes for infinite blocking messages.
    • Example Output: 0.0
  • $participantIntention
    • Description: Participant's intention.
    • Example Output: measurement
  • $participantIntentionContent
    • Description: Content of the participant's intention.
    • Example Output: 120
  • $participantLanguage
    • Description: Language preference of the participant.
    • Example Output: en-GB
  • $participantLastConnectedAppVersion
    • Description: Last connected app version used by the participant.
    • Example Output: 50
  • $participantLastLoginDate
    • Description: Last login date of the participant.
    • Example Output: 07.06.2024
  • $participantLastLoginTime
    • Description: Last login time of the participant.
    • Example Output: 17.1
  • $participantLastLoginTimestamp
    • Description: Timestamp of the participant's last login.
    • Example Output: 1717772770100
  • $participantLastLogoutDate
    • Description: Last logout date of the participant.
    • Example Output: 07.06.2024
  • $participantLastLogoutTime
    • Description: Last logout time of the participant.
    • Example Output: 17.1
  • $participantLastLogoutTimestamp
    • Description: Timestamp of the participant's last logout.
    • Example Output: 1717772785352
  • $participantMessageReply
    • Description: Participant's reply message.
    • Example Output: Whitelabel App User
  • $participantName
    • Description: Name of the participant.
    • Example Output: Whitelabel App User
  • $participantOpenDialogCascades
    • Description: Open dialog cascades for the participant.
    • Example Output: 0
  • $participantOpenQuestions
    • Description: Open questions for the participant.
    • Example Output: 0
  • $participantOrganization
    • Description: Organization of the participant.
    • Example Output: null
  • $participantOrganizationUnit
    • Description: Organization unit of the participant.
    • Example Output: null
  • $participantParticipationInDays
    • Description: Number of days the participant has been involved in the coaching program.
    • Example Output: 25
  • $participantParticipationInWeeks
    • Description: Number of weeks the participant has been involved in the coaching program.
    • Example Output: 3
  • $participantRawIntention
    • Description: Raw data of the participant's intention.
    • Example Output: go
  • $participantRawMessageReply
    • Description: Raw data of the participant's message reply.
    • Example Output: null
  • $participantResponsibleTeamManagerEmailData
    • Description: Email data of the participant's responsible team manager.
    • Example Output: manager@example.com
  • $participantSupervisorDialogOptionEmailData
    • Description: Email data for the supervisor dialog option.
    • Example Output: supervisor@example.com
  • $participantSupervisorDialogOptionExternalID
    • Description: External ID for the supervisor dialog option.
    • Example Output: 12345-EX
  • $participantSupervisorDialogOptionSMSData
    • Description: SMS data for the supervisor dialog option.
    • Example Output: SMS content data
  • $participantSystemUniqueId
    • Description: Unique system ID for the participant.
    • Example Output: uh8tx69vgt1yhm3s
  • $participantTimeOffsetInMinutes
    • Description: Time offset in minutes for the participant.
    • Example Output: 0
  • $participantUnexpectedMessage
    • Description: Contains any unexpected messages received.
    • Example Output: null
  • $participantUnexpectedRawMessage
    • Description: Holds the raw data of unexpected messages.
    • Example Output: null
  • $participantUnreadDashboardChannelMessages
    • Description: Number of unread messages in the dashboard channel.
    • Example Output: 0
  • $participantUnreadDashboardMessages
    • Description: Total unread messages in the dashboard.
    • Example Output: 10

4. Variable Usage & Formatting

This subchapter explains how to use variables in messages, rules, and other text operations, including formatting options to control how values are displayed.


4.1 Basic Syntax

Variables can be referenced using the following syntax:

$variableName
$variableName{format}
$variableName{%format}
$variableName → outputs the raw variable value
{format} or {%format} → applies formatting to the output

4.2 Number Formatting

Number formatting allows you to control:

  • Leading zeros
  • Decimal precision
  • Thousand separators
  • Currency symbols
  • Overall display for text operations

Examples:

$costsPerMonth             → 20000.0
$costsPerMonth{CHF %,.0f} → CHF 20.000
$costsPerMonth{CHF %,.2f} → CHF 20.000,00

Format Explanation:

% [ , = thousand separator] [ _ /0 = spacing, padding, or null] [width of digits] . [decimal digits] f

% → start of format

, → thousand separator

_ /0 → space or zero padding

.Nf → number of decimal digits

Optional prefix like CHF for currency symbols

4.3 Date and Time Formatting

Date variables can be formatted to control leading zeros or compact display:

$systemDayOfMonth.$systemMonth.$systemYear             → 1.4.2015
$systemDayOfMonth{%02.0f}.$systemMonth{%02.0f}.$systemYear → 01.04.2015
$currentTime              → 12.75 (server formatted time)
$currentTime{#t}     → 12.45

Formatting Tokens:

Token Description
d Day of month, padded with zero if needed
#d Day of month, no leading zero
%02.0f Pad to 2 digits, no decimals
%0Nd General padding for N digits

4.4 Combining Variables

Variables can be combined in expressions or message templates:

$systemDayOfMonth{%02.0f}.$systemMonth{%02.0f}.$systemYear

Outputs: 24.03.2026

Note: Formatting does not modify the stored value of the variable; it only affects the displayed output.

4.5 Practical Tips

  • Use formatting whenever numeric or date values need consistent display in messages or conditions.
  • Escaping may be required in regex contexts (e.g., . for a literal dot).
  • For currencies, always include the symbol in the format string (CHF, $, €, etc.).
  • Always test formatting in your message preview to ensure correct rendering.