Conducttr HelpDocs
Contact supportOld_HelpDocs
  • START HERE!
    • How to use this site
    • Getting started
  • FEATURE DOCUMENTATION
    • Important Foundations
      • Organisational structure
      • Deleting assets
    • Planning (AXS)
      • Assistants
        • LISA
      • Canvas
      • FIEMA
    • Designing
      • Editor
        • Project Activities
          • Collaboration 1.0
          • Exercise file activities
          • Exporting projects and exercises
        • Licences
        • Master Events List
          • Multiple Master Events List
          • Questions
        • Media
        • Personas
          • Persona libraries
          • Working with personas
            • Unique voice
            • Influence
            • Social Graph
            • ⚡Gotchas
            • Batch & Bulk operations
          • Factions
        • Configuration
          • Participants
            • Registration
              • Cookies, Privacy and T&Cs Statements
            • Teams
              • How To Assign Roles and Positions
            • Players, Personas and Role-players
              • Impersonation
              • Persona as a team member
          • Exercise
            • Exercise design
            • Exercise Setup
            • Channels
              • Historical Content
              • ⚡Why is a channel still showing?
              • Popular Channels
                • Email
                • Messenger (Msngr)
                • MicroBlog (Twitter)
                  • ⚡Tweets not appearing
                • Websites/News
                  • ⭐Simulating a cyber-attack in the MEL
                    • Hack website in the MEL
                    • 🔥Web page details
                • GoSocial (Facebook/Linkedin)
              • Pop Up Channels
                • 🔀Which Pop up is right for me?
                • Notification
                • Media pop-up
                • Phone call
                • Walkie Talkie
              • Information based Channels
                • Diagrams
                • Portal
                • Captions
                • Graph
              • Exercise Logging Channels
                • Decision log
                • Checklist
              • Monitoring and Alerting Channels
                • Help Desk Channel
                • InfoMap
                • Social Watch
              • Collaboration based Channels
                • Messenger Plus
                • TeamChat Plus
              • Other Social Channels
                • InstaMedia (Instagram)
                • Telegraph
                • Videoblog
                • Forum (Reddit)
                • Bulletin
                • BearSocial
                • Panda
              • Legacy Channels
                • TV
                • Browser
                • Blog
                • TeamChat
              • External Messaging Channels
                • External Email
                • Alert email
            • Capturing Observations
              • 🔀What's right for me?
              • Assessment Toolkit
              • Checklist creation
                • ⚡Checklist not appearing?
            • Diagrams
            • Smartwords - Dynamic Content
              • Exercise Smartwords
              • Persona Smartwords
              • Player Smartwords
              • Content smartwords
              • Conducttr Engine Smartwords
              • Functions
                • DATETIME formatting
            • Facilitator Dashboard
          • Style
        • Pattern of Life (PoL)
    • Running
      • 🤔Some definitions of who does what
      • The Virtual Desktop
      • Exercise Control
        • Facilitation
          • Teams
            • Team upload via Facilitator Dashboard
            • Positions and Special Permissions
          • Facilitator Dashboard
            • Master Events List
              • Multiple Master Events List
          • Pattern of Life
            • Dynamic Retweeting with Smartwords
          • Injects Grid
          • ⭐Live Cyber-Attack Simulation
            • Simulate a cyber-attack
            • 🔥Data corruption
        • Observation
          • Reviewing activity
            • 🔀What's right for me?
            • 🔥Confirming players are logged in
            • Review tab
              • Review
              • Assess
                • ⚡Assess tab not appearing?
              • Reports
              • ⚡Review tab not appearing?
            • Monitoring (Pulse)
              • 🔥Pulse disposition timeline
          • Capturing information
            • After-Action Review feature
            • Checklist operation
        • Adjudication
          • Spoof social engagement
        • Role-playing
          • 🔀What's right for me?
          • Impersonation
          • Log in as Persona
        • Observing
          • After-Action Review (AAR)
          • Pulse
      • Players (training audience)
        • Navigating Channels
          • Information-based channels
            • Website/News
          • Team-based channels
            • Social Media
              • MicroBlog (Twitter)
              • GoSocial (Facebook/Linkedin)
              • InstaMedia (Instagram)
              • Forum (Reddit)
            • Decision log
          • Solo-based channels
            • Email
          • Collaboration channels
            • Messenger Plus
            • TeamChat Plus
          • Tools-based channels
            • Social Watch
            • InfoMap
            • Checklist
      • Live updates from Scenario Editor
        • Refreshing personas
    • Reporting
      • Exporting
      • Feedback Summary for Exercise
  • HOW TO
    • How do I....
      • Live Cyber-Attack Simulation
      • Simulate a cyber-attack
      • Data corruption
  • PLAYER GUIDE
    • Role-Playing
  • CONCEPTS
    • Planning
      • Individualistic personas
        • Beliefs
    • Designing
      • Exercise design
        • Considerations and constraints
      • Scenario Design
    • Running
  • WORLDS
    • Concept
      • Facilitators
      • Administrators
    • Designing
      • Exercise
        • Setting up Worlds in the Scenario Editor
          • Adding exercise slots
        • Exercise setup
      • Hubs
        • Creating new Hubs
        • Deactivating Hubs
      • World Settings
        • Welcome Email
          • Customising the Welcome Email
          • Sending a Welcome Email
    • Running
      • Registering Facilitators
      • Uploading scenarios
      • Using Worlds for Facilitators
        • Uploading an exercise
        • Giving access to participants
    • Reporting
      • Metrics
  • FAQs and Common Issues
    • Registration & log in
      • I'm not receiving the password reset
      • The password reset is arriving late
      • Do I have to register my players?
    • Device & environment requirements
    • You're Already Logged In Elsewhere
  • RELEASE NOTES
    • 2025
      • February 2025
      • March 2025
    • 2024
      • June 2024
      • July 2024
      • September 2024
      • October 2024
      • December 2024
    • Installing Scenario Editor
      • Installing on Apple Mac
  • LOCAL
    • On-premises solution
      • Packing for Local
Powered by GitBook
On this page

Was this helpful?

  1. FEATURE DOCUMENTATION
  2. Designing
  3. Editor
  4. Configuration
  5. Exercise
  6. Smartwords - Dynamic Content

Functions

Saves time and improves engagement through greater personalisation

Functions allow you to create more dynamic content by manipulating text and numbers.

Many popular functions available for use in calculations and content. Functions can be nested for even greater power

CONCAT()

Adds together strings to create a new string. |CONCAT("Rob","Bert")| returns RobBert Can be any number of strings |CONCAT("rob","ert"," is ", " ","working"," ","today")| returns "robert is working today" Use with other nested string functions too |CONCAT("Rob",RIGHT("Bert",3))| returns Robert

LEFT()

Returns a new string for the length of characters starting from the left LEFT(string,length) |LEFT("Robert",3)| returns "Rob"

LEN()

Returns the length of a string Example LEN("Robert") returns 6

LOWERCASE()

Forces strings to lowercase. |LOWERCASE("HElen")| = "helen"

MID()

Returns part of a string MID(string, start, length) Example MID("Robert",3,4) returns "bert" All string functions cane be nested. |UPPERCASE(MID("Robert",3,4))| returns "BERT"

REPLACE()

Replaces occurrences of a string within a string with another string :) Format is REPLACE(string,what,by) |REPLACE("i like to eat apples","a","@")| returns "i like to e@t @pples"

RIGHT

Returns a string of length characters starting from the right Format is RIGHT(string, length) |RIGHT("Mary had a little lamb",4)| returns "lamb"

STRCOUNT()

Returns the number of times a substring is found within a string. |STRCOUNT("bird","a little bird sat on my window")| = 1 |STRCOUNT("a","it was a cold night and a bird pecked at an apple")| = 2

UPPERCASE()

Forces string to all uppercase. |UPPERCASE("hello")| = "HELLO"

ABS()

ABS returns the absolute value (ie. removes the negative sign!) ABS(-1) = ABS(1)

AVG()

Returns the average in a list of numbers. e.g AVG(56,27, audience.sender.my_score) |AVG(partition.custom_data["a"], partition.variables[CONCAT("a.",audience.sender.hash,".my_score")])| To find an average of an array: AVG(partition.scores)

FORMAT()

Used to make numbers look attractive - usually to reduce the number of digits after the decimal point. Example |FORMAT(3.1276565,"###.##")| gives 3.13

INT()

Forces value to an integer. for example INT(12.45) = 12 Useful for converting a boolean to a value such as INT(5>2) = 1

MAX()

MAX() returns largest number. MAX(5, 4, 1, 12, 56,72) returns 72

MIN()

MIN() returns the smallest number. MIN(5, 4, 1, 12, 56,72) returns 1

MOD()

MOD stands for modulo. The function returns the remained after a division. The format is MOD(number to be divided, the dividing number). This is most easily shown with an example such as breaking out hours, mins and secs from a duration: Hours = |audience.sender.duration|/3600 Minutes = MOD(|audience.sender.duration|/60,60) Seconds = MOD(|audience.sender.duration|,60)

SUM()

Returns the sum of all values e.g SUM(56,27, audience.sender.my_score) |SUM(partition.custom_data["a"], partition.variables[CONCAT("a.",audience.sender.hash,".my_score")])| To find the sum of an array: SUM(partition.scores)

DATETIME()

Formats dates and times. Please see the DATETIME() article for the full specification Example |DATETIME(NOW(),'MMMM d')| returns the current date in the format April 20 Recipe You can add and subtract time from NOW() to calculate dates in the past on in the future. For example |DATETIME(NOW()-'02:00:00:00','dddd')| will subtract two days from today's date and print the day of the week. For example "Hey, I know it was 2 days ago you looked into that issue because it was a |DATETIME(NOW()-'02:00:00:00','dddd')| "

NOW()

Returns current date and time

NEXTWEEKDAY()

Creates a future date based on which day of the week and how many weeks from now. Use with DATETIME formatting for most practical result. NEXTWEEKDAY(date, day of week number, number of weeks from date) Example |DATETIME(NEXTWEEKDAY(NOW(), 6, 1),'dddd D MMM')| returns the date of Saturday one week from the scenario run date (i.e. from NOW()) e.g. from function given here Saturday 13 May   Day of Week number Sunday 0 Monday 1 Tuesday 2 Wednesday 3 Thursday 4 Friday 5 Saturday 6 Recipe Imagine you need a persona to send an email warning about a protest on a Wednesday four weeks from the time of the exercise. The content might look like this: "Hi, I'm writing to warn you of a march affecting access to your offices on |DATETIME(NEXTWEEKDAY(NOW(),3,4), 'ddd D MMM')|. I hope 4 week's notice is enough for you to organise remote working"

PreviousConducttr Engine SmartwordsNextDATETIME formatting

Last updated 8 months ago

Was this helpful?