Skip to content

Data preparation and quality

Normalize phone numbers

Validate phone strings against international numbering-plan metadata, normalize to E.164 and return extensions separately.

Available recipeIncludes configuration, sample data and tests

Make it your own

Review the setup and limits below, then open an editable copy in Turbyn.

Use this recipe

Your selection stays with you through signup.

What it does

Uses the full libphonenumber-js numbering-plan metadata, explicit national country context, strict whole-string parsing and separate extensions. No carrier lookup or messaging occurs.

What to customize

Set defaultCountry, target, and invalidPolicy.

Run the included tests with your configuration and mappings. Review success, missing-input and failure results before publishing.

Expected outcome

This included example runs in dry-run mode with synthetic data. Integration tests separately cover provider responses using test doubles. It is not a live customer result.

Sample input

sample-input.json

{
  "inputFields": {
    "field1": "(202) 555-0123 ext 42"
  }
}
Sample output

sample-output.json

{
  "outputFields": {
    "output1": "+12025550123",
    "output2": "normalized",
    "output3": "{\"country\":\"US\",\"extension\":\"42\",\"reason\":\"Validated numbering-plan format; assignment and reachability are not verified.\"}"
  }
}

Returned fields

output1
normalized number
output2
normalized, invalid, ambiguous, or configuration_error
output3
JSON country, extension and reason, or parse failure details

What changes when it runs

Reads field1; returns normalized number and status without writing or sending messages.

Ready to try it with your rules?

Map your inputs, test a sample and publish the version you’ve checked.

Use this recipe