Skip to content
Start

Reading form submissions

The person says: “What came in on the application form this week? Mark the new ones read and give me a spreadsheet.”

Submissions are visitors’ own words and contact details. Read them for the person who asked, and hand a file only to the app they name.

  1. Empress:site_call — tool: "empress.submissions": the inbox’s To do, newest first, each row with its band (ready_to_publish, to_draft or to_answer) and whether it is unread; ref narrows to one form (the form’s id as the list shows it, not its slug), source to one plugin, view reads published, done or spam apart, limit and cursor page. Add submission (a row’s id) to read one in full, with its sender: that records the read, as opening it in the console does.
  2. Empress:site_call — tool: "empress.submission_mark" with ids and to: read or unread (the dot), done or spam (out of To do), open (back in). It changes the inbox’s own record at once, outside any change set, and says which ids it left and why.
  3. Empress:site_call — tool: "empress.submission_draft" with ids: each submission becomes a draft in the collection its form is set up to fill, never published; the answer is per row, and a destination that no longer fits the site refuses with the field it names. Then tool: "empress.submission_publish" with ids and confirm: true puts the drafts live in one change set (an event and its new venue together). Whether it runs is the person’s level for publishing on that site: where it is ask, the whole call waits for an Admin’s yes in Approvals (nothing joins a set meanwhile, the rows stay drafted) and runs when they give it; where it is off, it is refused with a sentence saying so. tool: "empress.submission_undo" with submission (and optionally entry) takes it back to a draft, under the same publishing level. tool: "empress.submission_destination" with form reads the collections a form could fill; with destination or muted (Admin) it saves them.
  4. Empress:site_call — tool: "empress.submissions" with export: "csv" (or "json") and form, with from and to to narrow it: the answer is a signed download link good for ten minutes, never the file.
  • The list is not the sender. A row is what a post would show: a title, an excerpt, the form and the age. Open one only when the person needs the sender or the full answers.
  • A link is the file. It carries no sign-in and the file holds contact details: give it to the app that should fetch it, never paste it into a public place.
  • Summarize, do not dump. Quote the answers the person asked about.
  • Nothing is deleted from here. Put a submission away as done or spam; deleting submissions is the site’s own admin.