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

# Clay: Send Contact & Account Data 

> You can send contacts directly from Clay into Reevo using a webhook. This allows you to streamline your workflow and automatically move qualified leads into Reevo for outreach and tracking.

# **Overview**

You can push contacts & accounts from [Clay](https://clay.com/) directly into Reevo using Clay’s HTTP API integration and your Reevo API key. This allows you to sync data from Clay into Reevo for sequencing, dialing, and list management—all without manual entry.

## **Basic Concepts & Terminology**

* **Clay** – A lead sourcing and enrichment platform used to build targeted contact lists.
* **API Key** – A unique token used to authenticate and authorize data being pushed into Reevo.
* **HTTP API (Clay)** – Clay’s integration method to send data to external systems via web requests.
* **Custom Fields** – Fields you define in Reevo to track data like “Lead Source” or “Campaign.”

## **Where to Find It**

* Generate your Reevo API key under:

  [**Settings → API Keys → Account & Contact Creation**](https://app.reevo.ai/settings/api-keys)
* Set up the HTTP API integration within your Clay table where your contacts live.

***

## Step-by-Step Instructions

### **1. Generate your API Key in Reevo**

* Go to: **Settings → Integrations → API keys → New API key**
  * In order to *upsert* contacts & accounts from Clay to Reevo, give the API key the following permissions at a minimum:
    * Accounts - Read
    * Accounts - Write
    * Contacts - Read
    * Contacts - Write
* Click **Generate new API key**
* Name the key and click **Generate**
* Copy the key and store it securely. You won’t be able to view it again after closing the popup.

Refer to [<u>this article</u>](https://help.reevo.ai/data-management-and-migration/Integrations-With-Other-Tools) for additional information on how to generate API Keys

### **2. Configure Clay HTTP API**

* In your Clay table, add a new **Enrichment column** → select **HTTP API**
* Add a new **HTTP API (Headers)** account and give it any name
  * Under **Key**, enter: `x-api-key`
  * Under **Value**, paste your Reevo API key

### **3. Set your request details**

* **Method**: `POST`
* **Endpoint**: [https://api.reevo.ai/api/v1/public/account\_contact](https://api.reevo.ai/api/v1/public/account_contact)
* **Query Parameter**:
  * Key: `payload_type`
  * Value: `json`

### **4. Define the body of your request**

Use the JSON format below to map your Clay fields to Reevo. The only required field is `email`, but you can include any of the supported values below.

Supported values:

```
email: str*
first_name: str | None = None
last_name: str | None = None
middle_name: str | None = None
phone_number: str | None = None
company: str | None = None
title: str | None = None
department: str | None = None
contact_linkedin_url: str | None = None
contact_facebook_url: str | None = None
contact_zoominfo_url: str | None = None
contact_x_url: str | None = None
contact_owner_email: str | None = None
account_linkedin_url: str | None = None
account_facebook_url: str | None = None
account_zoominfo_url: str | None = None
account_x_url: str | None = None
account_owner_email: str | None = None
account_website: str | None = None
account_custom_fields: dict[UUID | str, str | list[str]] | None = None
contact_custom_fields: dict[UUID | str, str | list[str]] | None = None
```

Example full request:

```
curl -X POST "https://api.reevo.ai/api/v1/public/account_contact" \
	-H "Content-Type: application/json" \
	-H "X-Api-Key: Your API KEY" \
	-d '{
	"email": "postcon@postman.com",
	"contact_owner_email": "john.doe@acme.com",
	"account_website": "https://www.acme.com",
	"account_linkedin_url": "https://linkedin.com/company/acme-corp",
	"account_facebook_url": "https://facebook.com/acmecorp",
	"account_zoominfo_url": "https://zoominfo.com/c/acme-corporation",
	"account_x_url": "https://twitter.com/acmecorp",
	"contact_custom_fields": {"Your_Custom_Field_API_Name_1": "Your Value"},
	"account_custom_fields": {"Your_Custom_Field_API_Name_2": "Your Value"}
}'
```

***

## Sending Custom Fields

* First create the field in Reevo.  Refer to[ this article ](https://help.reevo.ai/CRM-configurations/Custom-Fields)to learn how to create custom fields.
* To find your custom field's API name, go to settingsw where the custom field was created and hover over the field:

  <img src="https://mintlify.s3.us-west-1.amazonaws.com/reevoai/data-management-and-migration/images/integration-w-other-tools_custom-fields.png" alt="Integration W Other Tools Custom Fields Pn" />
* In the JSON body, use:

  ```
  "contact_custom_fields": {
  	"Your_Custom_Field_API_Name_1": "Your Value",
  	"Your_Custom_Field_API_Name_2": "Your Value"}
  "account_custom_fields": {
  	"Your_Custom_Field_API_Name_1": "Your Value",
  	"Your_Custom_Field_API_Name_2": "Your Value"}

  ```

**Example JSON Body in Clay:**

```
json

{
"first_name": "John",
"last_name": "Doe",
"email": "john.doe@acme.co",
"contact_custom_fields": {
	"cus_field__Lead_Source": "inbound_form",
	"cus_field__Lead_Source_Details": "board member"
}
}
```

**5. Run your enrichment**

* Click **Run** on your Clay table
* If successful, you’ll see a **Status Code: 200** response

***

# **Troubleshooting/FAQs**

<AccordionGroup>
  <Accordion title="Where do I get my Reevo API key?">
    Go to **Settings → Integrations → API Keys** in Reevo and generate a new key.
  </Accordion>

  <Accordion title="Can I send custom fields to Reevo?">
    Yes. You must first create the field in Reevo and copy the Field API name. Use it in the `contact_custom_fields` or `account_custom_fields`object of the JSON body.
  </Accordion>

  <Accordion title="Where do I get custom field API names?">
    To find your custom field’s API name, hover over the field on the custom field Settings page in Reevo.
  </Accordion>

  <Accordion title="Can I map different columns in Clay to Reevo fields?">
    Yes. Just modify the JSON body to pull in any value from your Clay table.
  </Accordion>

  <Accordion title="What’s a common use case for custom fields?">
    Many users include a "Lead Source" or "List Name" so contacts can be filtered and grouped in Reevo for sequencing or dialing later.
  </Accordion>
</AccordionGroup>
