Run your application review round on Jotform submissions

Your committee opens one board to score every application, see where reviewers disagree, and send the decisions without merging a single spreadsheet.

App
JotformGmailSlackGeneral Input DatabaseOperationsHR & PeopleDocument ProcessingEmail Automation
PromptCreate

I want an app my review committee opens during an application round, instead of mailing scoring spreadsheets around and recompiling them by hand. The people using it are committee members and a chair, not operators, so it has to read like a review board rather than a database. Let me pick which Jotform form holds the round using Get User Forms, and remember that choice in settings. Everything else hangs off that one form.

Load applications with Get Form Submissions for the selected form, paging through with offset and limit until every submission is in, and cache them so a few hundred applications do not mean a few hundred slow calls. Two Jotform details matter here and shape the whole app. First, submission answers are keyed by question ID rather than by any human wording, so pull Get Form Questions once per form and join on question ID to get the real question labels and the order the form asks them in. Never show a reviewer a raw field ID. Second, uploaded documents come from Get Form Files, which lists the files for a form, so match those files back to their submission and show each application's attachments on the application itself. Use Get Single Submission when opening one application if you need the freshest copy of its answers.

Scores and everything else the committee produces live in the app's own storage, not in Jotform. Keep an applications table keyed by submission ID holding applicant name, applicant email, review status, the outcome, the rationale, who recorded it, when, whether the applicant email has gone out, and the briefing output with its status and timestamp. Keep a scores table with one row per submission ID plus reviewer email, holding a score per rubric criterion, the weighted total, per criterion notes, an overall comment, and when it was submitted. Keep a criteria table holding the rubric itself as criterion name, description, weight, maximum score and sort order, so the rubric is configurable in the app rather than hard coded. Keep an eligibility rules table holding the rules the briefing assistant checks against. Keep the wording generic throughout, because this same app should suit grant, scholarship, award, vendor RFP and accelerator rounds equally.

The main screen is the review queue. Identify the reviewer by the signed in viewer's email address and default the queue to My queue, meaning applications this reviewer has not scored yet, with tabs for all applications, ones I have scored, and ones already decided. Each row shows applicant name, submitted date, how many reviewers have scored it so far against how many the round requires, the current average score, the completeness flag from the briefing assistant, and the outcome status. Because a round can run to several hundred applications, filtering is load bearing rather than decorative: let me filter by score range, by review status, by outcome, and by reviewer, including a filter for applications a specific reviewer still owes a score on. Let me sort by average score, by spread between reviewers, and by how long an application has been waiting. Do the filtering and paging in the handlers over the cached set rather than pulling everything into the browser.

Opening an application gives a two column detail page, the applicant's materials on the left and the scorecard on the right, so a reviewer can read and score without switching screens. On the left render every question and answer in form order using the labels from Get Form Questions, with the applicant's uploaded documents listed as openable links from Get Form Files, and the briefing summary inline once it exists. On the right render the rubric from the criteria table, one row per criterion with a score control and a notes box, plus an overall comment field, with the weighted total updating live as they score.

Saving a scorecard writes a row to the scores table the first time this reviewer scores this application, and updates their existing row if they are revising, so a reviewer can always change their own score and can never touch anyone else's. Blind scoring is the rule that matters most: until the signed in reviewer has submitted their own scorecard for an application, hide every other reviewer's score, note and comment for it, and hide the running average from the detail page, so nobody anchors on what a colleague already gave. The moment they submit, reveal the full comparison for that application immediately. Make the blind state visible in the interface, so a reviewer understands scores are hidden by design rather than missing.

Give each application a Brief this application button that kicks off a background agent. The agent reads the application's answers and the documents the applicant uploaded, checks them against the eligibility rules held in settings, and writes back a structured summary covering what is being requested, who is asking, how it reads against each eligibility rule, and anything that looks missing or contradictory. It also returns a completeness flag, complete or incomplete with the specific gaps named, which the queue shows as a column so the chair can spot half finished applications early. Save the brief, the flag and the timestamp onto that application's row and show it inline on the detail page, with a running state while the agent works. Make it explicit in the interface that the brief is reading assistance and never a score, and that a reviewer is still expected to read the application.

A consensus view ranks applications by average score across every reviewer who has submitted. For each application show the average, the number of reviewers in so far, the spread between the highest and lowest reviewer, and the per criterion averages so the committee can see whether they disagree on the whole application or on one criterion. Flag any application where the spread crosses a configurable threshold as one to discuss. Show reviewer progress alongside it, listing who is still outstanding and how many applications each reviewer has left, since chasing the reviewer who did not know it was their turn is most of what a chair actually does during a round.

When the committee decides, the chair records the outcome on the application as accept, reject or more information needed, with a rationale, saved to the applications table with who decided and when. Write that outcome back to Jotform with Update Submission so the record in the form matches the decision, updating the decision field on the submission and its status. Note in setup that the form needs a field to hold the outcome for this to land cleanly, and if there is no such field, keep the outcome in the app and say so rather than failing silently.

Once an outcome is recorded, let the chair send the applicant the matching email through Gmail Send a Message, using an accept, reject or more information template that fills in the applicant name and, where useful, a committee summary drawn from the reviewers' notes. Always show the filled in email for review and require approval before it sends, record the sent timestamp on the application, and never send twice for the same application. Alongside that, let the chair post a round status summary to the committee's Slack channel with Send a Message, covering how many applications are in the round, how many are fully scored, how many are still waiting, the current top applications by average score, the ones flagged for disagreement, and which reviewers are outstanding. Let me pick the destination channel in settings using List Channels.

Keep a configurable list of chair email addresses. Everyone on the committee can see the outcome panel, the applicant emails and the Slack summary button, but only a chair can act on them, and for everyone else those controls are disabled rather than hidden, so the process is visible to the whole committee. Add a settings screen for choosing the form, editing rubric criteria and weights, editing the eligibility rules, setting the disagreement threshold and the required number of reviewers per application, editing the three email templates, picking the Slack channel, and managing who chairs. Bear in mind Jotform enforces a daily limit on how often the connection can be used and returns how much is left on every response, so page efficiently, reuse the cached submissions and question labels across screens, and refresh on demand rather than refetching the whole round on every navigation.

What does this prompt do?

  • Pulls every application from one Jotform form into a shared board, showing each answer under its real question wording and every document the applicant uploaded.
  • Gives each reviewer their own queue of applications they have not scored yet, and keeps everyone else's scores hidden until they submit their own, so nobody anchors on a colleague's number.
  • Shows a consensus view with the average score for each application, how far apart the reviewers are, and which reviewers still have applications sitting in their queue.
  • Adds a Brief this application button that reads the answers and the uploaded documents against your eligibility rules and writes a structured summary and a completeness flag back onto the application.
  • Records the committee's outcome on the submission, emails the applicant your accept, reject or more information template, and posts a round status summary to your committee's Slack channel.

What do I need to use this?

  • A Jotform account with the form you collect applications on
  • A Gmail account for sending the accept, reject and more information emails
  • A Slack workspace, and the channel your committee follows during a round
  • The email addresses of everyone on the committee, and whoever chairs the round
  • Your scoring rubric and your eligibility rules written down, so the app and the briefing assistant can both work from them

How can I customize it?

  • Change the rubric: rename criteria, add or remove them, set how much each one counts and what the top score is.
  • Set how far apart two reviewers have to be before an application gets flagged for discussion, and how many reviewers each application needs before it counts as fully scored.
  • Edit the eligibility rules the briefing assistant checks against, so the completeness flag reflects what actually disqualifies an application in your program.
  • Edit the three applicant email templates, choose the Slack channel for round updates, and decide who is allowed to record a final outcome.

FAQs

Can we use this for grants, scholarships, awards or vendor RFPs?
Yes. The rubric criteria and eligibility rules are yours to define, so the same board works for grant rounds, scholarship cohorts, award nominations, vendor RFPs and accelerator intakes. Nothing in the scoring is written for one kind of program.
Can reviewers see each other's scores?
Not until they submit their own. Holding other scores back is the point: it stops one reviewer from anchoring on the number a colleague already gave. The moment a reviewer submits their scorecard, the full comparison opens up to them on that application and in the consensus view.
Does this change our form or overwrite what applicants submitted?
The applicant's answers are only ever read, never rewritten. Scores, notes and briefs live in the app itself. The only thing written back to the submission is the committee's final outcome, and only once someone with permission records it.
Will it cope with a few hundred applications in one round?
Yes. It is built for a real round rather than a demo, so applications load a page at a time and the filters for score, status and reviewer do the narrowing for you instead of making you scroll. Sorting by average score or by how long something has been waiting is the fastest way into a large round.
What does the Brief this application button actually do?
It kicks off a background assistant that reads the applicant's answers and the documents they uploaded, checks them against your eligibility rules, and writes back a structured summary plus a flag for anything missing or incomplete. It takes a moment to run, then appears on the application with the time it was written. It is there to save reading time, not to score the application for you.

Related templates

Kajabi customer support console for member access fixes

Look up any Kajabi member by email or name and see every offer, purchase, and payment in one profile, then grant, revoke, or swap access from the same row.

Kajabi
Gmail
Slack
App
Approve every Jotform enquiry before it reaches HubSpot

Work every form enquiry from one queue that already tells you who is new, who is a duplicate and who has a deal open, then push only what you approve.

Jotform
HubSpot
Slack Bot
App
Run cold email domain rotation on one drag-and-drop board

See every sending domain as Active, Reserve or Retiring, watch your bench against the 20 to 25 percent target, and refill it before a domain burns.

InfraForge
Smartlead
Slack Bot
+1
App
Launch console for cold email domains and mailboxes

Pick a client, get ranked domain suggestions with live prices, and buy domains and mailboxes in one confirmed step instead of juggling tabs and a spreadsheet.

InfraForge
Smartlead
Slack Bot
+1
App
Daily buying signal desk your SDRs work like an inbox

Every morning your reps open one queue of people publicly asking for alternatives, complaining about a renewal, or shopping your category.

Infegy
HubSpot
Google Sheets
+1
App
One analytics board across every Jotform form you own

See submissions, 30 and 90 day trends, and forms that are live but taking nothing, then let an agent tell you which questions to cut.

Jotform
Slack Bot
App

Stop mailing scoring spreadsheets around your committee.

Give every reviewer their own queue, one shared rubric, and a clean record of who scored what, who still owes you a score, and how each decision was reached.