SendFAXMail
Developer integration · Business & Enterprise plans

Connect Zapier to Fax — Using Our API and Webhooks

Here is the honest version: Send FAX Mail does not publish a native Zapier app you install from the directory. What does work, and works well, is wiring Zapier to our REST API and outbound webhooks with the building blocks Zapier already gives you. A Zapier Webhooks (POST) action calls our /v1/faxes endpoint to send a fax from any trigger in your stack, and a Zapier Catch Hook can receive our fax.delivered, fax.failed, and fax.received events to start a Zap when a fax finishes. No custom server is required — just the API and webhook features that come with the Business and Enterprise plans.

Encrypted in transit (TLS)
HIPAA BAA included
US-based fax numbers
No activation fees
No contracts
7-day free trial

Plan requirement

This pattern relies on our REST API and outbound webhooks, which are part of the Business ($79.99/mo) and Enterprise ($169.99/mo) plans. There is no separate Zapier add-on to buy from us, and no native Send FAX Mail Zapier app — you connect using Zapier's own generic Webhooks and Code steps.

How it works

Zapier has two generic pieces that bridge to any HTTP service. The first is the Webhooks by Zapier action: in POST mode it sends a JSON body to a URL you specify, with custom headers — that is exactly how you call our /v1/faxes endpoint, putting your bearer key in the Authorization header and the recipient plus a document_url in the body. The second is the Catch Hook trigger: Zapier mints a unique URL, you register that URL as a webhook endpoint at /dashboard/developers, and from then on our delivered, failed, and received events land in Zapier and kick off whatever Zap you build. Because both directions use plain signed HTTP, you never write or host code; the logic lives inside Zapier's editor.

What you can do

  • Send a fax from any Zapier trigger by POSTing to /v1/faxes with a Webhooks by Zapier step
  • Pass a public document_url so Zapier need not base64-encode the file itself
  • Catch our fax.delivered / fax.failed / fax.received events with a Zapier Catch Hook trigger
  • Chain a delivered event into Slack, a spreadsheet row, or a CRM note inside the same Zap
  • Add an Idempotency-Key header in the Webhooks step so a Zap retry never double-sends
  • Keep the whole flow code-free using Zapier's standard Webhooks and Code actions

Setup steps

  1. 1Make sure your account is on Business or Enterprise so the API and webhooks are active
  2. 2Create an API key at /dashboard/developers with the faxes:send scope for outgoing Zaps
  3. 3In Zapier, add a Webhooks by Zapier (POST) action, set the URL to /v1/faxes, and add an Authorization: Bearer header
  4. 4Map your trigger's fields into the body: a `to` number and a public `document_url`
  5. 5For inbound automation, add a Catch Hook trigger in a new Zap and copy its unique URL
  6. 6Register that Catch Hook URL as a webhook endpoint at /dashboard/developers and pick the events to forward

Example

# Webhooks by Zapier -> POST
URL:     https://www.sendfaxmail.com/v1/faxes
Headers: Authorization: Bearer sfm_live_xxxxxxxx
         Idempotency-Key: {{zap_run_id}}
Body (JSON):
{
  "to": "{{trigger.fax_number}}",
  "document_url": "{{trigger.file_url}}"
}

Zapier — FAQ

No, and we would rather say so plainly than imply otherwise. You do not install a Send FAX Mail app. You connect by pointing Zapier's own Webhooks by Zapier action at our /v1/faxes endpoint and by catching our outbound events with a Zapier Catch Hook. Both are standard Zapier building blocks, so the integration is real even though it is not a listed app.

Add a Webhooks by Zapier step in POST mode, set the URL to /v1/faxes, and include an Authorization header carrying your bearer key. Map the trigger data into the JSON body as a `to` number and a `document_url` that points at the file. When the Zap runs, that step calls our API and a fax goes out, just as if your own code had made the request.

Use Zapier's Catch Hook trigger. It gives you a unique inbound URL; register that URL as a webhook endpoint at /dashboard/developers and subscribe it to fax.delivered, fax.failed, or fax.received. From then on our signed event posts straight into Zapier and runs the rest of your Zap — logging the result, alerting a channel, or updating a record.

Yes, with a Code by Zapier step. The event arrives with an X-SFM-Signature header; a small Code step can recompute the HMAC-SHA256 over the signed string — the header's timestamp, a dot, then the raw body (t.body) — using your signing secret and stop the Zap if it does not match. If you would rather not handle the secret in Zapier, keep the Catch Hook URL private and treat its obscurity as the gate, accepting the weaker guarantee.

The approach carries over. Make and n8n both have generic HTTP request modules and inbound webhook nodes, so you call /v1/faxes the same way and register their webhook URL as an endpoint at /dashboard/developers to receive events. As with Zapier, there is no dedicated connector from us — you are using each tool's standard HTTP and webhook pieces against our API.

Build with the Zapier

API access and webhooks are included on the Business and Enterprise plans. Create a key at /dashboard/developers and start sending.

7-day free trial · No credit card required