Send a Fax from Zoho Creator Using an Email-to-Fax Gateway

Send Faxes Online from Zoho Creator with an Email-to-Fax Gateway

The cheapest way to fax out of Zoho Creator is not an API at all — it is email. Every mainstream fax provider accepts a message sent to <number>@theirdomain and puts the attachment on the wire. That means Deluge’s built-in sendmail can fax a report template as a PDF with no OAuth, no tokens, and no third-party API to maintain.

The original gateway is dead. The 2018 version of this script faxed by mailing 1<number>@fax.com. That gateway no longer exists — fax.com now redirects to an eFax marketing page and its mail records point at ordinary mail hosting, not fax infrastructure. The example below uses SRFax; the table further down lists the current address format for each major provider. The original also cleared the fax flag on every record in the form rather than the one being edited, which is corrected here.

Before you start

  • An account with an email-to-fax provider, and the sending address whitelisted in their dashboard. Every modern gateway rejects mail from unauthorised senders — this is the step people miss. The address that must be authorised is the one zoho.adminuserid resolves to.
  • A form (Procedure_Data here) with Fax_No, Subject_field, Content, and a Fax decision-box field.
  • A report template named ConsultPrintFax holding the page you want faxed.

Deluge script

// ── Button action on the report ──────────────
void Send.Fax(int id)
{
    openUrl("#Form:Procedure_Data?recLinkID=" + input.id + "&viewLinkName=Consults_List&Fax=true","popup window");
}

// ── On Edit > On Success of the data form ────
if(input.Fax == true)
{
    // Clear the flag on THIS record only.
    input.Fax = false;

    faxTo = input.Fax_No.replaceAll("[^0-9]","");   // digits only
    if(faxTo.length() == 10)
    {
        faxTo = "1" + faxTo;                        // US/Canada country code
    }

    sendmail
    [
        from : zoho.adminuserid
        to   : faxTo + "@srfax.com"
        subject : input.Subject_field
        message : input.Content
        Attachments : template:ConsultPrintFax as PDF
    ]

    info "Fax queued to " + faxTo;
}

Current gateway address formats

ProviderAddress
SRFax<number>@srfax.com
Fax.Plus<+E164>@fax.plus
eFax (consumer)<number>@send.efax.com
eFax Corporate<number>@efaxsend.com
Documo / mFax<11-digit>@send.mfax.io

Notes

  • Why the flag field exists. The pattern hides every field except the message and fax number, so the user is editing a record purely to send a fax. The Fax decision box is how the On Success script tells “send this” apart from an ordinary edit.
  • Set the flag false first. Clearing it before sendmail stops a re-save from faxing twice.
  • You get no delivery receipt in Creator. The gateway confirms by email to the sender. If you need status on the record, that is the point to move to a real API such as the RingCentral script in this section.
  • Healthcare. Ordinary email-to-fax is not HIPAA-safe. Fax.Plus and Documo offer TLS endpoints under a BAA; use those if the content is PHI.

This script is part of the free Creator Scripts Deluge Library.

All 39 Deluge scripts, the full Zoho Creator course, and every downloadable asset are now free. Get free access →