Skip to content

Text Transform

Transform messy strings, normalize CRM data, run quick math, or format dates without leaving the workflow editor. Text Transform gives you a single dropdown with contextual inputs so every formatting option lives in one streamlined action.

Use Text Transform any time you need to massage CRM values before writing them back to HubSpot or sending them downstream—names, emails, deal amounts, close dates, and more.

Enter static text or use personalization tokens to reference properties. You can also combine both.

Examples:

{{contact.firstname}}
{{deal.amount}}
Customer {{contact.firstname}} has {{deal.amount}}
Custom static text

Choose the operation to run. The UI automatically reveals any additional inputs that transformation needs (e.g., “Number to add” or “Currency code”).

Depending on the dropdown selection, you may see extra fields:

TransformationExtra fields
prefix, suffixprefixValue, suffixValue
replacereplaceSearchValue, replaceReplaceValue, replaceAll
add_number, subtract_number, multiply_number, divide_numberMatching addNumberValue, subtractNumberValue, etc.
round_numberroundNumberPrecision
format_numberformatNumberLocale, formatNumberMinimumFractionDigits, formatNumberMaximumFractionDigits
format_currencyformatCurrencyLocale, formatCurrencyCode, formatCurrencyDisplay
format_dateformatDateLocale, formatDateStyle, formatTimeStyle, formatDateTimezone

All other transforms just need the base text.

The formatted result you can map into properties or later workflow steps.

Input: 1234.5
Transform: format_currency (locale=en-US, currency=USD)
Output (transformedText): $1,234.50
  • lowercase, uppercase: enforce consistent casing
  • title_case: capitalizes every word (great for names)
  • capitalize_first: only capitalizes the very first character
  • trim, trim_start, trim_end: remove whitespace
  • prefix, suffix: prepend or append static text
  • replace: simple find-and-replace with optional “replace all”
  • add_number, subtract_number, multiply_number, divide_number: lightweight math for lead scores, counters, or projections
  • round_number: keep a defined number of decimal places
  • format_number: locale-aware thousands separators and decimal symbols
  • format_currency: full currency strings with locale, currency code, and symbol/name controls
  • format_date: feed ISO dates/datetimes and output localized strings with your preferred style, timezone, and optional time component
  • Text: acme industries
  • Transform: title_case
  • Output: Acme Industries
  • Text: {{deal.dealname}}
  • Transform: prefix
  • Extra field prefixValue: [Enterprise]
  • Output: [Enterprise] Customer Portal Expansion
  • Text: {{contact.hs_lead_score}}
  • Transform: add_number
  • Extra field addNumberValue: 5
  • Output: 72
  • Text: {{deal.arr}}
  • Transform: format_currency
  • Extra fields: formatCurrencyLocale = en-US, formatCurrencyCode = USD
  • Output: $24,500.00
  • Text: {{deal.closedate}}
  • Transform: format_date
  • Extra fields: formatDateStyle = long, formatTimeStyle = none, formatDateLocale = en-US, formatDateTimezone = America/New_York
  • Output: September 30, 2025

Note: Locale codes use hyphens (e.g., en-US, fr-FR, de-DE) not underscores.

When using format_number, format_currency, or format_date, you can specify locale codes to control how numbers and dates are displayed. All locale codes use hyphens (not underscores).

RegionCodeNumber FormatCurrency Format
United Statesen-US1,234.56$1,234.56
United Kingdomen-GB1,234.56£1,234.56
Germanyde-DE1.234,561.234,56 €
Francefr-FR1 234,561 234,56 €
Japanja-JP1,234.56¥1,235
Spaines-ES1.234,561.234,56 €
Italyit-IT1.234,561.234,56 €

If left empty, all locale fields default to en-US.

  • Normalize casing for emails and names
  • Trim whitespace before writing properties
  • Add prefixes/suffixes for attribution tags
  • Increment numeric counters on each workflow pass
  • Round metrics to whole numbers for dashboards
  • Present ARR/MRR in currency format when notifying teams
  • Format ISO dates for internal notifications
  • Output localized numbers for regional teams
  • Perform find-and-replace before syncing data to other systems
  • Trim first: Remove leading/trailing whitespace before other transforms.
  • Validate inputs: Use if/then branches to ensure text or numeric values exist before transforming.
  • Locale format: Always use hyphens in locale codes (en-US, not en_US). If you enter underscores, they’ll be auto-converted, but it’s better to use the correct format.
  • Plan for locale: Match locale/timezone to your target audience to avoid confusion. Defaults to en-US if left empty.
  • Chain actions: Pair with Search & Replace or Match Regex for more advanced flows.
  • Keep originals: Store the original value if you might need to audit or revert later.
TransformationInputOutput
lowercaseJohn.Doe@EXAMPLE.comjohn.doe@example.com
uppercasesku-42SKU-42
title_casejohn doeJohn Doe
capitalize_firstenterprise upgradesEnterprise upgrades
trim hello hello
prefixRenewal (prefix [VIP] )[VIP] Renewal
replaceHubSpot CRM (replace CRM → Platform)HubSpot Platform
add_number67 (+5)72
round_number123.4567 (precision 2)123.46
format_number1234567.89 (locale de-DE)1.234.567,89
format_currency2500 (USD, en-US)$2,500.00
format_date2025-09-22T14:30:00Z (long, UTC)September 22, 2025