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

# Connect an AI agent to Zapier

> Send the leads your agent captures to your CRM through Zapier, or ask the agent for answers inside a Zap. Create a key and build your first Zap.

Connect an AI agent to Zapier to move the leads it captures into your CRM,
spreadsheet or inbox, or to generate answers from an incoming email, ticket
or form. Open your agent's **Channels → Zapier** page to get started.

![Zapier card on the Channels page with the Set up Zapier button](https://mintcdn.com/centillion/c2PdnfANmy9VvO1l/images/channels/zapier-01-channel-card.webp?fit=max\&auto=format\&n=c2PdnfANmy9VvO1l\&q=85\&s=980675c69b03f60e0ba38621a4468f03)

The Zapier card on the Channels page opens the Zapier setup page.

## What it does

* **Form Submission**, an instant trigger, starts a Zap when your agent
  captures a lead or receives a custom form or
  [Collect data](https://cntillion.com/docs/agents/collect-data.md) submission.
* **Send Prompt**, an action, sends a message to your agent and returns a
  response that uses its instructions and business knowledge.
* Each API key reaches one agent only. An agent can have up to 10 active API
  keys and 50 active subscriptions.
* Send Prompt uses your agent's normal credit and rate limits, and has a
  25-second response budget.

## What you need

* Standard or above. Send Prompt consumes the workspace's message credits at
  the chosen model's rate, including extra model requests used by actions.
  See [plans and credits](https://cntillion.com/docs/workspaces/billing.md).
* A Centillion Labs agent and a Zapier account.
* Owner or Member access, to create an API key.

If the native app is still private, use the invitation linked on the setup
page. A public listing becomes searchable after Zapier approves it. If the
invitation is pending, you can prepare a key and preview records, but cannot
connect the native app yet.

New to Centillion? Start with [What Centillion is](https://cntillion.com/docs/introduction.md).

## Set it up

This example appends every captured lead to a Google Doc.

**1. Enable lead collection**

Open **Tools**, choose **Collect leads**, and configure the details your
agent should capture. Enable the action for the channels you use.

**2. Create a Zap**

In Zapier, choose **Create → Zaps**. Add **Centillion Labs** as the
trigger app and select **Form Submission**.

**3. Connect your account**

In Centillion Labs, open **Channels → Zapier → Create API key**. Name the
key and copy it. Paste it into Zapier's Centillion Labs connection window.
The key is shown once and only grants access to this agent. A lost key
cannot be shown again: create a new one and revoke the old one.

**4. Choose your agent and test**

Select the agent or paste its ID from the setup page. Click **Test
trigger**, then **Continue with selected records**. Capture a real lead
first for the most useful test. An empty agent returns an example marked
`is_sample`.

**5. Set up Google Docs**

Add **Google Docs → Append Text to Document**, connect your Google
account, and select the document. Map name, email, phone, and any custom
fields into **Text to Append**.

**6. Test and publish**

Test the Google Docs action and publish your Zap. Capture a fresh lead on
your site, then confirm that the lead appears in the document.

## Use it every day

### Fields you get and send

Form Submission returns contact details, custom fields, form name,
submission time, agent ID, and conversation ID.

Send Prompt requires **Message** and **Agent ID**. **Model** and
**Conversation ID** are optional. Leave Model empty to use the agent's API
channel setting. Map the returned **Text** into the next step. Reuse the
returned Conversation ID to continue the same conversation.

Automatic [visitor UTM tracking](https://cntillion.com/docs/channels/utm-tracking.md) applies to links in
the JavaScript website embed. Send Prompt returns response text without the
website visitor's saved campaign parameters.

### More workflows

* Draft replies to customer emails in Gmail or Outlook, or categorize urgency
  and topic before creating follow-up tasks.
* Add suggested solutions to Jira, Intercom, or Zendesk tickets.
* Analyze Typeform or Google Forms feedback for intent, tone, and sentiment,
  then send summaries to Slack, email, or a spreadsheet.
* Create CRM contacts or notify a team channel after a form submission.

The **Automations** tab has field-mapping guides for these workflows.

### Check activity and manage access

The **Delivery activity** tab shows recent form deliveries. **Delivered**
means Zapier received the event. Open **Zap history** to check the
destination action. Temporary failures retry automatically. Previewing a
record does not start a Zap.

Turn off a Zap in Zapier to disconnect its trigger. Revoking a key in
Centillion Labs stops all its triggers and prompt actions. A delivery already
in flight may still finish. Create a new key and reconnect the affected Zaps
to resume.

Only the connection that owns a conversation can continue it. If a
conversation has ended, leave Conversation ID empty to start a new one.
Prompt actions use your normal agent rate and credit limits. For retries, the
optional **Request ID** accepts a UUID; reuse it only for the same message in
the same conversation.

### API reference

The native integration uses `https://app.cntillion.com/api/zapier`. Every
endpoint requires `Authorization: Bearer YOUR_ZAPIER_API_KEY`. Create the key
in **Channels → Zapier**. It can access only that agent. JSON requests must
include `Content-Type: application/json` and stay within 64 KiB.

| Method and path | Request | Response |
| - | - | - |
| `GET /me` | No parameters | Connection `id`, display `name`, and `agent_id`. Used to verify authentication. |
| `GET /agents` | No parameters | Array containing the authorized agent's `id` and `name`. Used by the Agent ID dropdown. |
| `GET /submissions` | Required query parameter `agentId` | Up to 10 recent form records, newest first. An agent with no submissions returns one record with `is_sample: true`. |
| `POST /subscriptions` | JSON containing `agentId` and Zapier's `targetUrl` | Subscription `id`. Repeating the same connection and URL reuses the subscription. |
| `DELETE /subscriptions/{id}` | The subscription ID returned when subscribing | `{"success": true}`. Safe to repeat; only this connection's subscription can be disabled. |
| `POST /prompt` | JSON containing `agentId`, `message`, and optional fields below | Response `id`, `text`, `conversation_id`, `agent_id`, and `usage`. |

#### Form Submission webhook

Zapier calls `/subscriptions` when a Zap starts and deletes that subscription
when the Zap is turned off. `targetUrl` must be the HTTPS REST-hook URL
supplied by Zapier, with the form
`https://hooks.zapier.com/hooks/standard/ID/SECRET/`. Other hosts, custom
ports, credentials, query strings, fragments, and redirects are rejected.
Each agent supports up to 50 active subscriptions and 10 active API keys.

Capturing a lead, Collect data submission, or custom form queues a POST to
each active subscription. The payload has the same shape as `/submissions`:

```json theme={null}
{
  "id": "submission_123",
  "agent_id": "agent_123",
  "conversation_id": "conversation_123",
  "submitted_at": "2026-10-05T12:00:00.000Z",
  "form_name": "Collect leads",
  "name": "Alex Morgan",
  "email": "alex@example.com",
  "phone": null,
  "fields": { "company": "Example company" },
  "is_sample": false
}
```

Contact fields and `conversation_id` can be null. `conversation_id` is the
same ID that Send Prompt and the developer API return. `fields` contains the
custom form fields. Use `id` to deduplicate deliveries. Temporary failures
retry through the delivery queue. A `410 Gone` response disables the
subscription; turn the Zap off and on again to subscribe it again. Revoking
its API key stops future deliveries and prompt requests.

#### Send Prompt request

```json theme={null}
{
  "agentId": "agent_123",
  "message": "How do I change my subscription?"
}
```

`message` is required and accepts up to 12,000 characters. `agentId` is
required and must match the API key's agent.

| Optional field | Behavior |
| - | - |
| `model` | Model ID, up to 100 characters. Leave it out to use the agent's API channel model. |
| `conversationId` | Returned conversation ID, up to 100 characters. Leave it out to start a new conversation. Only the same API key can continue a conversation. |
| `requestId` | UUID for retry protection. Reuse it only for the same message and conversation. |

The response uses the agent's trained knowledge, instructions, and normal
credit and rate limits. Requests have a 25-second response budget. An ended
or paused conversation cannot receive another prompt.

#### Errors

Errors return JSON with a human-readable `message`.

| Status | Meaning |
| - | - |
| `400` | Invalid JSON, fields, agent ID, or webhook URL. |
| `401` | Missing, invalid, or revoked API key. Reconnect the account. |
| `404` | Agent, conversation, or endpoint is unavailable to this connection. |
| `409` | Subscription limit reached, conversation unavailable, or another action is needed before retrying. |
| `413` | Request body exceeds 64 KiB. |
| `415` | Send JSON with the correct content type. |
| `429` | Agent rate or credit limit reached. The response includes `Retry-After: 60`; exhausted credits require a billing change or reset. |
| `500` | Unexpected server error. Retry the request. |
| `504` | Response deadline exceeded. Try a shorter prompt or a faster model. |

## Limits and good to know

* **Plan.** Zapier requires Standard or above.
* **One agent per key.** A key reaches only the agent it was created for. A
  lost key cannot be shown again.
* **Counts.** Up to 10 active API keys and 50 active subscriptions per agent.
* **Request size.** JSON requests stay within 64 KiB, and a Send Prompt
  message within 12,000 characters.
* **Time.** Send Prompt has a 25-second response budget. An ended or paused
  conversation cannot receive another prompt.
* **Zapier's own billing.** Zapier may charge for premium apps or workflow
  features. Its billing is separate from Centillion Labs.

## Questions

### Which plan do I need for Zapier?

Standard or above. Send Prompt also consumes your workspace's message
credits at the chosen model's rate, including extra model requests used by
actions.

### Why can't I find Centillion Labs in Zapier?

If the native app is still private, use the invitation linked on the setup
page. A public listing becomes searchable after Zapier approves it. While the
invitation is pending you can prepare a key and preview records, but not
connect the app.

### I lost my API key. Can I see it again?

No. The key is shown once. Create a new key, revoke the old one, and
reconnect the Zaps that used it.

### Delivery activity says Delivered, but nothing reached my CRM. Why?

**Delivered** means Zapier received the event. Open **Zap history** in
Zapier to check what the destination action did with it.

### Can a Zap continue an earlier conversation?

Yes. Pass the returned Conversation ID in the next Send Prompt. Only the
same API key can continue a conversation, and an ended or paused one cannot
receive another prompt.

### Does testing the trigger send real data?

Test trigger returns up to 10 recent form records. An agent with no
submissions returns one example marked `is_sample`, so capture a real lead
first for a useful test. Previewing a record does not start a Zap.

## Try it

Create an API key, build a Zap with the Form Submission trigger, and capture
a lead from your own site. Then check that it reached the app you chose.

> [card] [Start free](https://app.cntillion.com/sign-up?utm_source=docs\&utm_medium=article\&utm_campaign=channels-zapier)
>
> Start on the Free plan, or take a seven-day trial of a paid plan. Your agent is live on your site in an afternoon.

> [card] [Book a demo](https://cal.com/patrick-turricelli-smgfks/15min?utm_source=docs\&utm_medium=article\&utm_campaign=channels-zapier)
>
> Fifteen minutes with the team, on your own use case.

Or ask the assistant on this page.

## Related

> [card] [What Centillion is](https://cntillion.com/docs/introduction.md)
>
> The product in one page: agents, knowledge, channels and the helpdesk.

> [card] [Collect data](https://cntillion.com/docs/agents/collect-data.md)
>
> Choose the details your agent captures and sends to Zapier.

> [card] [Custom tools](https://cntillion.com/docs/agents/custom-actions.md)
>
> Let the agent call your own systems during a conversation.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.