Welcome to the master reference guide for all functions available in Way We Do Forms & Registers. Functions are pre-built commands that act as shortcuts for complex calculations, text formatting, and logical rules.
Whether you need to calculate a financial total, automatically generate a due date, or format user inputs, you can find the right function below.
How to read this guide:
Categories: We have organized the functions into four main groups to help you find what you need quickly: Math & Number, Logic & Error Handling, Text & String, and Dates, Times & Records.
Signatures: This column shows you exactly how the function needs to be typed, including the specific type of data (number, string, boolean) it requires inside the parentheses.
Field Referencing: In the examples column, you will notice the $ symbol. This is the Field Reference Symbol, which tells the system to pull live data from that specific field in your form (e.g., $Total Cost).
Math & Number Functions
These functions are essential for performing calculations on your numerical data, ranging from basic arithmetic and financial rounding to advanced statistical equations.
Function | Signature | Description | Purpose | Example |
Abs | Abs(input:number) | Absolute value of a number. | Getting a positive number regardless of input sign (e.g., calculating distance or variance). | Abs($Offset Value) |
Acos | Acos(input:number) | Angle whose cosine is a number. | Advanced trigonometry calculations. | Acos($Angle Value) |
Asin | Asin(input:number) | Angle whose sine is a number. | Advanced trigonometry calculations. | Asin($Angle Value) |
Atan | Atan(input:number) | Angle whose tangent is a number (-90 to 90 degrees). | Advanced trigonometry calculations. | Atan($Angle Value) |
Atan2 | Atan2(input:number) | Angle whose tangent is the quotient of two numbers (-180 to 180 degrees). | Advanced trigonometry and coordinate calculations. | Atan2($Y Value, $X Value) |
Average | Average(value:number, [value:number]...) | The average of all the numbers. | Finding the mean value across multiple numerical fields. | Average($Score 1, $Score 2, $Score 3) |
Ceiling | Ceiling(input:number) | Smallest integer greater than or equal to a number. | Rounding up to the next whole number (e.g., calculating required materials). | Ceiling($Required Material) |
Cos | Cos(input:number) | Cosine of an angle. | Advanced trigonometry calculations. | Cos($Angle Value) |
Exp | Exp(input:number) | E raised to a power. | Calculating exponential growth or decay. | Exp($Growth Rate) |
Floor | Floor(input:number) | Largest integer less than or equal to a number. | Rounding down to the previous whole number. | Floor($Available Units) |
IEEERemainder | IEEERemainder(input:number, divisor:number) | Remainder resulting from the division of a number by another number. | Finding what is left over after dividing two amounts. | IEEERemainder($Total Items, $Pack Size) |
Ln | Ln(input:number) | Natural logarithm of a number. | Scientific and statistical calculations. | Ln($Value) |
Log | Log(input:number, base:number) | Logarithm of a specified number. | Scientific and statistical calculations. | Log($Value, 2) |
Log10 | Log10(input:number) | Base 10 logarithm of a number. | Scientific and statistical calculations. | Log10($Value) |
Max | Max(value:number, [value:number]...) | The largest of all the numbers. | Finding the highest value in a given set. | Max($Quote 1, $Quote 2, $Quote 3) |
Min | Min(value:number, [value:number]...) | The smallest of all the numbers. | Finding the lowest value in a given set. | Min($Quote 1, $Quote 2, $Quote 3) |
Number | Number(input:any) | Converts a value to a number. | Forcing a text string to act as a numerical value for math equations. | Number($String Amount) |
Pow | Pow(input:number, power:number) | A number raised to a power. | Squaring or cubing numbers. | Pow($Side Length, 2) |
Round | Round(input:number, decimals:number) | Rounds a number to the nearest integer or number of decimal places. | Standard financial or measurement rounding. | Round($Total Cost, 2) |
Sign | Sign(input:number) | Indicates the sign of a number. | Determining if a number is positive (1), negative (-1), or zero (0). | Sign($Profit) |
Sin | Sin(input:number) | Sine of an angle. | Advanced trigonometry calculations. | Sin($Angle Value) |
Sqrt | Sqrt(input:number) | Square root of a number. | Geometric and statistical calculations. | Sqrt($Area) |
Sum | Sum(value:number, [value:number]...) | The sum of all the numbers. | Quickly adding up multiple fields without using the + operator. | Sum($Subtotal, $Tax, $Shipping) |
Tan | Tan(input:number) | Tangent of an angle. | Advanced trigonometry calculations. | Tan($Angle Value) |
Truncate | Truncate(input:number) | Integral part of a number. | Removing decimals entirely without rounding up or down. | Truncate($Weight) |
Logic & Error Handling Functions
Use these functions to build dynamic rules into your forms, allowing you to create conditional outputs (like Pass/Fail statuses) and safely manage errors or empty fields.
Function | Signature | Description | Purpose | Example |
Blank | Blank() | Produces a blank value. | Intentionally leaving a field empty based on a condition. | If($Score < 0, Blank(), $Score) |
If | If(condition:boolean, true:any, false:any) | Evaluates a condition and returns the true parameter or the false parameter. | Creating basic branching logic (e.g., Pass/Fail). | If($Score > 50, "Pass", "Fail") |
IfBlank | IfBlank(input:any, true:any, [false:any]) | If input is blank, returns true parameter, otherwise returns false (or original input). | Providing a default value if the user leaves a field empty. | IfBlank($Discount, 0, $Discount) |
IfError | IfError(input:any, [true:any], [false:any]) | If input is an error, returns true parameter, otherwise returns false (or original input). | Hiding ugly calculation errors (like dividing by zero). | IfError($Cost / $People, 0) |
Ifs | Ifs([condition:boolean, true:any]..., default:any) | Evaluates a series of conditions and returns the true parameter, or default if none are true. | Setting up tiered rules, like grading or status levels. | Ifs($Score > 90, "A", $Score > 80, "B", "C") |
In | In(input:any, [values:any]...) | Indicates if the input value matches any of the other values. | Checking if a field matches an approved list of items. | In($Status, "Open", "Pending") |
IsBlank | IsBlank(input:any) | Indicates if a value is blank. | Checking if a user skipped a field. | IsBlank($Phone Number) |
Text & String Manipulation Functions
These functions allow you to clean, format, and extract specific pieces of information from text fields so your data remains standardized and readable.
Function | Signature | Description | Purpose | Example |
Contains | Contains(input:string, pattern:string) | Indicates if a string is contained within another string. | Checking if a specific word exists within a sentence. | Contains($Feedback, "excellent") |
EndsWith | EndsWith(input:string, pattern:string) | Indicates if a string ends with another string. | Validating suffixes (like checking an email domain). | EndsWith($Email, "@company.com") |
EscapeLike | EscapeLike(input:string) | Escapes %, _, and \ so a value is matched literally in a LIKE pattern. | Safely querying databases or validating specific characters. | EscapeLike($Search Term) |
Format | Format(format:string, [value:any]...) | Formats a string by replacing format items with string representations of other parameters. | Building clean text sentences by injecting variables. | Format("User {0} logged in", $User Name) |
Humanize | Humanize(input:string) | Formats a string into a more human readable format. | Making system-generated codes or IDs look natural. | Humanize($System Code) |
IndexOf | IndexOf(input:string, pattern:string) | Finds the first index of a string within another string. | Locating the exact position of a character. | IndexOf($Email, "@") |
LastIndexOf | LastIndexOf(input:string, pattern:string) | Finds the last index of a string within another string. | Locating the final occurrence of a character. | LastIndexOf($File Path, "/") |
Length | Length(input:string) | The length of a string. | Validating character limits (e.g., ensuring a ZIP code is 5 digits). | Length($Zip Code) |
RegexGetMatch | RegexGetMatch(input:string, pattern:string, [group:number]) | Attempts regex match and returns specified group if found. | Extracting complex data structures from a text field. | RegexGetMatch($Raw Data, "\d{4}") |
RegexIsMatch | RegexIsMatch(input:string, pattern:string) | Attempts regex match and indicates if found. | Advanced pattern validation (e.g., ensuring a valid email format). | RegexIsMatch($Email, "^\\S+@\\S+\\.\\S+$") |
RegexReplace | RegexReplace(input:string, pattern:string, replace:string) | Attempts regex match and replaces all matches. | Advanced find-and-replace using complex patterns. | RegexReplace($Text, "\s+", " ") |
Replace | Replace(input:string, pattern:string, replace:string) | Replaces a string within another string. | Swapping out specific words or characters. | Replace($Phone, "-", "") |
StartsWith | StartsWith(input:string, pattern:string) | Indicates if a string starts with another string. | Validating prefixes (like country codes on phone numbers). | StartsWith($Phone, "+1") |
Substring | Substring(input:string, start:number, end:number) | Extracts a substring from a string. | Pulling out a specific segment of an ID or code. | Substring($ID Code, 1, 4) |
ToLower | ToLower(input:string) | Converts a string to lower case. | Standardizing text formatting. | ToLower($Email Address) |
ToTitleCase | ToTitleCase(input:string) | Capitalizes the first letter of each word. | Formatting user names or company names properly. | ToTitleCase($First Name) |
ToUpper | ToUpper(input:string) | Converts a string to upper case. | Standardizing codes and acronyms. | ToUpper($State Code) |
Dates, Times & Record Functions
Perfect for managing schedules and workflows, these functions let you automatically calculate deadlines, compare timeframes, and timestamp when records are created or updated.
Function | Signature | Description | Purpose | Example |
Counter | Counter() | Returns a unique, incrementing number for each record created per form. | Generating unique identifiers, invoice numbers, or ticket IDs. | Format("TKT-{0}", Counter()) |
DateAdd | DateAdd(input:datetime, quantity:number, unit:dateunit) | Adds a quantity of date units (days, weeks, etc.) to a date/time. | Calculating deadlines, follow-ups, or expiration dates. | DateAdd($Start Date, 30, "days") |
DateIsAfter | DateIsAfter(input:datetime, compare:datetime) | Indicates if the first date is later than the second date. | Checking if a project or submission is overdue. | DateIsAfter($Submission Date, $Due Date) |
DateIsBefore | DateIsBefore(input:datetime, compare:datetime) | Indicates if the first date is earlier than the second date. | Checking if a deadline was met early. | DateIsBefore($Submission Date, $Due Date) |
RecordCompleted | RecordCompleted() | The date/time the current record was completed (submitted). | Automatically timestamping when a form was finalized. | RecordCompleted() |
RecordCreated | RecordCreated() | The date/time the current record was created. | Automatically timestamping when a form was started. | RecordCreated() |
RecordUpdated | RecordUpdated() | The date/time the current record was last updated. | Automatically timestamping the last edit made to a form. | RecordUpdated() |
