Pipory
Features

Interfaces

Hosted public form pages bound to a workflow - collect fields from anyone with a link, fire the workflow, no code needed.

An Interface is a hosted public page at /i/[token] with a title, description, and a set of declared fields. Anyone with the link can fill in the fields and submit; each submission fires a bound workflow with the values available in the run context as {{interface.fieldKey}}.

Interfaces live on the Interfaces page in the sidebar, alongside workflows and data tables - they're workspace-scoped resources you manage independently of any single workflow's canvas.

Creating an interface

Click New interface from the Interfaces page. Fill in:

  • Name - the interface's internal name (shown in the management list, not on the public page).
  • Title and Description - shown to visitors on the public page above the form.
  • Bound workflow - the workflow to run on each submission. The workflow must have been Published at least once (interfaces fire the published version, not the live draft).
  • Fields - an ordered list of inputs, each with a key, label, type (text, textarea, number, select, checkbox), and optional required flag. The key is what appears in the run context as {{interface.key}}.
  • Submit button text - defaults to "Submit".
  • Thank-you message - shown on the public page after a successful submission.

After saving, the interface's detail page shows the public URL (/i/[token]). Anyone with the link can submit; there is no per-submission authentication. If you need to restrict access, collect an identifying field and route on it inside the workflow.

Regenerating the token invalidates the old URL immediately.

Run context

A submission fires the bound workflow with context.interface populated:

KeyValue
{{interface.fieldKey}}The submitted value for that field (coerced to the declared type).

Reference any field the same way you'd reference {{webhook.x}} or {{form.x}} downstream.

Difference from Form trigger

A Form trigger is a node on a specific workflow's canvas - you configure the fields inside the editor, and the public URL is tied to that workflow node. An Interface is a standalone resource that binds to any workflow, works with any trigger type (not just Form), and is managed on its own page rather than inside the editor. Use Form trigger when you're building a workflow that exists to serve a specific form; use an Interface when you want a reusable public entry point that you can rewire to different workflows without editing either workflow.

  • Triggers - Form trigger (the in-workflow alternative) and other ways to start a run.
  • Workflows & publish - why the bound workflow must be published before the interface can fire it.