FlowRunner
PricingContact
Theme
Start Free

Plumsail Forms

Forms

Plumsail Forms is a drag and drop builder for public web forms shared by link or embedded in a page. Agents create, update and duplicate forms, read and clear submissions and drafts, manage uploaded attachments, and run a flow every time a chosen form is submitted.

1 trigger 21 actions API key available
Plumsail Forms website Platform Documentation Capability data verified 2026-08-26
On Form Submitted delivers the field values and references to any uploaded files
Get Form Field Schema resolves each value against the form's declared field set
Download Attachment pulls the respondent's upload into FlowRunner file storage
Agent creates or updates the matching record in the system that owns this intake
Agent compares the form's submission lifespan against the retention this process needs
A summary posts to the intake channel with the submission identifier
The retention owner decides what gets cleared from Plumsail and what stays

What This Integration Enables

Plumsail Forms treats a form as a document rather than as a thing you build once in a designer and then leave alone. A form's layout is a JSON document describing its controls, fields, theming and custom code, and the API hands you that document, takes it back, and copies it. Get Form Schema on a form that already works gives you exactly what Create Form accepts, which means a proven intake form stops being a one-off and becomes something a flow can deploy per client, per region or per campaign without anybody reopening the designer.

The second thing Plumsail is deliberate about is that it does not want to be your system of record. Submissions and drafts are kept only when the form enables storage, and each has a lifespan after which Plumsail removes them on its own. That is a sensible default and it changes how agents should behave: the flow's job is to move each submission somewhere durable quickly, then decide what remains behind. FlowRunner agents read the schema before mapping, pull attachments into file storage, write the record downstream, and hand the retention decisions to a person, because the clearing operations here are wider and less complete than their names suggest. Every action is built and verified against the Plumsail Forms API.

Without FlowRunner

Forms built one at a time Each client, region or campaign gets a form rebuilt by hand in the designer, and they drift apart
Mapping by field position An integration breaks the moment somebody reorders or renames a control in the designer
Retention as an assumption Nobody is certain how long a given form keeps submissions, drafts and uploads, or where the copies ended up

With FlowRunner

Forms deployed from a known-good layout Duplicate Form and Create Form roll a proven layout out per client, region or campaign from the flow
Mapping read from the schema Get Form Field Schema tells the flow exactly which fields a submission will carry before anything is written
Retention as a running process A scheduled sweep reports each form's lifespans and what is still stored, and a person approves what gets cleared

Use Case Scenarios

  • Schema-aware intake into the CRM

    On Form Submitted starts the flow with the submitted values and any attachment references. Before mapping anything, the agent calls Get Form Field Schema so it knows the field set the submission actually carries, then matches those fields onto the target record rather than trusting a mapping written months ago. Download Attachment pulls the respondent's uploaded file into FlowRunner file storage, the record lands in HubSpot with the file attached, and a summary posts to Slack. When somebody edits the form in the designer, the flow sees the new schema on the next submission instead of quietly writing to a field that no longer exists.

  • A fleet of forms from one proven layout

    Operations has one intake form that works. The agent calls Get Form Schema on it, then Duplicate Form or Create Form per client, region or campaign, overriding the name and the storage settings through Properties. Update Form adjusts a live form's submission lifespan, draft lifespan and notification setting without touching its layout. Get Forms then gives a single readable answer to the question nobody could answer before: which forms exist, and how long does each of them keep respondent data.

  • The retention sweep that stops before it clears

    On a schedule, the agent runs Get Forms and flags any form storing submissions longer than the process actually needs. For each flagged form it reads Get Submissions and Get Drafts to see what is genuinely still there, checks whether each submission was already copied downstream, and lists the attachments still sitting in Plumsail storage. Then it posts the findings and waits. The clearing calls run only after a person has looked at the list, because Delete All Submissions is one call and there is no version of it that puts anything back.

Human-in-Loop Highlight

Delete All Submissions clears a form's whole submission history in a single call and cannot be undone. What makes it a gate rather than a routine cleanup step is that it is also incomplete: deleting the submissions does not delete the files respondents attached to them. Those need Delete Attachment, one at a time, and a flow that ran the wholesale clear will report success while the uploads are still in Plumsail storage. So the retention agent stops and asks the data owner: "This form holds 412 stored submissions and 88 attachments. Clearing submissions will not remove the attachments, and the earliest 30 submissions have already passed the lifespan so their values may already be gone. Clear submissions only, clear submissions and then delete each attachment, or leave the form alone?" The agent had already gathered every fact in that question. What it could not do was decide whether the erasure the team promised means the one that leaves the files behind.

Agent processes routinely
Detects exception requiring judgment
Clear match Continues automatically
Ambiguous Routes to human via preferred channel
Human decides
Agent resumes with decision

Agent Capabilities

21 actions

Forms

8
  • Get Forms Lists every public web form in the account with its id, name and configuration: submission storage, draft storage, lifespans and notification setting. The audit read behind retention sweeps and form inventories.
  • Get Form Schema Retrieves one form with its metadata, configuration and its layout as a stringified JSON document. The easiest way to obtain a layout that Create Form will accept.
  • Get Form Layout Retrieves only the layout document, without the surrounding metadata and configuration. Used when a flow is comparing or transforming layouts rather than reading settings.
  • Get Form Field Schema Returns the machine readable description of every field a submission of this form will contain. Read it before mapping so the flow writes against the form as it is today, not as it was when the mapping was authored.
  • Create Form Creates a public web form from a layout document. The deployment step when a proven form is being rolled out to a new client, region or campaign.
  • Update Form Updates a form in place, changing only the values supplied. Used to adjust retention lifespans, storage and notification settings on a live form without touching its layout.
  • Delete Form Permanently deletes a form. The form stops rendering for respondents, and the submissions and drafts stored against it go with it.
  • Duplicate Form Copies an existing form under a new name, carrying over its storage, lifespan and notification settings unless overridden. The fast path for per-client or per-region variants.

Templates

2
  • Get Form Templates Lists the starting layouts the form designer offers, so a flow can build a new form from a vendor template rather than from scratch.
  • Get Form Template Retrieves one template with the layout document Create Form accepts.

Submissions

4
  • Get Submissions Lists the submissions stored against a form. Kept only when the form has submission storage enabled, and removed automatically once the lifespan expires, so an older submission may already be gone.
  • Get Submission Retrieves one stored submission by its identifier, returning the field values and attachment references. Submission identifiers arrive with each webhook delivery.
  • Delete Submission Permanently deletes one stored submission. Attached files are not removed by this and need Delete Attachment separately.
  • Delete All Submissions Permanently deletes every stored submission of a form in one call. Attached files survive it. The operation this page's human gate exists for.

Drafts

3
  • Get Drafts Lists the saved drafts of a form, the partially completed values of respondents who have not finished. Exists only when draft saving is enabled, and expires on the form's draft lifespan.
  • Get Draft Retrieves one saved draft by identifier with the values entered so far.
  • Delete All Drafts Permanently deletes every saved draft of a form. Respondents who had saved one lose it and start again from empty, so this is housekeeping rather than routine cleanup.

Attachments

2
  • Download Attachment Downloads a file a respondent attached to a submission into FlowRunner file storage and returns a URL later steps can use. The step that gets a respondent's upload somewhere durable before Plumsail's lifespan reaches it.
  • Delete Attachment Permanently deletes one attached file from Plumsail storage. The operation that finishes an erasure that Delete Submission or Delete All Submissions only started.

External Subscriptions

2
  • Subscribe To Form Submissions Registers an endpoint of your own to receive submitted data on every submission, and returns the subscription identifier needed to cancel it. Used when the receiver is outside FlowRunner.
  • Unsubscribe From Form Submissions Cancels a submission subscription so its endpoint stops receiving deliveries. The route is idempotent and answers success even for an identifier that was never registered, so a clean result is not evidence that a subscription existed.

Triggers

1 triggers

Event Triggers

1
  • On Form Submitted Fires whenever the chosen public web form is submitted, delivering the field values together with references to any uploaded files. FlowRunner registers the Plumsail submission subscription when the flow is enabled and removes it when the flow stops, so there is nothing to configure or clean up by hand.

Frequently Asked Questions

What can FlowRunner do with Plumsail Forms?

FlowRunner agents can run Get Forms, Get Form Schema, and Get Form Layout in Plumsail Forms, plus 18 more actions.

Does connecting Plumsail Forms to FlowRunner require OAuth?

No. Plumsail Forms connects to FlowRunner with an API key, no OAuth flow required.

Can Plumsail Forms trigger a FlowRunner workflow automatically?

Yes. Plumsail Forms supports 1 trigger that can start a FlowRunner workflow automatically.

Start building with Plumsail Forms

Free plan, no card required. Connect in minutes.