> For the complete documentation index, see [llms.txt](https://atlas.anywhere.now/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://atlas.anywhere.now/channels-integrations/setting-up-integrations/phone-number-formatting-and-normalization.md).

# Phone-number formatting and normalization

Understand where phone-number formatting, recognition, parsing, and normalization are configured across WebAgent, CRM Service, CTI plugins, and callback.

Phone-number handling can happen in more than one place. Before changing a setting, decide which part of the customer journey owns the number at that moment: WebAgent contact data, CRM Service lookup, a CTI plugin URL, or callback routing.

Use this page as a route to the right configuration surface. Keep the exact provider setting names on the provider or feature page.

## Choose the right surface

| Surface                       | Use it when                                                                                                                          | Main setting examples                                                                                    |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------- |
| **WebAgent service settings** | WebAgent reads contact-list values that are not already in E.164 format and needs a default country or region during parsing.        | `DefaultPhoneNumberRegion`                                                                               |
| **CRM Service settings**      | CRM Service searches provider data by caller or contact phone number and must match stored phone-number formats.                     | `DefaultPhoneNumberRegion`, `PhoneNumberFormat`, provider-specific matching mode                         |
| **CTI plugin URL formatting** | A CRM integration passes a phone-number link to WebAgent and the URL must use a specific display or URI format.                      | `phoneformat`                                                                                            |
| **Callback settings**         | A caller enters or is associated with a callback number that must be validated or normalized before the outbound callback is placed. | `CallbackDefaultRegion`, `EnableCallbackPhoneNumberValidation`, `EnableCallbackPhoneNumberNormalization` |

## Design rule

Prefer one normalization point for each journey. If a number is already stored or produced in E.164 format, do not add a regional parsing assumption later in the chain unless the customer environment explicitly needs it.

For example:

1. A CRM record can store an E.164 number.
2. CRM Service can match that number without wildcard formatting.
3. A CTI plugin can pass the number to WebAgent without reformatting.
4. Callback can validate only numbers entered by the caller, not numbers that were already normalized upstream.

## Validate changes

When changing phone-number handling:

1. Test a known E.164 number.
2. Test a national-format number for the configured region.
3. Test a number with spaces, brackets, or punctuation if the source data contains them.
4. Test the full path that consumes the number, such as CRM lookup, click-to-call, or callback.
5. Confirm that the changed setting does not alter an unrelated phone-number journey.

## Related topics

Go to **Configure WebAgent service settings** for `DefaultPhoneNumberRegion`.

{% content-ref url="/pages/uz9Z3Gah15r867xD0ZLz" %}
[Configure WebAgent service settings](/channels-integrations/webagent/configure-webagent-service-settings.md)
{% endcontent-ref %}

Go to **Configure CRM Service settings** for CRM Service phone-number matching modes.

{% content-ref url="/pages/6tRQuVlsVdsXbbJzhSHG" %}
[Configure CRM Service settings](/channels-integrations/crm-service/configure-crm-service-settings.md)
{% endcontent-ref %}

Go to **CTI plugins** for `phoneformat` and CRM URL formatting.

{% content-ref url="/pages/ocYezaRe8AqILzR0FMKq" %}
[Embed WebAgent in a CRM system (CTI)](/channels-integrations/cti-plugins.md)
{% endcontent-ref %}

Go to **Campaign Dialer** for callback number validation and normalization settings.

{% content-ref url="/spaces/gIhRKIrtrwqPt8cNlAy6/pages/HB0STNvbEOd4HkYqJ69e" %}
[Configure the Campaign Dialer](/contact-center-configuration/manage-outbound-dialing/campaign-dialer.md)
{% endcontent-ref %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://atlas.anywhere.now/channels-integrations/setting-up-integrations/phone-number-formatting-and-normalization.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
