Hooks

Airtable

4 hooks fired by Airtable: 4 filters and 0 actions across 4 call sites.

4 hooks fired by Airtable: 4 filters and 0 actions across 4 call sites. 4 of the 4 call sites are described by a docblock, at the call or on the constant that names the hook; the rest are listed with their signature and call sites only. Paths are relative to the plugin directory.

xpac-forms-after-settings-modal-content

Filter · 3 arguments · 1 call site

Content appended inside a settings panel's item modal.

applyFilters( 'xpac-forms-after-settings-modal-content', [], { value: options, onChange: onUpdate, }, `xpac-${ID}` )

Fired from:

  • assets/packages/airtable/Components/Modal.js:655

xpac_airtable_request_timeout

Filter · 1 argument · 1 call site

Filters how long to wait for Airtable before giving up, in seconds.

WordPress defaults to 5, which is short for a metadata call over a cold connection. Deliveries treats a timeout as transient and retries on its own backoff, so raising this trades a slower failure for fewer retries.

apply_filters( 'xpac_airtable_request_timeout', 10 )
  • $timeout (int) — Timeout in seconds. Default 10.

Fired from:

  • packages/Airtable/Client.php:177

xpac_airtable_typecast

Filter · 2 arguments · 1 call site

Filters whether to let Airtable convert submitted values to the column's type.

Every value a form submits is a string. Airtable's own validation is strict by default, so "5" is rejected by a Number column and "2026-08-13" by a Date one — and because a record is validated as a whole, that one key takes the rest of the record down with it. On, the types a form can actually fill go from text-only to all of them.

The cost is that typecast also creates Single select and Multiple selects options that do not exist yet, and a record in the linked table for a Link to another record column, so a free-text answer mapped to a select column adds an option to the base. The action's own toggle is the default here; return false to have Airtable reject those values for every action regardless.

apply_filters( 'xpac_airtable_typecast', false !== ($data['typecast'] ?? true), $data )
  • $typecast (bool) — Whether to send typecast: true. Default true.
  • $data (array) — Record data: baseId, tableId and fields.

Fired from:

  • packages/Airtable/Client.php:423

xpac_airtable_upload_attachments

Filter · 1 argument · 1 call site

Filters whether to post attachment bytes to Airtable.

Off, every file reaches the base as a URL for Airtable to fetch, which is the pre-upload behaviour: fine on a public site, silently empty on one Airtable cannot reach. Files above 5 MB take the URL route either way, because the upload endpoint rejects them.

apply_filters( 'xpac_airtable_upload_attachments', true )
  • $upload (bool) — Whether to upload file contents. Default true.

Fired from:

  • packages/Airtable/Addon.php:954

On this page