---
title: "Validate contact data in 8x8"
url: "https://lookvalid.com/integrations/8x8.md"
canonical_url: "https://lookvalid.com/integrations/8x8"
last_updated: "2026-10-22"
type: "how-to"
summary: "Format and type customer phone numbers before they reach an 8x8 agent screen or an outbound campaign."
related: ["https://lookvalid.com/integrations.md", "https://lookvalid.com/docs/api/phone.md", "https://lookvalid.com/docs/quickstart.md"]
---

# Validate contact data in 8x8

Format and type customer phone numbers before they reach an 8x8 agent screen or an outbound campaign.

In a contact center, an agent who sees a number in five different formats, or a campaign that dials a number missing its country code, loses time on every interaction. 8x8 Contact Center lets administrators add custom fields to the Local CRM customer object that agents then see in Agent Console, so a number normalized to one international form with a known type can sit in fields of its own and agents and dialing lists work from consistent data.

## What LookValid checks

- [Phone Numbering-Plan Validation](https://lookvalid.com/products/phone.md): Parses any number against its country numbering plan and returns E.164, national and international formats plus the number type. It cannot tell if a line is active. (1 credit per valid number)
- [Country Calling Codes](https://lookvalid.com/products/country-code.md): Turns a calling code or country name into dialing rules and example numbers, handy when agents have to guess the prefix for a caller abroad. (1 credit per lookup (an unknown code, country or name is free))
- [IP Intelligence](https://lookvalid.com/products/ip.md): Returns country, region and network details for the address behind a web callback request, which helps route it to a regional queue. (1 credit per lookup)

## Connect it in four steps

1. Get a LookValid account and an API key from its dashboard.
2. Hold the key as the LOOKVALID_API_KEY environment variable of the service you host, so it stays on your server and out of Configuration Manager and anything agents can open.
3. Post the customer number to the phone check when a record is saved; a found value of false means it could not be parsed, so flag the record for a person, and an error answer should be logged and retried later.
4. In 8x8 Configuration Manager open CRM, then the Fields tab, and add three Customer custom fields named dialNumber, displayNumber and numberKind (Text type, names up to 32 alphanumeric characters; the type cannot be changed after saving). Your service then fills those values on each customer record it sends to the Local CRM.

A small service you host beside your CRM or contact store that checks a number when the record is saved and writes the formatted values for the three Customer custom fields back. The call is `POST https://YOUR_API_HOST/v1/phone`.

```js
const API_URL = "https://YOUR_API_HOST/v1/phone";

export async function validateEightByEightPhone(value) {
  const response = await fetch(API_URL, {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.LOOKVALID_API_KEY}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      "phone": value,
    }),
  });
  const result = await response.json();
  if (!response.ok) throw new Error(`${result.error.code}: ${result.error.fix}`);
  if (!result.found) return null;
  return {
      "dialNumber": result.data?.e164 ?? null,
      "displayNumber": result.data?.national_format ?? null,
      "numberKind": result.data?.number_type ?? null,
  };
}
```

| Response field | Goes into |
| --- | --- |
| `data.e164` | dialNumber |
| `data.national_format` | displayNumber |
| `data.number_type` | numberKind |

## Without code

With an automation platform you can do the same through its generic HTTP request step: trigger when a contact is created in the system that feeds 8x8, post the number to the LookValid endpoint with the key in the Authorization header, and add an action that writes the three values back into the matching custom fields. No dedicated app is needed, and the field setup in Configuration Manager is a one-time admin task.

## Questions

### What does it cost in credits per number?

Each phone check draws from your LookValid balance at the rate on the pricing page.

### Will this tell agents whether the customer will pick up?

No. It checks formatting and the numbering plan only, so it says nothing about whether the line is active or who holds it today.

### Where should the key be kept?

On the server that runs your service, as LOOKVALID_API_KEY. Do not place it in a screen or script that agents or customers can open.

## Sources

- [8x8 Contact Center for Admins: understand types of CRM fields](https://docs.8x8.com/8x8WebHelp/VCC/auto-dialer/crmcustomfieldstypes.htm), read 2026-10-18
- [8x8 help: configure CRM fields](https://help.8x8.com/documentation/docs/configure-crm-fields), read 2026-10-18

## Related

- [LookValid integrations](https://lookvalid.com/integrations.md)
- [Phone Numbering-Plan Validation reference](https://lookvalid.com/docs/api/phone.md)
- [Quickstart](https://lookvalid.com/docs/quickstart.md)
