Skip to content
All integrations
LiveSales engagementSends call data

PyAI x Clay

Every completed call becomes a row in your Clay table.

Clay's public API is read-only for tables, so rows arrive the supported way: through your table's webhook source. Add a Webhook source, paste its URL into PyAI, and every completed call appends a row with one column per field (TL;DR, summary, next steps, caller number, or the AMD verdict). Direct from PyAI, no Zapier hop in between.

Status
Live
Direction
PyAI to Clay
Setup
Console, no code
Cost
Included

What lands in Clay

One row per completed call, flat so every field is a column your table formulas and enrichments can use immediately. Recap rows carry the summary fields; AMD rows carry the verdict fields.

The row after a rescheduling call

event:          recap.call.completed
occurred_at:    2026-08-01T09:13:20Z
call_id:        call_8fK2mQ9xR4
tldr:           Customer asked to reschedule Friday's installation
summary:        The customer called to move their appointment...
next_steps:     Confirm the new slot by SMS
customer_phone: 15551234567

Setup, end to end

  1. 1

    In your Clay table, add a Webhook source and copy its URL.

  2. 2

    In the PyAI console, open Integrations and choose Clay, then paste the URL and pick your events.

  3. 3

    Press Test; a sample row lands in the table so you can check the columns.

  4. 4

    From the next completed call, rows append automatically.

Built into every connection

Delivery you can prove

Verified, and never twice

Every delivery carries proof it is really from us (the X-PyAI-Signature header, an HMAC your tools can verify) and a unique receipt id (the Idempotency-Key), so a retry can never post the same call twice.

Retried, then shown to you

If your endpoint hiccups, we retry with backoff (eight attempts over about twenty minutes). Still failing? The exact error waits on the integration card in your console, not in a log you never read.

Your credentials stay yours

Tokens, secrets, and webhook URLs are encrypted at rest and masked everywhere. They never appear in the messages we send.

Included, no extra fees

Integrations come with your Recap or AMD usage. There is no per-connection or per-delivery charge.

FAQ

Why the webhook source instead of the Clay API?

Clay's public API is read-only for tables (row reads are Enterprise, and there is no public row-write endpoint). The webhook table source is Clay's supported inbound path, and PyAI delivers to it directly, so no Zapier hop is needed.

Which columns should my table expect?

Recap rows: event, occurred_at, call_id, status, pack_id, tldr, summary, next_steps, customer_phone. AMD rows: event, occurred_at, call_id, status, answered_by, answered_by_twilio, confidence, decision_ms, reason, session_label.

Can I still use Zapier for fancier flows?

Yes. The Clay integration is the direct single-table path. The Zapier integration remains for anything multi-step: filters, branching, or fanning one call out to several tools at once.

What does the Clay integration cost?

It is included with your Recap or AMD usage. There is no per-row or per-connection fee from PyAI.

Connect Clay to PyAI today.

An instant sandbox key lets you test every delivery without billing. Create an account when you want saved projects, and fund a live key for production traffic.

Agents is live in beta. Sandbox keys have daily limits and never touch billing.