---
title: "Formlets Integration"
description: "Formlets by Oxopia is an online form and survey builder. Agents list and inspect forms, read field designs, report on form reach and state, build publish links, and react when a form is created or taken offline."
url: https://flowrunner.ai/integrations/formlets
date_modified: 2026-09-04T19:08:45-07:00
---

# Formlets

[Forms](https://flowrunner.ai/integrations/category/documents-forms)

Formlets by Oxopia is an online form and survey builder. Agents list and inspect forms, read field designs, report on form reach and state, build publish links, and react when a form is created or taken offline.

2 triggers · 7 actions · Basic auth · available

[Formlets website](https://formlets.com/) · [Platform Documentation](https://www.formlets.com/apiv1) · Capability data verified 2026-08-26

1.  On Form State Changed fires when a form is deactivated and stops accepting submissions
2.  Agent reads the form record with its previous and current state
3.  Get Form Statistics reports the lifetime view count and whether the form is still live
4.  Get Form Share Links rebuilds the direct link and the embed snippet the outage affects
5.  The agent scans the campaign and page inventory for surfaces still pointing at that link
6.  The owning team is told which live surfaces now carry a form that accepts nothing
7.  The forms owner says whether the form was taken offline deliberately, because Formlets records neither who changed it nor when

## What This Integration Enables

Formlets publishes exactly one API route. That is not a criticism, it is the design constraint that shapes everything on this page, and it is worth being honest about because it decides what an agent can and cannot do here. The forms list is the only documented endpoint, so this connector reads it and builds the rest in FlowRunner: filtering by name, tag, state and date, sorting and paging, resolving a single form, parsing the field design, computing reach, and assembling the publish links. What it cannot build is a submission reader, because Formlets exposes no submission count and no submission route on its public API. A connector that pretended otherwise would be lying to you.

What is left is genuinely useful, and it is the part teams actually lose track of. Agents keep an inventory of every form in the account, know within a polling cycle when one is created or goes offline, hand a form's real field design to whatever system needs to map it, and distribute a form by generating its link and its embed snippet without anyone opening the designer. The [connectors](https://flowrunner.ai/concepts/connectors) do the work that has an unambiguous answer, and the judgment stays where the platform actually keeps it.

### Without FlowRunner

**No inventory of what exists**: Forms accumulate in one designer account and nobody outside it knows what is live

**Offline forms discovered by complaint**: A deactivated form keeps collecting clicks and returns nothing, until a customer says so

**Element identifiers copied by hand**: Mapping a form onto a database means opening the designer and transcribing keys

### With FlowRunner

**The catalog is queryable**: Every form, its state, its tags, and its creation date arrive as a filtered list

**Going offline is an event**: Deactivation raises a signal the moment the state flips, with the previous state alongside it

**The design read straight from source**: Fields arrive as a flat list keyed on the identifiers submissions actually use

## Use Case Scenarios

### The form that quietly stopped accepting anything

A registration form is linked from an email, a landing page, and a partner site. Someone deactivates it in the designer. On Form State Changed fires with the previous and current state, and the agent immediately calls Get Form Statistics for the view count and Get Form Share Links for the exact URL now returning nothing. It posts to the owning channel in [Slack](https://flowrunner.ai/integrations/slack) with the form name, the link, and the list of places the agent found still pointing at it. Formlets records no change timestamp and no actor, so the message asks rather than asserts: was this deliberate?

### A form inventory the whole team can read

On a schedule, the agent calls Get Forms filtered to active forms only, then calls Get Form Share Links for each so the row carries a working link. Every row appends to a table in [Airtable](https://flowrunner.ai/integrations/airtable) with the name, tags, creation date, view count, and current state, and a weekly digest goes to [Notion](https://flowrunner.ai/integrations/notion) for the marketing team. Because Formlets returns the whole account in one call and accepts no query parameters, the filtering that produces the digest runs in FlowRunner rather than costing a request per view.

### Mapping a new form without opening the designer

On New Form fires when someone builds a form in the account. The agent calls Get Form Fields, which returns the element identifiers that submissions are keyed on, each with its type, label, required flag, and choice list, and keeps the untouched element under raw so nothing is discarded. It hands that structure to the team that owns the destination table and writes a proposed column mapping into a sheet in [Google Sheets](https://flowrunner.ai/integrations/google-sheets) for review, so the person approving the mapping is reading real identifiers rather than a transcription of them.

## Human-in-Loop Highlight

Make API Call is the operation that gets a gate, and the reason is unusual enough to state plainly: it is a write into an API that documents nothing. Formlets publishes the forms list and nothing else, while its router accepts any path below /forms and routes both GET and POST. That is why the escape hatch exists, and it is also why a POST through it is not like a POST anywhere else. There is no published schema to validate against, no response contract to check, and a path Formlets does not serve answers with an empty body rather than an error, which this action reports as a failure precisely so an unserved call is not mistaken for a successful one. The consequence is that a POST which does get routed leaves an agent unable to confirm what it changed. So reads go through the hatch freely, and a write stops: "Ready to POST to /forms/8821/close with this body. Formlets documents no write routes, so there is no way to verify the effect from here and no operation in this connector to reverse it. Send it, or check the designer first?" A person decides whether to guess.

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

7 actions

### Form Inventory

3

-   **Get Forms** Lists the forms in the account, with state, tags, view count, creation date, the full field design, and a ready-to-use public URL for each. Formlets returns everything in one call, so the filters, sorting, and paging are applied in FlowRunner.
-   **Get Form** Retrieves one form by identifier with its design, response and numbering settings, notification configuration, tags, and view count. The direct lookup is attempted first and the documented list is used as a fallback, so the operation works whichever route the account is served.
-   **Find Form By Name** Looks a form up by the title it was given in the designer, exact or contains, ignoring case. Returns found as false rather than failing when nothing matches, so a flow can branch on the result.

### Design and Reach

2

-   **Get Form Fields** Returns a form's fields as a flat list, each with the element identifier that submissions are keyed on, its type, its label, its required flag, and its choice list. Used to map a form onto another system without hand copying identifiers.
-   **Get Form Statistics** Returns the reporting values Formlets keeps: lifetime views, whether the form is currently accepting submissions, its creation date, its field count, and how response numbering and storage are configured. Formlets exposes no submission count, so that figure is not part of the result.

### Distribution

1

-   **Get Form Share Links** Builds the direct link, an embeddable iframe URL, and a ready-made iframe snippet for a form, and reports whether the form is currently active. The form is looked up first, so the operation fails rather than returning a link to a form that does not exist.

### Escape Hatch

1

-   **Make API Call** Sends an authorized request to any path below the Formlets API root, for routes this connector does not name. The operation this page's human gate exists for.

## Triggers

2 triggers

### Event Triggers

2

-   **On New Form** Fires when a form is created in the account, emitting the record with its identifier, name, field design, and public URL. Formlets publishes no webhook management API, so this polls the forms list and remembers what it has already reported. The first cycle records the existing forms without firing.
-   **On Form State Changed** Fires when a form is activated or deactivated, emitting the record with its previous and current state. A deactivated form stops accepting submissions, so this is the signal a flow needs when a live form goes offline. Formlets records no change timestamp, so the comparison is made against the previous cycle.

## Frequently Asked Questions

### What can FlowRunner do with Formlets?

FlowRunner agents can run Get Forms, Get Form, and Find Form By Name in Formlets, plus 4 more actions.

### Does connecting Formlets to FlowRunner require OAuth?

No. Formlets connects to FlowRunner with basic authentication (a username and password), no OAuth flow required.

### Can Formlets trigger a FlowRunner workflow automatically?

Yes. Formlets supports 2 triggers that can start a FlowRunner workflow automatically.

**Work at Formlets?** This integration exposes Formlets to AI agents on every FlowRunner plan, including through MCP, at no cost to you. [See what FlowRunner offers integration partners](https://flowrunner.ai/integrations/partners), including how to keep this page current.

---
Markdown version of https://flowrunner.ai/integrations/formlets. Site index: https://flowrunner.ai/llms.txt
