Clay does not let other apps read your tables, so Echo works the other way round: an HTTP API column in Clay sends each row to Echo. The rows then appear in the Import leads dialog under Clay, grouped by list name.
1. Create a token
In Settings, Integrations, on the Clay card, click Create Clay token. Copy it: it is shown once. You can have up to 10 tokens and revoke any of them.
2. Add an HTTP API column in Clay
| Setting | Value |
|---|---|
| Method | POST |
| URL | The endpoint shown on the Clay card (ends in /api/in/rows) |
| Header | Authorization: Bearer echo_in_... (your token) |
| Body | JSON, see below |
{
"list": "Q4 RevOps leaders",
"row": {
"first_name": "{{First Name}}",
"company": "{{Company}}",
"title": "{{Title}}",
"email": "{{Email}}",
"website": "{{Website}}"
}
}list is the name the rows are grouped under in Echo. Send only the columns your page needs.
3. Import into Echo
Open Leads, Groups, Import leads, choose Clay, pick the list, tick the fields and import.
Rules
- Rows with the same email in the same list update the existing row instead of duplicating it.
- Up to 500 rows per request (send
"rows": [...]instead of"row"), 500 KB per request, and 600 requests a minute. - Clay's own limit: a webhook source table accepts 50,000 rows over its lifetime.
Getting links back into Clay
Download the campaign CSV and import it into Clay, matching on email; the space_url column holds each lead's link. Or let Clay's own sequencer action use the link column.