> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.getdial.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.getdial.ai/_mcp/server.

# Zapier

> Connect Dial to 8,000+ apps with Zapier — trigger Zaps on inbound messages and calls, send messages, place AI voice calls, and provision numbers, no code required.

The [Dial app on Zapier](https://zapier.com/apps/dial/integrations) connects your
Dial numbers to thousands of other apps — CRMs, spreadsheets, Slack, forms —
without writing any code.

## What it offers

**Triggers** (start a Zap when something happens in Dial):

* **New Inbound Message** — fires instantly when one of your numbers receives an
  SMS or iMessage, powered by [webhooks](/documentation/platform/webhooks) under the hood.
* **Call Status Changed** — fires instantly as a call on one of your numbers moves
  through its lifecycle ([`call.status_changed`](/api-reference/events/call-status-changed)):
  it starts ringing, the AI agent answers, or it ends. Filter by **Status**
  (Ringing, Answered, Completed, Busy, No Answer, Failed, Cancelled — leave empty
  for every change), **Direction** (inbound/outbound), and **Phone Number**.

**Actions** (do something in Dial from a Zap):

* **Send Message** — send an SMS or iMessage from one of your numbers
  ([`POST /messages`](/api-reference/rest-api/messages/send-message)).
* **Make Call** — place an outbound AI voice call with an instruction for the
  agent ([`POST /calls`](/api-reference/rest-api/calls/make-call)).
* **Provision Number** — buy a new phone number on your account
  ([`POST /numbers`](/api-reference/rest-api/phone-numbers/provision-number)).

## Connect your account

1. In the Zap editor, add a Dial trigger or action and click **Sign in**.
2. Paste your Dial API key (`sk_live_…`). You received it at
   [signup](/documentation/get-started/authentication); it is also returned by
   [`GET /account`](/api-reference/rest-api/account/get-account).
3. Zapier verifies the key against your account and labels the connection with
   your account email.

## Example: inbound SMS → Slack

1. **Trigger:** Dial → *New Inbound Message*. Optionally pick one of your
   numbers to watch; leave empty to match all of them.
2. **Action:** Slack → *Send Channel Message*, mapping the message **Body**,
   **From**, and **To** fields.

Turn the Zap on — every text your Dial number receives now lands in Slack
within seconds.

## Example: form submission → AI voice call

1. **Trigger:** your form tool (Typeform, Google Forms, …) → new response.
2. **Action:** Dial → *Make Call*, mapping the respondent's phone number to
   **To**, picking one of your numbers as **From**, and writing what the agent
   should do in **Call Instruction** (e.g. "Confirm the appointment time and
   answer basic questions about parking").

The call's transcript and outcome are visible in your Dial dashboard, and you
can add a *Call Status Changed* trigger (Status: Answered, Direction: inbound)
to react the moment people call back.

## Notes

* The **Call Status Changed** trigger fires with the call's metadata (from, to,
  status, previous status); the transcript is not part of the event — it appears
  on the call record after the call ends. Use a *Completed* status filter plus a
  fetch of the call if you need post-call data.
* Media on inbound messages arrives as public URLs in the **Media** field,
  ready to map into any downstream app.
* Webhook subscriptions created by Zapier are visible via
  [`GET /webhooks`](/api-reference/rest-api/webhooks/list-webhooks) and are removed
  automatically when you turn the Zap off.