Fax Integration: Connect Faxing to Your Existing Software

Fax integration wires a cloud fax service into the software your team already uses — CRM, EHR, ERP or a custom app — so documents send and arrive without anyone leaving the screen they work in. Compare the five integration methods, match one to your system, and follow a seven-step rollout plan.

Fax Integration: Connect Faxing to Your Existing Software

By Michael Chen · Published July 15, 2026 · 12 min read

Quick Answer: Fax integration connects a cloud fax service to software you already run, so faxes send and arrive inside that system instead of on a separate machine. There are five ways to do it — an email-to-fax gateway, a REST fax API, a no-code automation platform, a vendor connector, or a print-to-fax driver — and the right one depends on who is building it and whether you also need to receive.


Every other channel your business uses got absorbed into software years ago. Email lives in the CRM, signatures live in the contract tool, invoices post themselves to the ledger. Fax integration is the work of finally doing the same thing to the one channel that never made the trip — the one that still involves a machine in the corner, a shared web portal, or someone re-keying a confirmation number into a ticket.

The goal is not "we have an online fax account." The goal is that the fax step disappears into a workflow somebody is already in: a referral leaves the EHR, a signed order leaves the CRM, an inbound authorization lands attached to the right record. This guide covers the five integration methods, how to pick one for the system you actually own, a seven-step rollout, and the failure modes that show up two weeks after launch.

The short version

If you control the source code, use a REST fax API — it is the only method that gives you structured delivery status. If you don't, use a no-code automation platform or a vendor connector. Email-to-fax and print-to-fax are for systems that will never be changed.


What Is Fax Integration?

Fax integration is the practice of connecting fax transmission to a business system so that sending or receiving a fax happens as a step inside that system's workflow. The fax service handles the telephone network; your software handles the document, the recipient, and the record-keeping.

Every integration has the same three parts, whatever method you choose:

  1. A transport — the mechanism your software uses to hand over a document: an HTTP request, an SMTP message, a watched folder, or a printer driver.
  2. A credential — an API key, SMTP login, or connector authorization that ties the transmission to your account and its fax numbers.
  3. A return path — how the outcome gets back to you: a webhook, a confirmation email, a status field, or a receipt printed at a device.

Most integration projects go wrong on the third part. Sending is easy. Knowing — reliably, in a form your software can act on — that page four never arrived is what separates a real integration from a shortcut.


The 5 Ways to Integrate Fax Into Your Software

There are five practical fax integration methods. They differ mainly in who does the work and how much structured feedback you get back.

MethodWho builds itTypical effortStatus feedbackBest for
Email-to-fax gatewayAnyone with mail accessHoursReply email onlyLegacy apps that can already send email
REST fax APIA developer1–3 days to send; ~1–2 weeks with webhooks and inboundReal-time, structuredCustom apps, volume, compliance
No-code automationAn ops or admin userHoursDepends on the platformGluing SaaS tools together
Native connectorThe vendor; you configureHours to weeksWhatever the vendor exposesSalesforce, SAP, major EHRs
Print-to-fax / MFPITHalf a dayDevice receiptPaper-first offices

1. Email-to-Fax Gateway (SMTP)

An email-to-fax gateway turns an outgoing email into a fax. Your software addresses a message to 15551234567@gateway.provider.com, attaches a PDF, and the provider dials the number. Any system that can send mail can now send a fax — no HTTP client, no new library, no deployment.

That reach is the whole appeal. Practice-management systems, ERPs and twenty-year-old line-of-business apps almost always have an SMTP configuration screen, and almost never have a plugin framework.

The cost is feedback. You get a confirmation email, not a status field, so your software cannot easily branch on failure, and page counts arrive as prose rather than data. Our email-to-fax API guide covers the address formats and code for this route in detail.

2. REST Fax API

A REST fax API is the durable answer whenever you control the code. You POST a document and a recipient number over HTTPS, get an identifier back, and receive webhook callbacks as the transmission moves through its lifecycle.

The mFax API is deliberately small, which makes it a fair illustration of the shape. Sending is one multipart/form-data request with two fields — to in E.164 format and a PDF file:

curl -X POST https://developers.mfax.to/v1/faxes \
  -H "Authorization: Bearer zk_live_..." \
  -F "to=+15551234567" \
  -F "[email protected]"

The response is a fax object with a uuid and a status. That status moves through queued → sending → delivered or failed, and a failure carries a failure_reason such as user_busy so your software can decide between retrying and escalating to a human.

Delivery updates arrive as signed webhooks — fax.delivered, fax.failed and fax.received — with an X-Zelda-Signature header your endpoint verifies before trusting the payload. If you want the request-by-request walkthrough, see our guide to sending a fax via API; for provider selection, see the fax API comparison.

Why the API path wins on maintenance

Structured status is what lets a fax become an ordinary state machine in your app. Once delivered and failed are real values in your database, retries, dashboards, audit trails and SLA reporting are all just queries — no inbox parsing required.

3. No-Code Automation (Zapier, Make, Power Automate)

No-code platforms let an operations person build a fax integration without a developer. A trigger fires — a file lands in a folder, a form is submitted, a deal reaches a stage — and an action sends the fax.

A handful of fax providers publish native apps on Zapier, including Phaxio, Fax.Plus, iFax, Documo and HumbleFax. If your provider is on that list, the build is genuinely a ten-minute job.

If it isn't, you are not stuck. Every one of these platforms has a generic HTTP step — "Webhooks by Zapier," Make's HTTP module, or the Power Automate HTTP action — that can call a fax API directly. Set the payload type to form data, pass the recipient and the file, and you have the same integration without the branded logo. Our fax automation guide walks through both patterns.

The trade-off is operational rather than technical: automation platforms retry on their own schedule, keep run histories that may contain your documents, and change their pricing by task volume. Treat a no-code fax as production infrastructure, not as a spreadsheet macro.

4. Native Connectors and Plugins

Larger fax vendors ship prebuilt connectors for the platforms their enterprise customers live in — Salesforce and Zoho on the CRM side, SAP on the ERP side, Epic and athenahealth in healthcare, PaperCut for print management. You authorize the connector, map a few fields, and faxing appears as a button inside software you did not write.

Before committing to one, ask four questions:

  • Is it first-party or a partner build? Partner connectors can lag behind both platforms' release cycles.
  • Does it handle inbound, or only outbound? Many connectors only send.
  • Which objects does it write to? A connector that logs to a generic activity feed is far less useful than one that attaches the PDF to the record.
  • Who patches it when the host platform ships a breaking change? Get that answer in writing.

5. Print-to-Fax and MFP Scan-to-Fax

The last method meets paper where it already is. A print-to-fax driver installs a virtual printer, so any application with a Print command can fax; a multifunction printer with scan-to-fax sends from the device panel using your cloud account rather than a phone line.

This is the right choice for offices whose documents genuinely start as paper — intake forms, wet-ink signatures, records pulled from a filing cabinet. It is the wrong choice for anything you want to report on, because the transmission carries no metadata your systems can query later.


Which Integration Method Fits Your System?

Match the method to the system you already own rather than to the one you wish you had.

Your systemRecommended pathWhy
Salesforce, HubSpot, ZohoVendor connector, else no-code + APICRMs have rich plugin ecosystems; a connector attaches the PDF to the record
Epic, athenahealth, other EHRVendor connector or API with a routing layerNeeds a signed BAA and patient-record matching, not just transmission
SAP, NetSuite, other ERPConnector at the document-output layerFax belongs beside the existing print/email output channel
SharePoint, Google Drive, DMSNo-code folder watcherA watched folder is the cheapest reliable trigger
Zendesk, Jira, helpdeskNo-code automationTicket events map cleanly onto triggers
Custom in-house applicationREST fax APIYou control the code, so take the structured status
Legacy app with no APIEmail-to-fax gatewaySMTP is the one extension point old software always has
Paper-first office, MFP-centricScan-to-fax plus a cloud numberKeeps the device workflow staff already know

Don't integrate what you should retire

Before wiring fax into a workflow, check whether the recipient still requires it. Some of the volume in a typical office is habit rather than requirement, and every fax you eliminate is one you never have to integrate, monitor or pay per page for.


How to Integrate Fax in 7 Steps

1

Inventory your fax touchpoints

List every place a fax is sent or received today: who does it, from which screen, how often, and what document. Most teams find two or three high-volume paths and a long tail of one-offs. Integrate the high-volume paths and leave the tail on the web app.

2

Decide send-only or send and receive

Send-only integrations are roughly a third of the work. If inbound faxes currently pile up in a shared inbox and get filed by hand, that is usually where the real time is going — plan for it explicitly instead of discovering it later.

3

Pick the integration method

Use the matrix above. The deciding question is almost always whether you can deploy code into the source system. If you can, choose the API; if you can't, choose no-code or a connector.

4

Sort out numbers and credentials

Get a virtual fax number for inbound, and decide whether one number serves the whole company or each department gets its own — that decision shapes all your routing logic. Keep API keys server-side; a fax key in a browser or a mobile binary is a key someone else can spend.

5

Build sending first

Ship outbound before inbound. It is simpler, it proves the credentials and number formatting work, and it delivers visible value while the routing design is still being argued about.

6

Wire up status callbacks

Register a webhook endpoint, verify the signature on every request, and persist each status change against your own record. Handle duplicate deliveries — networks retry, and a webhook that fires twice should not send two faxes or create two tasks.

7

Test against a real fax, then cut over gradually

Send to an actual fax endpoint, not just a test number: real machines expose page-scaling and cover-sheet problems that a simulator never will. Then run the old and new paths side by side for a week before switching anyone off the manual process.


Inbound Is the Half Everyone Forgets

Most fax integration content stops at sending. In practice, received faxes are where the manual labor hides — someone opens a PDF, works out which patient, client or order it belongs to, renames it, and drops it in the right place.

There are four levels of inbound integration, and you should know which one you are buying:

  1. Shared destination. Every fax lands in one inbox or portal and a human triages it. This is not integration; it is a starting point.
  2. Number-based routing. Each department, clinic or workflow gets its own number, so the destination number determines where the document goes. Cheap, robust, and enough for most teams.
  3. Event-driven filing. Your software subscribes to an inbound event, downloads the document, and files it programmatically. With the mFax API this is the fax.received webhook plus a GET /v1/faxes?direction=inbound reconciliation sweep.
  4. Content-based matching. OCR extracts an identifier from the page and matches it to a record automatically. Powerful, and the only level that needs a real accuracy budget and a human fallback queue.

Download links expire

Fax providers hand out presigned, time-limited URLs for received documents — mFax returns one as media_url. Store the file, not the link. Integrations that save the URL and read it a month later fail silently, and usually at audit time.


Fax Integration in Healthcare

Healthcare is where fax integration pays for itself fastest, because the volume is real and the fallback is a person with a stack of paper. The reason the volume persists is structural: according to ONC Data Brief No. 71, only 43% of U.S. non-federal acute care hospitals routinely engaged in all four domains of interoperable exchange in 2023. Where systems can't exchange data directly, fax remains the default.

Three requirements are non-negotiable when protected health information is involved:

  • ✓A signed BAA with the fax provider, covering the API and any storage of transmitted documents — not just the web app.
  • ✓PHI kept out of logs, error trackers and no-code run histories. A stack trace that includes a patient name is a disclosure.
  • ✓Verified webhooks, so a forged callback cannot mark a failed transmission as delivered in the chart.

Encryption is table stakes, not compliance. Our HIPAA-compliant fax API guide covers the full control set, including audit logging and access scoping.


What Breaks in Fax Integrations

These are the failures that surface after launch, not during the build.

ProblemWhat it looks likeHow to prevent it
Duplicate sendsA retry storm faxes the same order three timesDeduplicate on your side with your own request key; most fax APIs have no idempotency header
Page-count surprisesThe invoice is 40% higher than modeledBill from the provider's reported page_count, not your PDF's page count — cover sheets and scaling change it
Number format rejectsinvalid_number on numbers that work by handNormalize to E.164 at the boundary, once, before anything touches the API
Unverified webhooksStatus flips with no matching transmissionVerify the HMAC signature and reject stale timestamps
Expired media linksArchived faxes 404 months laterPersist the file to your own storage on receipt
Provider shutdownAn API you depend on is discontinuedKeep provider calls behind one module you can swap

That last row is not hypothetical. Twilio announced the end of life of Programmable Fax on 17 December 2020 and switched it off exactly one year later, stranding every integration that had called the API directly from business logic. One thin adapter would have made that a one-day migration.


What Fax Integration Costs

Integration itself is usually free — providers include API access to win the account. What you pay for is seats and pages.

Cost componentTypical shapeNotes
Platform / seatsPer user, per monthSome vendors charge per API key or per connector too
Pages sentPer page or bundled allowanceThe dominant variable cost at any real volume
Inbound numbersPer number, per monthNumber-based routing multiplies this line
Connector licenceOne-off or annualOnly with enterprise platform connectors
Build and maintenanceYour engineering timeThe real cost of the API route — budget for it honestly

mFax Business is usage-based rather than tiered: $3 per seat per month plus $4 per 100 pages, 20% off annually, starting from about $9/mo. API access is included on every plan, so a one-seat integration project doesn't require an enterprise contract. For how the models compare across vendors, see our fax API pricing breakdown.


Frequently Asked Questions

What is the difference between fax integration and online fax?

Online fax gives your team a web app and a number. Fax integration removes the web app from the workflow — the fax is sent and received by software your team is already using, and the outcome is recorded automatically. Every fax integration sits on top of an online fax account; not every online fax account is integrated.

Do I need a developer for fax integration?

Not always. A no-code automation or a vendor connector can be configured by an operations or IT admin in an afternoon. You need a developer once you want structured delivery status, inbound routing into specific records, or volumes where retries and error handling have to be automatic.

Can I integrate fax into an application that has no API?

Yes, through the two universal extension points: email and print. If the application can send mail, an email-to-fax gateway works. If it can print, a print-to-fax driver works. Neither gives you structured status, but both avoid touching the application's code.

What happens to my integration if I change fax providers?

If every provider call lives behind one module in your codebase, a migration is a matter of swapping endpoints and re-mapping status values. If fax calls are scattered through business logic, expect weeks. This is the single best argument for writing a thin adapter on day one — see our fax API overview for what that layer should abstract.

Should I run a fax server instead of integrating a cloud service?

Only if a regulatory or network requirement forces documents to stay on your infrastructure. An on-premise fax server means telephony hardware, line contracts and patching that a cloud API removes entirely. Compare both before committing to hardware.


Start Your Fax Integration

Pick your path and build the smallest useful version first. If you write code, create an API key in the mFax dashboard and read the reference at developers.mfax.to — one POST /v1/faxes request is a working integration, and webhooks turn it into a reliable one.

If you don't, mFax Business gives your team fax numbers, seats and a signed BAA across web, mobile and desktop, with API access included on every plan so you can automate later without changing vendors. And when someone just needs one document out the door today, send it from the mFax app — no integration required.

Frequently Asked Questions

What is fax integration?
Fax integration connects a cloud fax service to software you already run — a CRM, EHR, ERP, document system or in-house app — so faxes send and arrive inside that system instead of on a separate machine or web portal. It is delivered through an API, an email-to-fax gateway, a no-code automation platform, a vendor connector, or a print-to-fax driver.
Can I integrate fax without writing code?
Yes. A no-code automation platform such as Zapier, Make or Power Automate can watch a folder, form or CRM record and call a fax provider on your behalf, and vendor connectors for platforms like Salesforce or SAP are configured rather than coded. See our [fax automation guide](/blog/fax-automation/) for worked examples.
Does fax integration work with my EHR or CRM?
If the system exposes an API, a webhook, a plugin framework or even a watched folder, it can be integrated. Check first for a published connector from your fax provider; if there is none, a REST fax API plus a small middleware layer covers almost every platform.
Is fax integration HIPAA compliant?
Only if the provider signs a Business Associate Agreement and you keep protected health information out of logs, error trackers and automation run histories. Encryption alone is not compliance — see our [HIPAA fax API guide](/blog/hipaa-fax-api/).
How long does a fax integration take to build?
An email-to-fax gateway or a no-code automation can be live in an afternoon. A REST API integration with send, status webhooks and inbound routing typically takes a developer three days to two weeks, depending on how much routing logic your workflow needs.
Home Business Fax API Document Converter Support Company Blog
Terms of Service Privacy Policy