---
title: "Validate contact data in Aircall"
url: "https://lookvalid.com/integrations/aircall.md"
canonical_url: "https://lookvalid.com/integrations/aircall"
last_updated: "2026-10-22"
type: "how-to"
summary: "Receive call events from Aircall in a small webhook handler and check the caller number with a numbering-plan lookup."
related: ["https://lookvalid.com/integrations.md", "https://lookvalid.com/docs/api/phone.md", "https://lookvalid.com/docs/quickstart.md"]
---

# Validate contact data in Aircall

Receive call events from Aircall in a small webhook handler and check the caller number with a numbering-plan lookup.

Aircall call logs are only as useful as the numbers in them: a caller shown in a local format, or a toll-free line logged where your team expected a direct number, ends up as a duplicate contact or a failed follow-up text. Checking the number as each call event arrives keeps your CRM records matched to one consistent form.

## What LookValid checks

- [Phone Numbering-Plan Validation](https://lookvalid.com/products/phone.md): Formats the number to E.164 and returns the country and the type the numbering plan assigns. It cannot confirm the person or whether the line is active. (1 credit per valid number)
- [Carrier Lookup (original carrier)](https://lookvalid.com/products/carrier-lookup.md): For US numbers, returns the carrier originally assigned the block with its state and rate center. A ported number still shows the original carrier. (1 credit per lookup (numbers outside the covered numbering plan areas are free))
- [Phone Spam Check](https://lookvalid.com/products/phone-spam.md): Shows how many consumer complaints exist for an inbound number in public data, which helps you triage an unknown caller. Those are raw consumer reports. (1 credit per number with complaints on record)

## Connect it in four steps

1. Create your LookValid account and an API key on the dashboard.
2. Add LOOKVALID_API_KEY to the environment of the web service that receives Aircall events, and keep it out of the webhook URL and of any Aircall dashboard field.
3. When a call.created event arrives, return a success status to Aircall right away, then pass the caller number to the phone check; skip the update when found is false and log the code on an error.
4. Write contact_number, number_type and caller_country onto the matching contact in your CRM, so the next call from that number lands on one record.

A webhook receiver that Aircall posts call events to, which checks the number and updates your contact record. The call is `POST https://YOUR_API_HOST/v1/phone`.

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

export async function checkAircallCaller(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 {
      "contact_number": result.data?.e164 ?? null,
      "number_type": result.data?.number_type ?? null,
      "caller_country": result.data?.country ?? null,
  };
}
```

| Response field | Goes into |
| --- | --- |
| `data.e164` | contact_number |
| `data.number_type` | number_type |
| `data.country` | caller_country |

## Without code

Aircall documents that an admin can create a webhook in its dashboard, which suits no-code tools. Point that webhook at the generic webhook trigger of an automation platform, add an HTTP request step that posts the caller number to the LookValid endpoint with your key in the Authorization header, and finish with an action that updates the contact. No dedicated app is needed.

## Questions

### What does an Aircall caller check cost?

It spends credits from your LookValid balance at the phone check rate shown on the pricing page. Calls you skip cost nothing.

### Does it say whether the caller is who they claim?

No. It checks the number against the numbering plan and reports complaint counts at most; it has no view of the person behind the call.

### Where does the key go?

In the environment of the service that receives the Aircall event, as LOOKVALID_API_KEY. It does not belong in the webhook address.

## Sources

- [Aircall developer docs: webhooks overview](https://developer.aircall.io/docs/webhooks-overview.md), 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)
