GoHighLevel Workflow Formatter Actions: Date, Text & Maths (2026) — HL Growth Partner, Dr Priya Jaganathan

GoHighLevel Workflow Formatter Actions: Date, Text & Maths (2026)

July 19, 2026

By Dr Priya Jaganathan, GoHighLevel Certified Admin · HL Growth Partner, Australia · Updated 1 October 2026 · 9 min read

Some links below are affiliate links — if you sign up through them, HL Growth Partner may earn a commission at no extra cost to you. It never changes what we recommend.

GoHighLevel workflow formatter actions are the quiet workhorses that turn messy form data into clean, usable values: tidy names, consistent phone numbers, readable dates and correctly formatted dollar amounts. Most agencies ignore them until a client complains that an SMS said "Hi JOHN" or showed a date in American order.

This guide walks through each HighLevel formatter action, what it actually does, and the real builds we use them for in Australian sub-accounts. You will also learn how to pass a formatter's output into later steps and how to test the lot before it touches a live contact.

Quick Facts

Where to find themAutomation > Workflows, then the plus (+) button to add an action
Formatter actionsDate/Time Formatter, Number Formatter, Text Formatter
Date/Time Formatter optionsFormat Date, Format Date & Time, Compare Dates
Number Formatter optionsText to Number, Format Number, Format Phone Number, Format Currency, Random Number
Companion actionMath Operation: add, subtract, multiply or divide numbers; add or subtract days, months or years on dates
Order of operationsNot supported inside a single Math Operation step; chain several steps instead

What GoHighLevel workflow formatter actions actually do

A formatter action takes an input, usually a contact field, a trigger value or a custom value, transforms it, and hands the result to the next steps in the workflow. It does not change the contact record on its own.

That second point catches people out. A formatter produces an output; it does not save anything until you pass that output into an action such as Update Contact Field, an SMS, an email or a webhook.

Think of formatters as the data-cleaning layer of your automation. They sit between "the form was submitted" and "send the message", and they make sure what goes out looks like a human typed it carefully.

The Date/Time Formatter: GHL date formatting without the headaches

The Date/Time Formatter has three options. Each one detects the incoming format automatically, so you mainly choose what you want out the other side.

  • Format Date converts a date into a format you pick from a list.
  • Format Date & Time does the same for values that include a time.
  • Compare Dates takes a start date and an end date and returns the difference in days.

Real use cases for Australian businesses

The most common job is turning a stored date into day-month-year order before it lands in an SMS. Australian clients read 04/05 as 4 May, and a reminder that says otherwise creates no-shows.

Compare Dates is brilliant for "days until" logic. Compare today against a policy expiry or membership end date, then route the contact with an If/Else branch based on the number of days returned.

If you are building expiry sequences, our walkthrough on setting up renewal reminder workflows shows where a Compare Dates step slots in neatly.

The Number Formatter: GHL number and currency formatting for SMS and email

The Number Formatter covers five jobs. Below is how we use each one in client builds.

OptionWhat it doesTypical use
Text to NumberTurns a text value such as "$12,345.67" into a plain numberCleaning a quote amount captured in a text field before maths
Format NumberApplies a numeric format to a valueAdding thousands separators to a figure in a report email
Format Phone NumberReformats a phone number, for example into international formatNormalising numbers before sending to another platform by webhook
Format CurrencyFormats a number as currency for a chosen localeShowing "$1,250.00" rather than "1250" in an SMS
Random NumberGenerates a random numberSimple split tests or random team assignment

Format Currency is the one clients notice. A deposit request that reads "$450.00" looks professional; "450" looks like a typo, and it is a five-minute fix.

Text to Number matters more than it seems. If a value arrives as text with symbols and commas, convert it first, then calculate with it, then format it back to currency for the message.

The Text Formatter: HighLevel formatter actions for clean names and messages

The Text Formatter is the broadest of the three. It handles capitalisation, cleaning, extracting and replacing text.

  • Upper Case, Lower Case and Title Case for consistent capitalisation.
  • Split breaks text into segments using a separator you enter.
  • Trim shortens text to a set length, with options to skip characters from the start and add an ellipsis.
  • Find returns the position of the first match of a piece of text.
  • Replace swaps specified text for a new value.
  • Default Value returns a fallback when the input is empty.
  • Word Count and Remove HTML Tags for analysis and plain-text cleanup.

Normalising name capitalisation

Leads type their names however they like: "sarah", "SARAH" or "sArah". Run the first name through Title Case, then write the result back with Update Contact Field so every future message greets them properly.

Splitting a full name

Some lead forms and imported lists only capture "Full Name". Use Split with a space as the separator to pull out the first part for the first name field. Check the output in a test run, because names with prefixes or double-barrelled surnames will not always split cleanly.

Default values for empty fields

Default Value saves awkward messages. If the first name is blank, return "there" so the SMS reads "Hi there" instead of "Hi ,".

Formatters don't make your automation smarter. They make it look like a careful human sent every message, which is what earns replies.

Math Operation and the GHL date and number formatter combo

Math Operation is not a formatter, but it is the partner you will reach for most. It adds, subtracts, multiplies or divides numeric fields, and adds or subtracts days, months or years on date fields.

Unlike the formatters, it writes its result straight into a field. In the update field dropdown you can choose from Standard Fields, Custom Fields or Custom Values, and the source and destination must be the same field type.

Two limits to plan around. Complex expressions needing order of operations are not supported in one step, so break calculations into several actions. Date maths also only takes positive increments, so use subtract rather than a negative number.

Example: calculate a 30% deposit

  1. Math Operation: multiply the "Quote Amount" custom field by 0.3 and store it in a "Deposit Amount" monetary field.
  2. Number Formatter: Format Currency on "Deposit Amount" for an Australian locale.
  3. Send SMS: insert the formatted output from step 2 into the message.

Example: compute a renewal date

  1. Math Operation: add 12 months to "Start Date" and store it in a "Renewal Date" date field.
  2. Date/Time Formatter: Format Date on "Renewal Date" into day-month-year order.
  3. Send Email: reference the formatted date in the body.

Not on HighLevel yet? Start with a free 30-day trial here — long enough to build everything in this guide before you pay a cent.

Referencing formatter outputs in later workflow steps

Each formatter step creates an output value. In any later action, open the custom value picker (the {} icon in the message or field editor) and select the output from that specific formatter step.

Name every formatter step clearly, such as "Format: deposit AUD" or "Text: first name title case". When a workflow has four formatters, the picker becomes guesswork unless the step names tell you what each one holds.

Decide whether the value needs to live beyond this workflow run. If it does, write it to a custom field with Update Contact Field. If it is only for one message, reference the step output directly and skip the extra field.

For values shared across the whole sub-account, such as a standard deposit percentage, store them centrally. Our guide to setting up GoHighLevel custom values covers the naming approach we use.

Where the value goesBest approach
A single SMS or email in this workflowReference the formatter step output directly
Future workflows, reports or smart listsSave it with Update Contact Field into a custom field
A branching decisionFeed the output into an If/Else condition
An external platformSend the output in a webhook payload

Branching on formatter output is where these actions really pay off. See our guide to If/Else conditions in workflows for structuring those branches.

When formatters are not enough

If you need something formatters cannot do, like parsing a messy address or complex conditional maths, the Custom Code action in GoHighLevel workflows is the next step up. Try formatters first, though, because they are easier for the next admin to read.

Testing GoHighLevel workflow formatter actions before go-live

Formatters fail quietly. A blank input, an unexpected date format or a stray currency symbol produces a wrong value rather than an error, so you have to look.

  1. Create a test contact with deliberately messy data: lowercase name, blank fields, unusual phone formats.
  2. Run the workflow against that contact using the builder's test option or the real trigger.
  3. Open the workflow's execution logs and check each formatter step's input and output.
  4. Confirm the final SMS or email reads correctly on an actual phone.
  5. Repeat with a "clean" contact to make sure you have not broken the normal case.

Our full process for testing and debugging GoHighLevel workflows covers execution logs in more detail.

For exact option behaviour, the official HighLevel help articles on the Number Formatter action and the Math Operation action are worth bookmarking, as HighLevel updates these actions regularly.

Common mistakes to avoid

  • Assuming a formatter saves to the contact. It only produces an output until you write it back with Update Contact Field.
  • Doing maths on a text value. Convert with Text to Number first, or the calculation will not behave as expected.
  • Trying to fit a whole formula into one Math Operation step. Break it into ordered steps instead.
  • Leaving steps with default names, which makes the custom value picker confusing later.
  • Forgetting blank inputs. Add a Default Value step for fields that are often empty.
  • Only testing with tidy data. Real leads are messy, so test with messy contacts.

If you want your workflows audited and rebuilt with clean, formatter-driven data from day one, book a strategy call with the HL Growth Partner team.

Book Your Strategy Call →

Or if you just need the software first: grab the 30-day HighLevel trial and book us when you're ready to scale it.

Frequently asked questions

What are GoHighLevel workflow formatter actions?

They are workflow actions that transform data mid-automation. The main ones are the Date/Time Formatter, Number Formatter and Text Formatter, which reformat dates, numbers, currency, phone numbers and text so later steps use clean values.

Does a formatter action update the contact record?

No. A formatter creates an output value for later steps to use. To keep the result on the contact, add an Update Contact Field action and insert the formatter output into the relevant field.

How do I use a formatter's output in an SMS or email?

Open the message editor in a later step and use the custom value picker. Select the output from the specific formatter step, which is why clear step names make a big difference.

Can I add days to a date field in GoHighLevel?

Yes, with the Math Operation action. It can add or subtract days, months or years on a date field and store the result in the same or a different date field. Use positive values only, choosing subtract when you need an earlier date.

How do I format currency in Australian dollars for an SMS?

Use the Number Formatter with the Format Currency option and choose the appropriate locale and currency. Then insert that formatter step's output into your SMS rather than the raw field value.

Can I split a full name into first and last names?

Yes. Use the Text Formatter's Split option with a space as the separator, then save the result into the right contact fields. Test it with a few unusual names first, as prefixes and multi-part surnames may not split as you expect.

Why is my Math Operation giving the wrong answer?

The usual causes are a text value being used as a number, or a multi-part formula squeezed into one step. Convert text first with Text to Number, and break formulas into separate Math Operation steps in the right order.

Data and fields

Workflow building blocks

Date-driven automations and workflow management

Dr PriyaJaganathan

Dr PriyaJaganathan

Dr Priya Jaganathan is a Go High Level Certified Admin, trusted CRM consultant based in Australia, and a keynote speaker at SaaSpreneur Sydney and Level Up 2025 in Dallas.

Back to Blog