|
/ Documentation /Core Features/ OttoKit Text Formatter

OttoKit Text Formatter

Working with messy text data? The Text Formatter has you covered. This tool eliminates the pain of common text tasks that would otherwise consume hours of your time.

Need to pull email addresses from a customer list? Extract phone numbers from mixed data? Convert HTML to Markdown for your documentation? You can clean up some text by removing extra spaces and fixing the capitalization. The Text Formatter handles all of this and more with just a few clicks.

Getting Started

  1. Add the Formatter app as an action
  2. Under the Select Event field, choose Text
  3. Select your desired action from the available options

Related Formatters

For additional data manipulation capabilities, explore these related formatters:

Available Text Actions

Default value

This sets a fallback value when the input text is empty or null, ensuring your workflow continues smoothly even with missing data.

Enter Key: Map the key you would like to check for empty responses.

Enter Default Value: Enter default value that will be passed, if there is no response in the mapped key.

Copy Of Zight 2025 8 21 At 2.47.29 PM 1024x482

Result:

Copy Of Zight 2025 8 21 At 2.49.59 PM 1024x487

Find

It searches for specific text patterns within your input string and returns matching results.

Enter Text: Enter the text string where you would like to search a specific text.

Enter Find Text: Enter the value you want to search for. If value is found, the result will indicate the position of the string from the start, if it not located it will return -1.

Skip Characters: Enter the number of characters to pass before searching. Found value encountered before this point will be overlooked.

Copy Of Zight 2025 8 21 At 3.25.53 PM 1024x487

Result:
It returns the position of the word “OttoKit” as 0

Screenshot 2025 08 21 152740 1024x488

Replace:

This action will replaces specified text or patterns with new content. Perfect for bulk text substitutions and data standardization.

Enter Text: Enter text string where you would like to search and replace a specific text.

Enter Find Text: Enter the text you want to search for

Enter Replace: Enter the text you would like to replace with the found text. Leave blank to delete the found text

Screenshot 2025 08 21 235525 1024x442

Result:

Annotation On 2025 08 21 At 23 57 16 1024x444

Pluralize: 

It automatically converts singular words to their plural forms

Enter Text: Enter the text you want to pluralize.

Remove HTML tags: 

This action will strip all HTML markup from text, leaving only the plain content.

Enter HTML: HTML you would like to convert to plain text.

Annotation On 2025 08 22 At 12 06 12 1024x490

Result:

Screenshot 2025 08 22 120517 1024x488

Split text: 

This will divide text into multiple parts based on a specified delimiter. 

Enter Text: Enter string you would like to split to multiple strings.

Enter Separator Value: Enter character or word that will be used as a separator for the string. [:tab:], [:newline:], [:return:] can also be used as separators. Default separator is [space]

Segment Index: Select the segment of text to return after splitting. You can choose: first, second, last, second to last and all. The default is first.

Split text on length: 

Breaks text into chunks of a specified character length, useful for formatting constraints like when posting to a social media platform that has a character limit.

Trim Whitespace: 

This removes all leading and trailing spaces from text.

Enter Text: Enter text from where you would like to remove leading and trailing whitespace from.

Truncate: 

This will shorten text to a specified length, with optional truncation indicators.

Enter Text: Enter text that you would like to truncate.

Max Characters: Enter the maximum number of characters you want for the truncated result.

Skip Characters: Enter the number of characters to skip from the left of the input text.

Add Three Dots at the End? If yes is selected, the truncated text will be shortened by three characters and “…” will be added at the end. You can also map values here. e.g. yes, no

Screenshot 2025 08 22 132618 1024x486

Result:

The text is truncated, and a part of it is returned

Screenshot 2025 08 22 132701 1024x485

Word Count: 

This will count the number of words in the provided text.

Enter Text: Enter the text you want to know the word count of.

Count characters:

Unlike the “Word Count” action, this returns the total character count, including or excluding spaces as specified.

Enter Text: Enter the text you wish to count the characters of.

Extract Email address:

This action will identify and extract email addresses from text using pattern recognition.

Enter Text: Enter the source text you would like to find email addresses from.

Annotation On 2025 08 22 At 13 56 29 1024x485

Result:

Screenshot 2025 08 22 135331 1024x487

Extract Number: 

This finds and extracts numerical values from mixed text content.

Enter Text: Enter the text you would like to find and copy a number from.

Annotation On 2025 08 22 At 17 19 46 1024x487

Result:

Screenshot 2025 08 22 171551 1024x488

Extract Pattern: 

Uses custom regular expressions to extract specific text patterns.

Enter Text: Text you would like to find a pattern from

Enter Pattern: Enter a Python Regular Expression to find a match for, e.g. f[o]+ (bar).

Match All?: You can choose yes or no here to match all occurrences of pattern and return results as line items. You can also map value here. e.g. yes, no

Ignore Cases: You can choose yes or no here to Ignore case when matching. You can also map value here. e.g. yes, no

Screenshot 2025 08 22 181220 1024x486

Result:

Unnamed 1024x486

Extract Phone number: 

It identifies and extracts phone numbers in various formats from text.

Enter Text: Enter source text you would like to find phone numbers from.

Select Phone Number Format: There are three formats to select from here, the North American Number Plan, the International and the Universal. The Universal search is the default option to find many NANP and International numbers. If this does not work consistently, try a specific format (NAMP or International), which will find most phone numbers, but can also result in false positives.

Annotation On 2025 08 25 At 09 37 01 1024x444

Result:

Screenshot 2025 08 25 093607 1024x447

Extract URL:

This action will locate and extract all web URLs from text content.

Enter Text: Enter source text you would like to find web URLs from.

Annotation On 2025 08 25 At 09 49 33 1024x443

Result:

Screenshot 2025 08 25 094840 1024x444

Capitalize: 

It converts the first letter of each word to uppercase while keeping the rest lowercase.

Enter Text: Enter the text you would like to capitalize.

Screenshot 2025 08 25 100106 1024x447

Result:

Screenshot 2025 08 25 100146 1 1024x446

Lowercase: 

This will convert all text to lowercase letters.

Enter Text: Enter the text you want to convert to lowercase.

Title Case: 

Formats text with proper title capitalization (first letter of major words capitalized).

Enter Text: Enter the text you want to convert to titlecase.

Convert HTML to Markdown: 

Transforms HTML markup into Markdown syntax for documentation and content management.

Enter HTML: Enter HTML you would like to convert to Markdown.

Screenshot 2025 08 25 104426 1024x489

Result:

Screenshot 2025 08 25 104458 1024x491

Convert Markdown to HTML: 

This does the opposite of converting “HTML markup into Markdown” text. It converts Markdown to HTML

Enter Mardown : Enter Mardown you would like to convert to HTML.

Convert to ASCII: 

Transforms text to ASCII encoding, removing special characters and accents.

Enter Text: Enter text you would like to convert to ASCII. All non-ASCII characters will be removed.

URL Encode:

It encodes text for safe use in URLs by converting special characters.

Enter URL: Enter the URL that you would like to encode.

Screenshot 2025 08 25 122252 1024x488

Result:

Unnamed 1 1024x489

URL Decode: 

This will decode URL-encoded characters back to their original form.

Enter URL: Enter the URL that you would like to decode.

URL parameter encode: 

Specifically encodes text for use as URL parameters.

Enter URL: Enter the URL that you would like to encode parameters.

Text In between: 

Extracts text that appears between two specified delimiters or markers.

Enter Text: Text you would like to parse.

Text Match: After – Enter the text after which you want to extract the string

Text Match: Before – Enter the text before which you want to extract the string

Annotation On 2025 08 25 At 14 03 45 1024x488

Result:

Screenshot 2025 08 25 140238 1024x489

Normalize accented Letters: 

This action will convert accented characters to their non-accented equivalents.

Enter Text: Enter the accented text you would like to normalize.

The example in the screenshot shows a sentence: “The café in Montréal serves délicious crêpes, while the naïve tourist enjoyed a piña colada at the résumé writing workshop” containing accented characters

Screenshot 2025 08 25 141120 1024x489

Result: 

Unnamed 2 1024x492

Spreadsheet type formula: 

This action will process text using spreadsheet-style formulas and functions.

Enter input: Please check supported formulas here.

In the example below, the CONCATENATE(“A1”, ” – “, “B1”) formula was used to join two texts.

Screenshot 2025 08 25 143756 1024x488

Result:

Screenshot 2025 08 25 143826 1024x488

PHP Serialize: 

This converts data into a PHP serialized format for cross-platform compatibility.

Click on the Add New Key-Value pair

Enter Key* and Enter Value*

Screenshot 2025 08 25 150131 1024x487

Result:

Screenshot 2025 08 25 150159 1024x489

Convert to MD5: 

This action generates an MD5 hash of the input text for checksums and verification.

Enter Text: Enter the text you want to convert to md5.

The example below converts “[email protected]” to it MD5 harsh value

Screenshot 2025 08 25 151145 1024x490

Result:

Screenshot 2025 08 25 150952 1024x489

Convert to SHA-256

This function creates a SHA-256 hash for enhanced security and data integrity verification.

Enter Text: Enter the text you want to convert to SHA-256.

The example below converts “[email protected]” to it SHA-256  value

Screenshot 2025 08 25 155825 1024x487

Result:

Screenshot 2025 08 25 155945 1024x490

Base64 Encode: 

Encodes text into Base64 format for safe data transmission and storage.

Enter Text: Enter the text you want to convert to Base64 encoding.

The example below converts “[email protected]” to Base64  

Screenshot 2025 08 25 160852 1024x487

Result:

Screenshot 2025 08 25 160937 1024x492

Base64 Decode: 

Decodes Base64 encoded text back to its original format.

Enter Text: Enter the text you want to convert to Base64 encoding.

Practical Use Cases

Below are three practical examples.

Standardize Contact Names from Form Submissions

Scenario: People who fill out your contact form type their names in all kinds of formats, all caps, all lowercase, mixed, with extra spaces. Before saving a new contact to your CRM, you want to make sure the name is formatted consistently in Title Case. The Title Case action in the Text Formatter app handles this automatically.

Step 1: Set Up the Trigger

  1. Create a new workflow in OttoKit.
  2. Click the trigger area and search for your form plugin, such as SureForms, Gravity Forms, or WPForms.
  3. Select New Form Submission as the trigger event.
  4. Connect your account or WordPress site and select the specific form you want to monitor.
  5. Click Save Trigger, then Fetch Data to load a sample submission. This gives you the name field to use in the next step.

Step 2: Add the Formatter App

  1. Click the + button below the trigger.
  2. Search for Formatter > Text and select it.
  3. Choose Title Case as the action.
  4. Click Continue to open the Configure tab.
  5. Enter Text (required): Use @ to map the name field from your form submission trigger. This is the text that will be converted to Title Case.
  6. Click Continue, then click Test. The output will show the name formatted in Title Case, for example, John Smith becomes John Smith.
  7. Click Save.

Note: Title Case capitalizes the first letter of each word. If the name comes through as all lowercase or all uppercase, the formatter will correct it automatically.

Step 3: Save the Contact to Your CRM

  1. Click the + button below the Formatter step.
  2. Search for your CRM app, for example, HubSpot or Capsule CRM, and select Create Contact.
  3. Connect your CRM account.
  4. First Name: map the Title Case output from the Formatter step. This ensures the name is stored in a consistent format.
  5. Email Address: map the email field from the form submission trigger.
  6. Fill in any other relevant fields from the trigger.
  7. Click Test, then Save.
  8. Click Publish Workflow.

That is it. Now every form submission goes through the Formatter first so that names are always saved to your CRM in a clean, consistent format.

Extract a Phone Number from a Free-Text Message and Save It to a CRM

Scenario: Customers sometimes include their phone number in the message body of a contact form, written in different styles, such as “call me on 555-123-4567” or “my number is (555) 123 4567”. Instead of manually reading each message to find the number, you can use the Extract Phone Number action to pull it out automatically and save it to the correct field in your CRM.

Step 1: Set Up the Trigger

  1. Create a new workflow in OttoKit.
  2. Click the trigger area and search for your form plugin.
  3. Select New Form Submission as the trigger event.
  4. Connect your account or WordPress site and select the relevant form.
  5. Click Save Trigger, then Fetch Data. Make sure your sample submission includes a message field that contains a phone number.

Step 2: Add the Formatter App

  1. Click the + button below the trigger.
  2. Search for Formatter > Text and select it.
  3. Choose Extract Phone Number as the action.
  4. Click Continue.
  5. Enter Text (required): use @ to map the message body field from the form submission trigger. This is the text OttoKit will scan to find the phone number.
  6. Fill in the format field:
FieldWhat to Enter
Select Phone Number FormatChoose Universal to extract phone numbers in any format, regardless of country or style. Use NANP for North American numbers only, or International for numbers written with a country code.
  1. Click Continue, then click Test. The output will show the extracted phone number as a clean string.
  2. Click Save.

Note: If the message body contains more than one phone number, the Extract Phone Number action returns the first one it finds. If no phone number is found, the output will be empty.

Step 3: Save the Phone Number to Your CRM

  1. Click the + button below the Formatter step.
  2. Search for your CRM app and select Create Contact or Update Contact.
  3. Connect your CRM account.
  4. Phone Number: map the extracted phone number output from the Formatter step.
  5. Email Address: map the email field from the form trigger.
  6. Fill in any other relevant fields from the form submission.
  7. Click Test, then Save.
  8. Click Publish Workflow.

That is it. Now every form submission is automatically scanned for a phone number, and the result is saved to the correct field in your CRM, no manual searching required.

Set a Fallback Name Before Sending a Personalised Email Campaign

Scenario: You are sending a personalised email to a list of contacts, and you want to greet each person by their first name. The problem is that some contacts in your list do not have a first name saved. If you map an empty field into the email greeting, the email ends up reading “Hi,” which looks broken. The Default Value action in the Text Formatter app lets you set a fallback, such as “there”, so the email reads “Hi there” when the name is missing.

Step 1: Set Up the Trigger

  1. Create a new workflow in OttoKit.
  2. Click the trigger area and search for your email or CRM app, for example, Mailchimp or Google Sheets.
  3. Select the event that starts your send process, for example, New Row Added or Subscriber Added.
  4. Connect your account.
  5. Click Fetch Data, then Save Trigger. Load a sample record that has an empty or missing first name field so you can test the fallback correctly.

Note: To test the fallback properly, make sure you fetch sample data where the first name field is empty or not present. This lets you verify that the Default Value kicks in correctly when the field has no value.

Step 2: Add the Formatter App

  1. Click the + button below the trigger.
  2. Search for Formatter > Text and select it.
  3. Choose Default Value as the action.
  4. Click Continue.
  5. Fill in the fields:
FieldWhat to Enter
Enter KeyUse @ to map the first name field from your trigger. This is the value OttoKit will check. If it is empty or missing, the fallback will be used instead.
Enter Default ValueType the fallback text to use when the key field is empty. For example: there. This means the email greeting will read “Hi there” when the name is missing.
  1. Click Continue, then click Test. If the first name is empty in the sample data, the output will show your fallback value. If it has a value, the output will show the original name.
  2. Click Save.

Step 3: Send the Personalised Email

  1. Click the + button below the Formatter step.
  2. Search for Gmail (or your preferred email app) and select Send Email.
  3. To: map the contact email from the trigger.
  4. Subject: Enter your email subject, for example: A quick note for you.
  5. Body: write your message and use @ to map the Default Value output from the Text Formatter step into the greeting. For example: Hi [map Default Value output], we have something we think you will find useful.
  6. Click Test, then Save.
  7. Click Publish Workflow.

That is it. Now every contact in your list gets a personalised greeting, and contacts without a saved first name receive a clean fallback instead of a broken greeting.

Was this doc helpful?
What went wrong?

We don't respond to the article feedback, we use it to improve our support content.

Need help? Contact Support
Scroll to Top