Quill Forms
FormsQuill Forms is an open source conversational form builder that runs as a WordPress plugin. Agents read and write forms and their block-based questions, manage submissions, submit entries, manage themes and provider integrations, generate a form from a plain language brief, and react on every new entry.
What This Integration Enables
Quill Forms is the choice teams make when they have decided the answers people give them are not going to live on somebody else's server. It is an open source conversational form builder running as a WordPress plugin on your own install, which means there is no vendor API host in this integration at all. FlowRunner authenticates to your site with a WordPress Application Password and talks to the plugin's own routes, so the same connector works whether the site sits in a data center you rent or one you own.
That ownership changes what an agent can safely do. FlowRunner agents read the form structure and resolve block IDs into labels, list and count entries, submit new entries through the plugin's real submission path so offline intake runs the same validation and notifications a web respondent triggers, re-drive submissions through a provider connection that was misconfigured when they first arrived, manage themes centrally, and draft an entire question tree from a plain language brief. What they do not do is write structure unattended, because Quill Forms replaces a form's blocks wholesale rather than merging them. That is exactly the boundary human-in-the-loop exists to hold.
Without FlowRunner
With FlowRunner
Use Case Scenarios
-
Conversational lead capture that lands as a readable record
A respondent completes a lead form and On New Entry fires. The agent calls Get Form Questions to turn block IDs into the labels the respondent saw, then looks the person up in HubSpot and creates or updates the contact with the answers attached under their real names. A row goes to Google Sheets for the weekly pipeline review and a message posts to Slack for the sales channel. Because the labels are resolved before anything is written, the CRM record reads like the conversation rather than like a database dump.
-
Offline intake through the same pipeline as the web
Registrations collected by phone, at an event, or in a legacy system are pulled from Airtable and pushed through Submit Form Entry one at a time. That operation posts to the plugin's real submission handler rather than a shortcut route, so each entry runs the form's validation, its conditional logic, its email notifications and its connected providers exactly as a web respondent would. A rejected submission comes back with its field errors and fails the step rather than passing quietly, which is what makes the batch trustworthy. The offline channel stops being a second, weaker pipeline.
-
Noticing that a connection has been failing
On a schedule, the agent calls List Logs filtered to error and critical rows and Get System Status to read which provider addons are installed and at what version. When errors appear against a provider, it posts the failing entries and the addon version to the site owner, and offers Run Connection On Entries as the recovery path. The owner picks the entries to re-drive. Nobody has to ask respondents to submit again, and nobody finds out weeks later that a whole campaign's leads never reached the CRM.
Human-in-Loop Highlight
Generate Form Structure will happily draft a question tree from a brief, and Update Form will happily write it. What makes that combination dangerous is that Quill Forms replaces structure wholesale: a partial blocks tree sent to Update Form deletes every question left out of it, and Delete Form goes further, permanently destroying the form's entries with no trash to recover them from. So a FlowRunner agent revising a live form drafts the tree, reads the current one with Get Form, runs Count Entries, and then stops. It posts: "This brief adds two qualifying questions and drops the budget field. The live form has collected entries under that field, and writing this tree removes it. Apply, or keep the budget question?" The marketing owner answers. Only then does Update Form run. The drafting was the agent's work. Deciding which questions stop existing was not.
Agent Capabilities
32 actionsForms
7- List Forms Lists the forms published on the site. The starting point for any workflow that has to find a form by name rather than by ID.
- Get Form Retrieves one form with its blocks, settings, messages, notifications and theme reference. Always read this before any structural write, because updates replace rather than merge.
- Get Form Questions Walks the block tree, including questions nested inside group blocks, and reports every question with its label, type and parent. This is what turns a raw submission into something a person can read.
- Create Form Creates a new form from a block structure. Used to stand up campaign forms programmatically instead of cloning by hand.
- Update Form Updates a form's structure and settings. The write this page's human gate exists for, because the blocks tree it sends replaces the one already there.
- Delete Form Deletes a form. A permanent delete also destroys every entry the form collected, with no trash to recover them from.
- Export Forms Returns the raw export document for one or more form definitions. Used to snapshot a form before a change or to move a definition between sites. It carries definitions only, never entries.
Entries
7- List Entries Lists submissions with their stored and rendered answers, keyed by block ID. Date filtering is whole days, so a range at a day boundary is widened rather than trimmed.
- Count Entries Returns how many entries a form holds. Used to confirm what a destructive change is standing on before it runs.
- Get Entry Retrieves a single entry. Quill Forms publishes no single entry route, so this searches the ordered listing rather than downloading the table.
- Update Entry Sets the read and starred flags on an entry. Those are the only two fields the plugin actually applies, so this operation exposes exactly those.
- Delete Entry Deletes one entry and reports honestly whether it was removed.
- Delete Entries Deletes entries in bulk. The route acknowledges unconditionally, so the result names the IDs that were requested rather than the rows that were destroyed. Confirm with Count Entries when it matters.
- Submit Form Entry Submits an entry through the plugin's real submission handler, so validation, conditional logic, notifications and connected providers all run. The way an offline channel joins the same pipeline as the web form.
Themes
6- List Themes Lists the reusable visual themes defined on the site.
- Get Theme Retrieves one theme's properties.
- Create Theme Creates a theme. Used to publish a house style once rather than restyling each form.
- Update Theme Updates a theme's properties. Like form structure, a theme's properties are replaced rather than merged.
- Delete Theme Deletes a theme. Forms using it fall back to the plugin's default appearance rather than breaking.
- Set Form Theme Points a form at a theme by ID. This exists as its own operation because writing the theme field by hand is easy to get wrong and fails silently.
Integrations
5- Get Form Connections Reads the provider connections configured on a form.
- Update Form Connections Writes a form's provider connections. Used to wire a newly created form up to its destinations in the same flow that created it.
- Get Addon Settings Reads the account level settings of one provider addon.
- List Addon Accounts Lists the connected accounts a provider addon holds, so a connection can be pointed at the right one.
- Run Connection On Entries Re-drives selected entries through a provider connection. The recovery path for submissions received while an integration was broken. Read the per entry results rather than the top level success flag.
Site
6- Get Plugin Settings Reads the plugin's site wide settings.
- Update Plugin Settings Writes the plugin's site wide settings. Site wide by definition, so it changes behavior for every form at once.
- Get System Status Reports the install's health and the addons present with their versions. Used to explain why a provider route is missing before anyone calls it a bug.
- List Logs Reads the plugin's own log table, filterable by level. The scheduled read behind failure alerting.
- Delete Log Entry Removes a single log row.
- Clear All Logs Empties the log table.
AI
1- Generate Form Structure Drafts a complete question tree from a plain language brief using the AI builder in the free plugin. Produces a proposal, not a published change.
Triggers
1 triggersEvent Triggers
1- On New Entry Fires when a new submission arrives on the watched form. It polls the entries listing and tracks the highest entry ID it has already reported, because the plugin's update timestamp is copied from the creation date and cannot be used for change detection. The first cycle records a baseline and emits nothing, so enabling it on an established form does not replay its history.
Frequently Asked Questions
What can FlowRunner do with Quill Forms?
FlowRunner agents can run List Forms, Get Form, and Get Form Questions in Quill Forms, plus 29 more actions.
Does connecting Quill Forms to FlowRunner require OAuth?
No. Quill Forms connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.
Can Quill Forms trigger a FlowRunner workflow automatically?
Yes. Quill Forms supports 1 trigger that can start a FlowRunner workflow automatically.
Start building with Quill Forms
Free plan, no card required. Connect in minutes.