Skip to content

Integrations

Does it work with your stack?

Two honest lists. What is built in and shipping today, and what you can wire up yourself in about twenty minutes against the API and webhooks — no partnership implied, no connector to install.

Built in

REST API

Team

Read and write scans with an API key over plain HTTPS: list scans with since and offset paging, push up to 500 at a time, list groups, or pull a CSV. Writes merge on the barcode — send a field to change it, omit it to keep what is there — so a re-post is safe. 120 requests a minute per key.

Signed webhooks

Team

scan.created and scan.updated delivered to your HTTPS endpoint, each request signed with HMAC-SHA256 so you can prove it came from us. Events are emitted by the database itself — offline flushes, bulk imports and API writes included — queued, and delivered at least once with retries and a readable record of every attempt. Expect a delivery within about a minute, and build the receiver idempotent: at least once means occasionally twice.

File export

Field Pro

CSV, or tab-delimited TXT with no header row for positional importers. Thirteen fields with a picker, tap order sets column order, and cells that could be read as spreadsheet formulas are neutralized on the way out.

Scheduled digests

Field Pro

A daily or weekly email summarizing what the team scanned, delivered on a schedule you set. No dashboard visit required to know what happened.

Product lookup

Field Pro

Numeric UPC and EAN barcodes are looked up against Open Food Facts and come back with a name and category. Results are cached for the team, and a lookup never overwrites a name you set yourself.

Push notifications

All plans

Native push on iOS and Android for the events that matter to a shared inventory, delivered through APNs and FCM.

Sign-in

All plans

Google, Apple, or email with a magic link. No password to manage unless you want one.

One caveat worth knowing before you build: the API’s GET /export/csv is not the same file the app exports. It returns a fixed twelve-column set — it adds group_id, drops quantity and added_by, uses LF line endings rather than CRLF, has no TXT variant and no field picker, and it dumps the whole account, which is why it is limited to ten requests a minute. The in-app and web exports are identical to each other; the machine-facing one is its own thing.

fieldscan-export.csvCSV
barcode,name,status,quantity,added_by
5901234123457,Blue nitrile gloves, L,Reviewed,48,R. Okafor
What the app and the web export write. Thirteen fields available, your order, CRLF.
GET /export/csvAPI
barcode,name,status,group_id
5901234123457,Blue nitrile gloves, L,Reviewed,grp_8c21…
What the API returns. Fixed twelve columns, adds group_id, no quantity or added_by, LF.

Recipes

Self-wired in roughly twenty minutes each. These are worked patterns, not partnerships — you hold the keys at both ends.

Scans into Google Sheets

Point a webhook at an Apps Script doPost, verify the signature, appendRow. Every scan lands in a spreadsheet as it happens.

Zapier or Make

A catch-hook receives the webhook; check the HMAC in a code step, then route the scan anywhere either platform reaches.

n8n

Self-hosted: a Webhook node with the same signature check, then whatever your flow needs. No third party sees your data.

Legacy and accounting import

Order the TXT columns to match what your importer expects — no header row, tab-delimited, positional. Built for software that predates the cloud.

Marketplace bulk upload

Shape a CSV per sales channel with the field picker: one count, then one file each in the column order every marketplace demands.

Nightly pull into an ERP

A cron job against GET /scans with since set to the last run hands the day’s scans to whatever system owns your stock.

Every webhook request carries its signature in X-FieldScan-Signature and its send time in X-FieldScan-Timestamp. Verifying it is one line of crypto against the raw request body:

expected = "sha256=" + hex( HMAC_SHA256( secret, timestamp + "." + raw_body ) )
valid    = timing_safe_equal( expected, header["X-FieldScan-Signature"] )

The runnable versions live in the guides: REST API quickstart and verifying webhook signatures, with copy-paste snippets for Node and Python.