Fax From Airtable — Using a Run-Script Automation and Our API
Airtable's built-in automations can run a script when a record changes, and that script can call any HTTPS API — so faxing from a base does not need an Airtable extension from us, and none exists. You add a run-script automation that reads the recipient and an attachment URL from the triggering record and POSTs them to our REST API. The base becomes the queue, and each row that meets your condition becomes a fax.
Plan requirement
This uses our REST API, which is part of the Business ($79.99/mo) and Enterprise ($169.99/mo) plans; a key on a lower plan is rejected. Airtable's run-script automation action is available on Airtable's paid tiers — that limit is Airtable's, not ours. The API key is stored in the automation's script, so restrict who can edit the base.
How it works
You create an automation triggered by a view entering or a checkbox flipping — say a Send fax? box — and add a Run a script action. In the script you read the fax number field and the URL of an attachment (Airtable attachments expose a temporary URL) from the input config, then use fetch to POST to /v1/faxes with the number as `to` and the attachment URL as document_url. The script writes the returned fax id back into a field on the same record with the Airtable API, so every row shows whether and when it was sent. Because attachment URLs are short-lived, sensitive documents can instead be downloaded and posted inline.
What you can do
- ✓Fax a record when a checkbox, view, or field-change trigger fires an automation
- ✓Read the recipient number and an attachment URL from the triggering record
- ✓POST to /v1/faxes from Airtable's Run-a-script action with no external server
- ✓Write the returned fax id and status back into fields on the same row
- ✓Batch a whole view by looping records that match your send condition
- ✓Use an Idempotency-Key per record so a re-run never double-faxes a row
Setup steps
- 1Put the account on Business or Enterprise and create a key at /dashboard/developers
- 2Add fields for the fax number, the document attachment, a send trigger, and a result
- 3Create an automation with the trigger that should send (view entry or checkbox)
- 4Add a Run-a-script action that reads the record and POSTs to /v1/faxes
- 5Write the fax id back into the result field via the Airtable script API
- 6Poll GET /v1/faxes/:id or register a webhook to record final delivery
Example
// Airtable Run-a-script automation
const { faxNumber, docUrl, recordId } = input.config();
const res = await fetch("https://www.sendfaxmail.com/v1/faxes", {
method: "POST",
headers: {
Authorization: "Bearer sfm_live_xxxxxxxx",
"Idempotency-Key": recordId,
"Content-Type": "application/json",
},
body: JSON.stringify({ to: faxNumber, document_url: docUrl }),
});Airtable Fax — FAQ
There is no marketplace extension from us, and we would not imply there is. Airtable already runs scripts inside automations, and a script can reach any HTTPS endpoint — so the whole integration is a run-script action you add to your base that calls our REST API. Nothing is installed from an Airtable app store.
Read the attachment field from the input config; Airtable attachments carry a temporary URL you can pass straight into document_url so our server fetches the file. Because those URLs expire, use inline base64 instead when the document is confidential and you would rather not rely on a short-lived public link.
Yes. Have the automation trigger on a view, or loop the view's records inside one script run, and POST each qualifying row to /v1/faxes. Give every record its own Idempotency-Key — the record id works well — so re-running the automation resends nothing that already went out.
The key lives in the automation's script, visible to anyone who can edit the base. Limit base-edit access, scope the key to faxes:send only, and rotate it at /dashboard/developers if collaborators change. Treat the key like any credential embedded in a low-code tool.
Build with the Airtable Fax
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