DEV Community

Cover image for Build a Hiring Inbox Sorter App with ToolJet MCP and Jev
Athulya R for ToolJet

Posted on Originally published at blog.tooljet.com

Build a Hiring Inbox Sorter App with ToolJet MCP and Jev

What Is a Hiring Inbox Sorter?

A shared spreadsheet only one person knows how to work slows recruiter triage. Build a hiring inbox sorter with ToolJet MCP and Jev, TypeSafe's decision model, so each application gets a suggested lane while a recruiter decides. The result is a structured ToolJet application with data, queries, and interface together, and the team keeps its candidate review workflow moving. By the end, you have a searchable PostgreSQL hiring queue, manual review notes, and a visible three-point rubric for the open Data Engineer role.

Candidate detail panel (build a hiring inbox sorter with ToolJet MCP)

Candidate detail panel: the applicant's own words next to Jev's reading of each must-have skill, with the triage label and review note for the recruiter

The whole 1000-application sort at 10 times speed (build a hiring inbox sorter with ToolJet MCP)

The whole 1000-application sort at 10 times speed: the processed counter climbs to 1000 while the Jev timer reaches 00:48

How Do You Triage a Recruiting Inbox?

Score applications against a visible rubric, route weak fits to human review, and keep every recruiter note on one board for the hiring team. A coding agent can build this as a working app with ToolJet MCP, wiring the queue, scoring, and review flow together.

  1. List the open role and visible rubric
  2. Load each application from the inbox
  3. Score skill evidence and completeness
  4. Route weak or mixed results to human review
  5. Save recruiter notes and label changes

How Do the Queue and Jev Work?

The screen centers on an inbox of applications, a visible rubric, and a detail panel that opens on selection. Pressing Sort batch sends the queue through Jev, and each card lands with Strong evidence, Needs human review, or Does not meet listed criteria, plus per-skill evidence, confidence, and a short reason. The selected card shows the three skill checks beside the recruiter override controls, so the reviewer compares evidence before changing the label. The live counter and Jev-time timer track completed decisions, while search narrows the queue by name, reference, or job title. Pause, resume, label changes, and review notes keep the recruiter in control, and every application stays reachable after it moves into a lane.

  • Three triage lanes for strong evidence, human review, and does not meet listed criteria
  • Per-application evidence, confidence, and short reasons from Jev
  • Live processed count and Jev-time timer tied to completed decisions
  • Search, pause, resume, label edits, and review notes on one screen
  • Existing PostgreSQL tables for roles, criteria, applications, batches, decisions, and reviews

Set Up ToolJet MCP and the TypeSafe Datasource

ToolJet MCP connects your coding agent to your ToolJet workspace, so the agent can create the tables, queries and components for you. Set it up with the ToolJet MCP overview and the ToolJet MCP repository. TypeSafe is a decision-model platform: its datasource lets a ToolJet app ask Jev typed questions and get structured answers, such as a choice, a score or a yes/no with a confidence. Add the TypeSafe datasource to the workspace and name it typesafe, which is the name the build prompt refers to.

  • At build time: ToolJet MCP lets the agent create the app in your workspace.
  • At run time: the app calls Jev, TypeSafe's decision model, through the typesafe datasource and shows its typed answers next to the record.

What Is the Single Prompt Here?

The build took several passes, and the requirements are now consolidated into one prompt that could have been used from the start. You can reproduce the same recruiter queue in a single run without piecing the spec together.

Build a one-page recruiter app called Hiring Inbox Sorter in ToolJet. Use only native components with a lean, dense, bigger-font editorial look, dark ink canvas, warm-white cards, electric-lime progress accent, large readable timer and counter. Hide the page header and navigation.

Use the existing PostgreSQL datasource, postgresql_fleet, not ToolJet DB. Create his_roles, his_criteria, his_applications, his_batches, his_decisions, and his_reviews. Seed one fictional Data Engineer role with three must-have skills, plus experience and completeness criteria, and 1000 fictional applications flagged synthetic.

Use the existing TypeSafe datasource, Jev. For each application, ask Jev for a lane suggestion, per-skill evidence, confidence, and a short reason. Judge only skill evidence, relevant experience, and completeness. Never use names, photos, age, gender, ethnicity, disability, school prestige, or other proxy attributes. Route to Needs human review when confidence is under 60%, when Jev says strong but a skill is not Clear, or when criteria are not met and the application is incomplete. Label those routing rules in the UI.

Show the job title, a visible three-point rubric, an unsorted inbox, a prominent Sort batch button, a live processed/total counter, a Jev-time timer based on completed decisions, three result lanes with compact evidence cards, a search box, and a candidate detail panel where the recruiter can change the triage label and save a review note. Support pause and resume. Show a completed state with the real processed count and Jev time. Never auto-reject or advance a candidate.

Performance: send 5 applications to Jev in each call, one state holding applications A1 to A5, five question slots per application, calls in parallel from RunJS, keep results in memory and on screen as Jev answers, save them in one bulk insert at the end, refresh the board on a short coalesced tick, and render only the newest 12 cards per lane while sorting, 50 when idle. The timer shows Jev time only, from first Jev call sent to last Jev answer, not setup, save, or finish queries.

Access: create groups Hiring - Recruiters, Hiring - Hiring Managers, and Hiring - Viewers. Only Recruiters and admins can run the batch and override queries. Hiring Managers can also save notes. Viewers can only view.

How Does MCP Build the App?

ToolJet MCP takes the requirements and builds the data model, pages, components, queries, and wiring as one structured ToolJet application that the team can keep editing inside ToolJet after generation and review later when requirements change. That matters because the runtime carries data connectivity, workflows, permissions, deployment, and ongoing change where supported, instead of handing you a codebase to operate yourself as requirements change over time. From there, you can move from generation to visual edits to code when a case needs it, with the ToolJet MCP documentation close by for implementation detail as needed in practice.

Why Did the Lanes Look Stuck?

The lanes looked stuck because the browser redrew all four columns after each decision, so answers queued behind the redraws. Jev was returning quickly, and the fix was to batch the updates, keep results on screen as they arrived, and save them once at the end.

What Data Tables Power the Queue?

The app ended up with six tables in three groups. his_roles and his_criteria define the role and visible rubric, his_applications, his_batches, and his_decisions run the queue, and his_reviews stores recruiter overrides and notes. That split keeps the inbox, the batch state, and the review trail separate while the recruiter works, and it keeps the visible rubric close to the candidate list and the review table close to the override action and the saved note.

Page Components What they cover
Command center 25 Rubric, inbox, Sort batch, live counter and timer, three Jev lanes, search and candidate detail

What Did ToolJet MCP Generate?

Metric Result
Pages 1
PostgreSQL tables 6
Queries 19
Components 25
Code files to maintain 0
Repair cycles 1

Which Recruiting Teams Use This Flow?

Any team that screens a high volume of applications against fixed, job-related criteria can use this pattern: in-house talent teams, staffing and recruitment agencies, shared-services HR in logistics, finance and healthcare, and campus or seasonal hiring programs. The same inbox-to-queue layout also fits other review queues where an AI suggestion helps a person decide, such as vendor onboarding or grant applications.

Who Can Access the Recruiter Queue?

The app uses three ToolJet groups. Hiring - Recruiters (and workspace admins) can start, pause and finish batches, run Jev, change labels and save notes. Hiring - Hiring Managers can view everything and save review notes. Hiring - Viewers can only view. These rules are enforced on the queries themselves, so a blocked user gets a server-side refusal, not just a hidden button. The groups currently have no members.

Generating Apps from a Prompt with ToolJet AI

A Hiring Inbox Sorter app can also start from a single description: ToolJet AI, built into the product, generates a working app from a natural-language prompt, which the team then refines in the visual App Builder. It gives non-developers a fast way to create and change apps in the browser.

That matters when recruiters want the queue shaped from a prompt, then refined by a hiring manager later inside ToolJet without rebuilding the flow.

Three cards showing how to build with AI in ToolJet: describe the app in the AI chat, go deeper with queries, code and modules, and pick credits, your own key or an AI server

Generating Apps from a Prompt with ToolJet AI

From Prompt to Working App

  • AI app generation: describe the business app on the ToolJet home page and ToolJet builds it directly, opening the App Builder with UI components, queries and data bindings already configured.
  • Edit with a prompt: update components and queries in any new or existing app, and @mention a specific component or query to target it exactly.
  • Generate modules: create reusable modules from a prompt inside the Module Builder.

Queries, Code and AI Model Options

  • AI query generation: create fully configured queries, write JavaScript and Python snippets, and auto-sort a crowded query panel into folders.
  • AI credits: each AI operation consumes credits based on its complexity, and monthly credits are used before add-on credits.
  • Bring your own LLM key: on the Enterprise plan, authenticate AI requests with your own provider key and pay the provider directly instead of using ToolJet AI credits.
  • ToolJet AI Enterprise: self-hosted Enterprise customers run the AI server inside their own environment, so no AI data is sent to ToolJet.

ToolJet AI is one of the two ways to build with AI in ToolJet: the in-product chat, or ToolJet MCP from coding agents such as Claude Code. Both can create and modify apps, so the Hiring Inbox Sorter app can be refined later by prompt from the browser as well as from a developer's editor.

Enterprise Features for Your Hiring Inbox Sorter

A hiring inbox stores applicant records, review notes, and role criteria. ToolJet covers that governance at the platform layer, so you configure it once instead of rebuilding it in every app.

  • SSO and SCIM: sign in with SAML, OIDC or LDAP, and provision users automatically
  • Role-based access control: scope permissions to the app, the data source, and each query
  • Audit logs: track every login, edit, and approval decision for compliance review
  • Air-gapped deployment: self-host on Docker or Kubernetes so your data stays in your network
  • Multiplayer editing: several builders work on the same app, with versioning and Git sync
  • ToolJet AI inside your own deployment: run the AI features in your tenancy rather than a shared service

You could add a notification layer with ToolJet Workflows. For example, a batch complete trigger could post a Slack message, email the hiring manager through Gmail, and write the result back to his_reviews.

Final Takeaways

This build shows how a Hiring Inbox Sorter built with ToolJet MCP turns a crowded application stream into one reviewable queue. Jev reads each synthetic application against the visible rubric, returns lane suggestions with evidence, and leaves the recruiter in control of labels and notes. The app keeps the role, rubric, decisions, and review trail in separate tables, so the queue stays inspectable instead of buried in cells. The live counter, timer, search, and permissioned actions make the screen useful as a working hiring process, not a static mockup for the team.

Try ToolJet MCP

Build a hiring inbox sorter with ToolJet MCP for your own queue, then request a ToolJet demo. Start free on [ToolJet Cloud].

FAQs

What is ToolJet MCP in the Hiring Inbox Sorter workflow?

ToolJet MCP is the path that turns the prompt into a structured ToolJet application. Use the prompt, the existing PostgreSQL datasource, and the TypeSafe datasource to reproduce the same recruiter queue, rubric, search, and review flow in one pass.

What does the Hiring Inbox Sorter do for recruiters?

The Hiring Inbox Sorter turns a crowded application inbox into a reviewable queue. Recruiters sort applications into Strong evidence, Needs human review, or Does not meet listed criteria, then inspect evidence, change labels, and save notes.

What does Jev return for each application?

Jev returns a lane suggestion, per-skill evidence marked Clear, Partial, or Missing, confidence, and a short reason for each application. That output sits on the card so the recruiter can compare evidence before choosing a label.

Is Jev connected live and does it decide on its own?

No. Jev reads each application during sorting and suggests a lane, but the recruiter keeps the label and can save a review note. Mixed or low-confidence cases route to human review instead of being auto-handled.

Can you use existing PostgreSQL tables for the queue?

Yes. This build reads and writes the queue from an existing PostgreSQL datasource, so the role, rubric, applications, batches, decisions, and reviews stay in one place. That keeps the hiring data inside the team’s current database.

What happens to the app after Jev finishes?

It stays a structured ToolJet application, with the data model, queries, and UI running on the platform runtime. You can keep editing it visually and add code where a case needs it, instead of unpacking a codebase.

Can several people work on the same app at once?

Yes. Recruiters, Hiring Managers, and Viewers can share the same app with different access rules for sorting, notes, and read-only review. That keeps one queue for the team while each role gets the actions it needs.

Top comments (0)