Functions and Formulae

Below is a comprehensive list of FormsFly formula functions that can be used in various field properties throughout the platform wherever the hammer icon is present.
NOTE: Functions names are not case-sensitive.

Contextual

PurposeFunction
User's Email AddressUSEREMAIL()
User's First NameUSERFIRSTNAME()
User's Last NameUSERLASTNAME()
User's External IdUSEREXTERNALID()
Value Matches Current UserUSERINGROUP()
Organisation NameORGNAME()
Global ValueGLOBALVAL('keyname')
Organisation Meta ValueORGMETA('key')
User Meta ValueUSERMETA('key')
Device NameDEVICENAME()
Operating System NameDEVICEOS()
Operating System VersionDEVICEOSVERSION()
Current App VersionAPPVERSION()
Current Screen VersionSCREENVERSION()
Screen Last Updated (UTC)SCREENDATE()
Direct ValueVAL('dataname')
Screen ParameterCOUNTER()

System Values

PurposeFunction
Current DateTODAY()
Current Date and TimeNOW()
Current UTC (GMT) DateUTCTODAY()
Current UTC (GMT) Date & TimeUTCNOW()

Maths   

You must put a space between mathematical operators.  e.g. {{price1}}-{{price3}} is not valid, but {{price1}} - {{price3}} is valid.

PurposeFunction
Add+
Subtract-
Multiply*
DivideDIV
Greater than    
Greater than or equal
>    
>=
Less than    
Less than or equal
<    
<=
RoundingROUND(value, decimals)

Text/String

PurposeFunction
Join bits of text togetherCONCAT(value1, value2, ...)
Get part of a piece of text

SUBSTR(value, start)

SUBSTR(value, start, length)

Length of a piece of textSTRING-LENGTH(value)
Join values with a separatorJOIN(separatorString, value1, value2, ...)

Repeatable Groups

PurposeFunction
Add repeated valuesSUM(repeatname)
Join repeat answers with a separatorJOIN(separatorString, repeatvalue)
Count no of repeatsCOUNT(repeatname)
Maximum from a list of repeated valuesMAX(repeatname)
Minimum from a list of repeated valuesMIN(repeatname)

Logic

PurposeFunction
NotNOT(expression)
AndAND
OrOR
TrueTRUE()
FalseFALSE()
Regularly used  expressionsREGEX(expression)
Equal to=
Conditional (If)IF(condition, a, b)
First non-empty valueCOALESCE(a, b)

At least X of

At most X of

CHECKLIST(min, max, v1, v2, v3, ..., vn)

Data Conversion Functions

PurposeFunction
Convert to numberNUMBER(value)
Convert to stringSTRING(value)
Convert to dateDATE(value)
Convert text to True/FalseBOOLEAN-FROM-STRING(value)
Convert Date to text in a particular formatFORMAT-DATE(value, format)

Choices Functions

PurposeFunction
Check if an answer is selectedSELECTED(dataname, value)
Count selected itemsCOUNT-SELECTED(dataname)