Forms

An agent that can read your forms and cannot touch them.

Which forms the site holds, what each one asks, its embed shortcode, and its most recent entries. Nothing here writes. That is a design decision, not a gap.

Anyone who wants an agent to summarise what people are submitting, without giving it the ability to change the form.

2 jobs

What people actually ask for.

Each of these is carried by named operations that exist in the release you can download today. The ids under every answer are the calls involved — nothing here is a plan.

“What is this contact form actually asking for?”

Fields, types and the embed shortcode, from Gravity Forms, WPForms, Contact Form 7, Fluent Forms or Formidable.

  • form-list needs edit_posts
  • form-get needs edit_posts

“Summarise this week’s enquiries.”

Entries are listed under manage_options rather than edit_posts, because they carry whatever a visitor typed into them.

  • form-entries-list needs manage_options
The shape of it

3 operations, 3 of them reads.

Read only: which forms the site holds, each form’s fields and embed shortcode, and its most recent entries.

Needs: Gravity Forms, WPForms, Contact Form 7, Fluent Forms, or Formidable Forms. Where it is absent the operation refuses by name, rather than failing obscurely.

Every operation, with its policy

Reads

3 operations that only report. A read still asks WordPress for a capability against the object.

Writes

0 that change something — each one previewed as a diff, snapshotted, verified by reading the site back, and reversible from wp-admin.

Tier

Free, permanently. Nothing in this area moves into a paid tier later.

The limit

What it will not do here.

Forms are read, never written. A plugin that stores no entries says so plainly, rather than returning an empty list that reads like a quiet week.

Note 1

Forms are read, never written. An agent can tell you what a form asks and what people answered; it cannot change the form or the entries.

Note 2

form-entries-list asks for manage_options where the other two ask for edit_posts, because entries carry whatever a visitor typed into them.

Note 3

A plugin that stores no entries says so plainly, rather than returning an empty list that reads like a quiet week.

Next

Try it, or read further.

Get the free plugin How a write is guarded