Public forms and links

For people outside the company. Public forms and links need no login; portal users sign in to see only their own records.

Four kinds

KindWho opens itTypical use
Open formAnyone with the linkA quote request or enquiry form on your website.
Record linkThe person a link was made for, for one recordApprove a quote with a signature, a job sign-off sheet, a job status page, an invoice with a Pay button.
Customer portal (no login)The person a record link was made forA record link with pages: a customer's quotes, jobs and invoices.
Lookup pageAnyone who can prove a fact on file, or enter a 6-digit one-time codeType a job or order number and see its status.

Build, check, publish

A form is three JSON documents (definition, data and mapping). Administrators build them in the web app under Settings, Public forms, or through the public-forms staff API at https://<api-host>/public-forms with a signed-in administrator session. A check validates everything against the live schema and returns a plain-English summary of who can open it, what they see and what a response writes; publishing freezes that version.

CallPurpose
GET /public-formsList forms with link and inbox counts
POST /public-formsCreate a draft
GET /public-forms/:id/checkValidate and get the summary
POST /public-forms/:id/publishPut a new version live
POST /public-forms/:id/linksMake links: one, or up to 500 record links per call
POST /public-forms/:id/links/:linkId/revokeRevoke a link
GET /public-forms/:id/submissionsThe responses inbox
  • A new link's URL is returned once and stored only as a hash.
  • Links can carry an expiry and a maximum number of submissions, and can be revoked.
  • From an automation, send_public_link makes a link and sends it by email or SMS in one step; the default expiry is 30 days.
  • Responses fire automation triggers: public_form opened, submitted, signed and paid.

Payments and signatures

Pay buttons use Stripe-hosted checkout on the workspace's own Stripe account; the amount always comes from the record, and a payment counts only when Stripe's signed webhook confirms it. Drawn signatures are stored with the response. One response can carry up to 12 files and 60 MB.

Portal users

When outside people need to sign in, for example a contractor or a customer who returns often, they become portal users: they sign in with their own email and password, see one web app, and see only the rows tied to them, enforced by Postgres row security. Administrators set them up under Settings, Portal users (check, apply, invite). AI widgets, chat and voice, the email inbox, PDF generation and export are not available inside a portal.

Fieldproxy no longer builds public apps. People without a login always get a public form or link; people who sign in are portal users.

Checked against the Fieldproxy platform reference on October 18, 2026.

Get your own custom field service management within a day. Tailored to your workflows.

We set up a workspace on your own data and connect your AI or your systems on the call.

Get Demo