> ## Documentation Index
> Fetch the complete documentation index at: https://docs.automate.ax/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Automate.ax automations are TypeScript programs.
> Use Bun for installation and command examples.
> Use Automate.ax for the product name and automate.ax for the package, CLI, and domain.
> Treat documented public APIs as current; do not invent transitional or deprecated names.

# Find duplicate contact

> Finds an existing contact by email or phone before creation.

`highlevel.findDuplicateContact` finds an existing contact by email or phone before creation.

```ts automations/highlevel-find-duplicate-contact.automation.ts theme={null}
import { automation, markSignificant } from "automate.ax"
import { highlevel } from "automate.ax/highlevel"

export default automation("Find duplicate contact", () => {
  markSignificant(highlevel.findDuplicateContact({ email: "ada@example.com" }))
})
```

## Input

| Field    | Type     | Required | Description             |
| -------- | -------- | -------- | ----------------------- |
| `number` | `string` | No       | HighLevel number value. |
| `email`  | `string` | No       | HighLevel email value.  |

Automate.ax supplies the connected sub-account's location ID. Optional second argument `{ account }` selects a named HighLevel binding.

## Output

Returns HighLevel's duplicate-contact result, including the matching contact when one exists.

This action calls `GET /contacts/search/duplicate` with HighLevel API version `2021-07-28` and requires `contacts.readonly`. HighLevel validation and permission errors fail the action. Rate limits honor the provider's retry timing.
