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

# Webhook data schema

> Every field Clearcue delivers to your webhook endpoint, and when to expect it.

This page is the contract for what your endpoint receives. Set a webhook up first in
[Webhooks](/integrations/webhooks).

## What Clearcue sends

Clearcue sends **one POST request per person**, not one request per list. Each request carries a
single flat JSON object describing that person, their company, and their signal activity.

Requests are sent with these headers:

```http theme={null}
POST https://your-endpoint.example.com/clearcue
Content-Type: application/json
User-Agent: CleverCue-Webhook/1.0
```

## Payload example

```json theme={null}
{
  "fullName": "Dana Whitfield",
  "firstName": "Dana",
  "lastName": "Whitfield",
  "location": "Berlin, Germany",
  "seniority": "Head",
  "jobPosition": "Head of Revenue Operations",
  "linkedinProfileUrl": "https://www.linkedin.com/in/dana-whitfield",
  "linkedinFollowers": 4821,
  "summary": "RevOps leader focused on pipeline forecasting and GTM tooling.",
  "interactedWith": "Acme Inc, Jordan Miles",
  "signalCount": 7,
  "lastInteraction": "2026-09-14 08:41:02",
  "firstDetection": "2026-07-02T11:20:45.318Z",
  "companyName": "Northwind Analytics",
  "companyIndustry": "Software Development",
  "companySize": "S_51_200",
  "companyLocation": "Berlin, Germany",
  "companyDomain": "northwind-analytics.com",
  "companyLinkedin": "https://www.linkedin.com/company/northwind-analytics",
  "signals": [
    "We're rebuilding our forecasting stack this quarter...",
    "Hiring two RevOps analysts in Berlin."
  ]
}
```

## Field reference

Every field is present in the payload, apart from `signals`, which appears only when there is
content to send. Any field except `signalCount` and `firstDetection` can be `null` when Clearcue
has not enriched that detail yet, so parse defensively.

### Person

| Field                | Type           | Description                                                                                                   |
| -------------------- | -------------- | ------------------------------------------------------------------------------------------------------------- |
| `fullName`           | string \| null | The person's full name.                                                                                       |
| `firstName`          | string \| null | First name.                                                                                                   |
| `lastName`           | string \| null | Last name.                                                                                                    |
| `location`           | string \| null | Where the person is based.                                                                                    |
| `seniority`          | string \| null | One of `Owner / Founder`, `CXO`, `Partner`, `VP`, `Head`, `Director`, `Manager`, `Senior`, `Entry`, `Intern`. |
| `jobPosition`        | string \| null | Current job title.                                                                                            |
| `linkedinProfileUrl` | string \| null | Public profile URL for the person.                                                                            |
| `linkedinFollowers`  | number \| null | Follower count on the person's profile.                                                                       |
| `summary`            | string \| null | The person's profile summary.                                                                                 |

### Signal activity

| Field             | Type           | Description                                                                                                                                                                            |
| ----------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `interactedWith`  | string \| null | Comma-separated names of the profiles and company pages you track that picked up this person's signals. Empty for keyword and job searches, which watch a topic rather than a profile. |
| `signalCount`     | number         | How many signals Clearcue has detected for this person, across every signal type.                                                                                                      |
| `lastInteraction` | string \| null | When the most recent signal happened, formatted `YYYY-MM-DD HH:MM:SS` in UTC.                                                                                                          |
| `firstDetection`  | string         | When this person first appeared in your workspace, as an ISO 8601 UTC timestamp.                                                                                                       |
| `signals`         | string\[]      | The text of the content behind this person's signals, one entry per piece of content.                                                                                                  |

### Company

| Field             | Type           | Description                                                                                                                  |
| ----------------- | -------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `companyName`     | string \| null | Current employer.                                                                                                            |
| `companyIndustry` | string \| null | Industry the company operates in.                                                                                            |
| `companySize`     | string \| null | Employee band: `S_1_10`, `S_11_50`, `S_51_200`, `S_201_500`, `S_501_1000`, `S_1001_5000`, `S_5001_10000`, or `S_10001_PLUS`. |
| `companyLocation` | string \| null | City and country, combined into one string.                                                                                  |
| `companyDomain`   | string \| null | Company website domain.                                                                                                      |
| `companyLinkedin` | string \| null | Public page URL for the company.                                                                                             |

<Note>
  Payloads never contain Clearcue's internal record IDs. Use `linkedinProfileUrl` as the stable key
  for matching a person in your own system.
</Note>

## Delivery behavior

* Clearcue checks every enabled webhook **once an hour** and sends any people who are in the list but haven't been sent yet.
* Each person is sent **once per webhook**. Updates to a person already sent are not re-delivered.
* Reply with any `2xx` status to confirm receipt. Anything else counts as a failure.
* Requests time out after **30 seconds**.
* Failed people stay queued and are retried on the next hourly run.
* A webhook is **disabled automatically after 5 consecutive failed runs**. Fix your endpoint, then re-enable it from the Actions menu.

<Card title="Set up a webhook" icon="plug" href="/integrations/webhooks">
  Create a webhook, pick the list it syncs, and track its run history.
</Card>
