Fax with n8n — Using Our REST API
Send FAX Mail does not ship a dedicated n8n node in the community or verified node registry. What works is n8n's HTTP Request node calling our REST API, plus n8n's Webhook node receiving our signed events. In a workflow you add an HTTP Request node pointed at /v1/faxes, pass your bearer key and a recipient, and a fax goes out from any trigger n8n supports. To handle results, a Webhook node gives you a URL you register at /dashboard/developers so our delivered, failed, and received events start a workflow. Because n8n can self-host, this is a good fit for teams that want the automation logic on their own infrastructure.
Plan requirement
This uses our REST API and outbound webhooks, part of the Business ($79.99/mo) and Enterprise ($169.99/mo) plans. There is no Send FAX Mail node from us; you build the workflow with n8n's own HTTP Request and Webhook nodes against our API.
How it works
n8n's HTTP Request node makes an authenticated call to any endpoint. You set the method to POST, the URL to /v1/faxes, add an Authorization header carrying your bearer key (n8n's credential store keeps it out of the workflow JSON), and give it a JSON body with a `to` number and either inline base64 or a public document_url. For the reverse direction, the Webhook node exposes a URL on your n8n instance; you register that URL as a webhook endpoint at /dashboard/developers and subscribe it to the events you want, and our HMAC-signed posts then trigger the workflow. Because n8n is often self-hosted, make sure the Webhook node's URL is reachable from our servers over HTTPS.
What you can do
- ✓Send a fax from any n8n trigger with an HTTP Request node aimed at /v1/faxes
- ✓Store the bearer key in n8n's credential vault instead of inline in the workflow
- ✓Pass a public document_url so n8n need not encode the file itself
- ✓Receive fax.delivered / fax.failed / fax.received on an n8n Webhook node
- ✓Verify the X-SFM-Signature HMAC in a Function node before trusting an event
- ✓Add an Idempotency-Key header so a workflow retry never double-sends
Setup steps
- 1Confirm the account is on Business or Enterprise so the API and webhooks are active
- 2Create an API key at /dashboard/developers with faxes:send (add faxes:read to poll)
- 3In n8n, store the key as an HTTP Header Auth credential (Authorization: Bearer …)
- 4Add an HTTP Request node set to POST /v1/faxes with a JSON body of `to` and `document_url`
- 5For inbound automation, add a Webhook node and copy its production URL
- 6Register that URL at /dashboard/developers, pick the events, and confirm it is reachable over HTTPS
Example
# n8n: HTTP Request node
Method: POST
URL: https://www.sendfaxmail.com/v1/faxes
Auth: HTTP Header Auth -> Authorization: Bearer sfm_live_xxxxxxxx
Body (JSON): { "to": "={{$json.faxNumber}}", "document_url": "={{$json.fileUrl}}" }
Header: Idempotency-Key: ={{$execution.id}}n8n — FAQ
No. We do not publish a node in the n8n registry. You connect by pointing n8n's HTTP Request node at our /v1/faxes endpoint and by catching our events with an n8n Webhook node. Both are core n8n nodes, so the integration is real without a dedicated node.
Use n8n's credential system. Create an HTTP Header Auth credential holding your Authorization: Bearer key, then reference that credential from the HTTP Request node. The key stays in n8n's encrypted credential store instead of being written into the exported workflow JSON.
Only if the Webhook node's production URL is reachable from our servers over public HTTPS. If your n8n sits behind a firewall or on localhost, expose it through a reverse proxy or tunnel with a valid certificate before registering the URL at /dashboard/developers, otherwise our event deliveries will fail and dead-letter.
Yes. Each event includes an X-SFM-Signature header. Add a Function node right after the Webhook node that recomputes the HMAC-SHA256 over the signed string with your endpoint secret and rejects the run on a mismatch. That protects against a forged POST hitting your public webhook URL.
Build with the n8n
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