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

# Create Custom Signal Entry

> Send data to a Duo custom signal webhook to generate leads.

Send data from any external tool (Zapier, Clay, RB2B, your own app, etc.) into Duo Copilot via a webhook. Whenever new data arrives, Duo generates a signal and can automatically create personalized sequences for each lead.

## Authentication

This endpoint uses a **token-based URL** instead of the standard API key authentication. Each custom signal has a unique token embedded in its webhook URL. You can find your token in the Duo Copilot signal settings.

<Warning>
  Treat your webhook URL as a secret — anyone with the URL can send data to it. Avoid sharing it
  publicly or committing it to repositories.
</Warning>

## Path Parameters

<ParamField path="token" type="string" required>
  The unique token for your custom signal. Found in the Duo Copilot signal settings.
</ParamField>

## Request Body

The request body is a **dynamic JSON object**. You can send any fields that are relevant to your use case — there is no fixed schema.

After sending a test request, Amplemarket will auto-map your fields to the identifiers it needs to look up each person or company.

### For people signals, include at least one of:

| Field                        | Description                                      |
| ---------------------------- | ------------------------------------------------ |
| `linkedin_url`               | LinkedIn profile URL                             |
| `email`                      | Email address                                    |
| `full_name` + `company_name` | Person name combined with company name or domain |

### For company signals, include at least one of:

| Field                  | Description          |
| ---------------------- | -------------------- |
| `company_name`         | Company name         |
| `company_domain`       | Company domain       |
| `company_linkedin_url` | Company LinkedIn URL |

You can include any additional fields (e.g. `pages_visited`, `form_responses`, `use_case`) that you want Duo to use as context for AI personalization.

<Note>
  Nested objects are supported — Amplemarket will flatten them into dot-notation paths (e.g.
  `person.name`, `company.domain`) for field mapping.
</Note>

## Response

<ResponseField name="status" type="number">
  HTTP status code.
</ResponseField>

| Status                  | Meaning                                           |
| ----------------------- | ------------------------------------------------- |
| `202 Accepted`          | Request received successfully                     |
| `400 Bad Request`       | Malformed JSON, empty body, or non-object payload |
| `404 Not Found`         | Invalid webhook token                             |
| `413 Content Too Large` | Payload exceeds 1 MB                              |

<Info>
  **Test data vs. live data:** During initial signal setup, requests are treated as test data for
  configuring field mappings — no leads are generated. Once the signal is saved, all subsequent
  requests generate real leads.
</Info>
