# Application review board for Gravity Forms submissions

> Give your program team one screen to read, score and decide on every application, with decision emails and a daily recap in Slack.

- Workflow type: app
- Services: Gravity Forms, Gmail, Slack Bot
- Categories: HR & People, Operations
- Published: 2026-08-22

## What it does

- Pulls every submission from your Gravity Forms application form onto a review board with columns for New, Screening, Shortlist, Rejected and Accepted.
- Opens the full application in one click, showing every answer with its real label plus links to anything the applicant uploaded.
- Lets reviewers give a one to five score and leave notes, then set a decision that saves back onto the original form entry.
- Adds a Screen this application button that has an assistant check the submission against your eligibility criteria and write back strengths, gaps and a suggested score.

## What you'll need

- A WordPress site running Gravity Forms with an application form already collecting submissions
- A Gravity Forms connection, which a site administrator sets up once from the Forms settings
- A Gmail account to send accept and reject emails from
- A Slack workspace with a channel where the team wants the day's decisions posted
- Your program's eligibility criteria written down, so the screening assistant knows what to look for

## Prompt

Build me an app my program team opens to review applications that arrive through a Gravity Forms application form, so reviewers never have to log into wp-admin. The people using it are program managers and reviewers on a grants, scholarships, awards or hiring team, and this app is the only place they work.

Start with a short setup screen. Use Gravity Forms List Forms to list the forms on the site and let an admin pick which one is the application form. Fetch that form's full form object from List Forms and keep its field definitions, so the app can map field IDs to human labels everywhere instead of hardcoding them. On the same screen let the admin pick which field on the form holds the review decision, paste the program's eligibility criteria as free text, choose the Slack channel for the daily recap, and edit the accept and reject email templates. Save all of this in the app's own storage.

The main screen is a review board with five columns: New, Screening, Shortlist, Rejected and Accepted. Fill the columns using Gravity Forms List Entries by Form for the selected form, paging through the results so nothing is missed, and place each entry in a column based on the decision value stored on the entry, defaulting to New when it is empty. Each card shows the applicant name and email resolved through the field label map, the submission date, the reviewer score if one has been set, and a one line preview of the screening assessment if one exists. Let reviewers move a card between columns, and give the board a search and filter box on applicant name and submission date.

Clicking a card opens the full submission in a detail view built from Gravity Forms Get Entry. Render every field value with its human label from the form object, in the form's own field order, and render file upload fields as clickable links to the uploaded files. Keep raw values visible for anything the app cannot confidently label.

In the detail view a reviewer sets a score from one to five, writes notes, and picks a decision of New, Screening, Shortlist, Rejected or Accepted. Scores and notes live in the app's own storage keyed by the Gravity Forms entry ID, along with who wrote them and when, so several reviewers can each leave their own score and the entry object stays clean. Show every reviewer's score and notes in the detail view and the average score on the card. Gravity Forms has no entry notes operation in the catalog, which is exactly why this data belongs in app storage rather than on the entry.

The decision is the one thing that writes back to Gravity Forms, using Update Entry. This is important: Update Entry is a full replacement PUT and any value not included in the request will be blanked out. Every write-back handler must first call Get Entry for that entry ID, merge the new decision into the field the admin chose during setup, and send the complete entry object back, including every other field value and the entry metadata. Never construct a partial entry object. Entry field values are keyed by field ID, for example 1.3 for a name sub-field and 3 for an email field, so always merge by field ID against the entry you just fetched.

Every card and the detail view get a Screen this application button that kicks off a background agent. The agent reads the full submission with Get Entry, reads the program's eligibility criteria from app storage, and writes back a structured assessment: a short summary of the applicant, a list of strengths, a list of gaps or missing requirements, any eligibility rule the application clearly fails, and a recommended score from one to five with a one line rationale. Store the assessment in app storage keyed by entry ID and show it on the card and in the detail view, with a visible running state while the agent works and a timestamp for the last screening. The recommended score is advisory only: it must never overwrite a reviewer's own score or set a decision by itself.

When a reviewer sets a decision to Accepted or Rejected, send the applicant a decision email with Gmail Send a Message, using the matching template from setup with the applicant's name merged in and their email address read from the entry through the field label map. Show the reviewer the drafted email and require a confirm click before it sends, then record in app storage that the email went out and when, so nobody gets emailed twice.

Add a Post today's decisions button that gathers every application accepted or rejected that day and posts a single summary to the review channel with Slack Bot Send a Message: the count accepted and rejected, then one line per application with the applicant name, the decision, the reviewer score and who decided. If no decisions were made that day, say so instead of posting an empty message.

A few things to handle carefully: page through List Entries by Form rather than assuming a single page of results; treat entries that have never been reviewed as New; refresh the field label map by refetching the form object when the admin asks, so form edits do not break the labels; and keep the board readable when a column holds fifty or more cards.

## How to customize

- Rename the board columns or add your own stage, for example an Interview step between Shortlist and Accepted.
- Rewrite the eligibility criteria and the accept and reject email wording for each round or program you run.
- Choose which Slack channel gets the recap and whether it posts every decision or only the acceptances.

## FAQ

### Do reviewers need a WordPress admin login?

No, and that is the whole point. Reviewers open the review board and work entirely from there. Only the one-time connection between the app and your site needs an administrator.

### Where do scores and reviewer notes get saved?

In the app's own storage, linked to each application by its entry ID. Only the final decision is written back onto the form entry, so your Gravity Forms data stays clean and exports the way it always has.

### Can reviewers see resumes and other uploaded files?

Yes. The full application view lists every answer with its label and turns file upload fields into links reviewers can open.

### What does the Screen this application button actually do?

It hands the application to an assistant that reads it against the eligibility criteria you wrote, then posts back a short summary, strengths, gaps and a suggested score. It is advice for the reviewer, never an automatic decision.

### Will this work with any Gravity Forms form?

Yes. You pick which form is the application form during setup and the app reads the field labels from that form, so it works the same for grant applications, scholarships, awards or job applicants.

Use this prompt in General Input: https://www.generalinput.com/prompts/application-review-board-for-gravity-forms-submissions