---
title: Forms (Plugin)
---

# Forms (Plugin)

> **Marketplace plugin** — Forms is not built into Omniscio. Install it from the Plugin Marketplace
> and enable it; until you do, there is no Forms screen and no form link.

## What it is

A form builder and response collector that lives inside Omniscio. You build a form out of fields,
publish it, and get a **public link** — anyone can open that link and answer it, with no Omniscio
account and nothing to install. Answers come back into the app attached to the form that collected
them.

Its point is the last step: a response is **one click from an agent**. A form can carry an
**auto-send rule** that hands a new response to a project's agent session with a prompt you
wrote, so an answer can turn into work without anyone copying and pasting it.

Two safety properties are built into that shortcut, and both are deliberate:

- The plugin **never puts a respondent's answer into the agent's prompt by itself**. The rule
  starts the session with your template; the agent reads the answers with a separate call.
- An auto-send rule is **always created disabled**. Only you can arm it.

## Where to find it

- **Install it** from the Plugin Marketplace (`plugin-marketplace.md`) — it is free, category
  `productivity`, authored by JLS Trading Co.
- **Its own screen** — once enabled it adds a **Forms** row to the sidebar (clipboard icon) and
  hides the project panel inside it. That screen is where forms are built, published, and read.
- **The public link** — a published form is served by Omniscio's cloud, not by your machine, so the
  link keeps working for answerers after you close the app.
- **For agents** — its CLI routes are listed in `plugin-cli-discovery.md` alongside every other
  plugin's.

## How it behaves

**Draft, published, closed.** A form is in one of a few states. A **draft** is yours alone. A
**published** form is live on its public link and collecting. **Closing** stops it collecting while
leaving the link working — a visitor sees that the form is closed, and you can reopen it later.
**Unpublishing** takes a published form back to a draft so you can edit it; answers already
collected are kept.

**Publishing publishes the whole form.** Both closing and unpublishing re-publish the form's
current content, so anything you edited since the last publish goes public as part of that action.
Treat "close" as "publish what is on screen, then stop collecting".

**Answers survive.** Closing, unpublishing and editing never delete collected responses.

**Deleting really deletes**, so it is guarded: it takes the published form down first, then removes
the form's auto-send rules and its stored responses. If the take-down fails, nothing is deleted.
A delete without an explicit confirmation is refused and returns a preview of what it would
actually do.

**Auto-send rules are capped.** A rule carries a match condition, a target project, a prompt
template, and a **daily cap** on how many times it may fire in a day. The plugin keeps a run record
for every attempt — fired, skipped because the cap was hit, skipped because the rule was tripped,
skipped because it is disabled, or failed — along with the response it acted on and the session it
started, so "why didn't that answer reach an agent?" always has an answer.

**Editing fields replaces the question list.** When a form is updated, the field list is replaced
whole rather than merged. Removing a question you did not ask to remove is refused; removing one on
purpose means leaving it out and naming it as a removal.

## For agents

The plugin exposes CLI routes (`plugin-cli-discovery.md`) for discovery, listing and reading forms,
creating and updating them, previewing the respondent-facing definition, publishing and its two
reverses, listing responses, listing and drafting auto-send rules, and listing run records.

Three of them are **confirm-first**, because each is hard to undo or reaches real people:

- **Close** and **unpublish** — both re-publish the form's current content, so a pending edit goes
  public as part of the call. Only a 2xx means the form actually stopped collecting.
- **Delete** — takes the form down and removes its rules and responses.

Creating an auto-send rule is not confirm-first, but the rule it creates is **disabled**, so
drafting one cannot start a session on its own — arming it is a human action in the UI. A form's
status cannot be set through the update route; publishing and its reverses are the only way.

## Related

How plugins are found, installed and enabled is on [Plugin marketplace](plugin-marketplace.md), and how a plugin adds a sidebar row like Forms is on [Plugin UI access](plugin-ui-access.md). Where a plugin's own options live is on [Plugin settings panel](plugin-settings-panel.md), and the CLI-route surface these routes appear in is [Plugin CLI discovery](plugin-cli-discovery.md).
