Fax with Microsoft Power Automate — Using Our REST API
Send FAX Mail does not publish a certified Power Automate connector in the Microsoft directory. What works is Power Automate's built-in HTTP action calling our REST API, plus the When an HTTP request is received trigger receiving our signed events. In a cloud flow you drop an HTTP action, POST to /v1/faxes with your bearer key and a recipient, and a fax goes out from any Microsoft 365 or Dataverse trigger. To handle results, the request-received trigger gives you a URL you register at /dashboard/developers so our delivered, failed, and received events start a flow. No custom connector and no hosting are needed.
Plan requirement
This relies on our REST API and outbound webhooks, part of the Business ($79.99/mo) and Enterprise ($169.99/mo) plans. There is no Microsoft-certified connector from us; you build the flow with Power Automate's own HTTP action and request trigger against our API. Note the raw HTTP action is a premium Power Automate capability on Microsoft's side.
How it works
Power Automate's HTTP action is a general-purpose caller. You set the method to POST, the URI to /v1/faxes, add an Authorization header with your bearer key, and supply a JSON body containing a `to` number and either inline base64 or a public document_url. Any trigger — a new SharePoint file, a Dataverse row, a scheduled recurrence — can feed that action. For the return path, the When an HTTP request is received trigger generates a callback URL; you register it as a webhook endpoint at /dashboard/developers and subscribe it to the events you want, and our HMAC-signed posts then launch a flow. Both directions are plain signed HTTP, so the whole fax lifecycle lives inside your existing Microsoft automations.
What you can do
- ✓Send a fax from any Power Automate trigger with an HTTP action aimed at /v1/faxes
- ✓Feed a SharePoint or OneDrive file to the fax as a public document_url
- ✓Receive fax.delivered / fax.failed / fax.received on a When an HTTP request is received trigger
- ✓Post a delivered result to Teams or write it to a Dataverse table in the same flow
- ✓Add an Idempotency-Key so a flow retry never dispatches the fax twice
- ✓Verify the X-SFM-Signature HMAC in a Compose/expression step before trusting an event
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 a Power Automate cloud flow, add an HTTP action set to POST /v1/faxes
- 4Add an Authorization: Bearer header and a JSON body with `to` and `document_url`
- 5For inbound automation, add a When an HTTP request is received trigger and copy its URL
- 6Register that URL at /dashboard/developers and select which events to forward
Example
# Power Automate: HTTP action
Method: POST
URI: https://www.sendfaxmail.com/v1/faxes
Headers: Authorization: Bearer sfm_live_xxxxxxxx
Idempotency-Key: @{workflow()?['run']?['name']}
Body:
{ "to": "@{triggerBody()?['faxNumber']}", "document_url": "@{triggerBody()?['fileUrl']}" }Power Automate — FAQ
No. We do not list a certified connector in Microsoft's directory. You connect by pointing Power Automate's built-in HTTP action at our /v1/faxes endpoint and by receiving our events with the When an HTTP request is received trigger. Both are standard Power Automate pieces, so the integration works without a bespoke connector.
The raw HTTP action and the HTTP request trigger are premium capabilities on Microsoft's side, so your Power Automate licensing needs to include them. That gate is Microsoft's, separate from us. On our side you only need a Business or Enterprise plan for the API and webhooks the flow calls.
If the file is reachable at a public HTTPS URL, pass that link as document_url and our server fetches it behind an SSRF guard. If it is not publicly reachable, use a Get file content action to read the bytes, base64-encode them in an expression, and send them inline in a document object instead.
Add a When an HTTP request is received trigger to a new flow, register its generated URL as a webhook endpoint at /dashboard/developers, and subscribe it to fax.delivered and fax.failed. Our signed event then starts the flow; branch on the status field to notify Teams, update a record, or retry.
Build with the Power Automate
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