> Source: https://builder-docs.ema.ai/builder-guides/examples/resume-ranker
> Title: Example: Building a Resume Ranker

# Example: Building a Resume Ranker

> This walkthrough builds a Dashboard AI Employee that accepts job descriptions, matches them against a repository of candidate resumes, and produces scored, ranked candidate recommendations.

## What You Will Build

A dashboard-based AI Employee that:

-   Accepts a job description document as input
-   Extracts required skills, qualifications, and experience from the job description
-   Searches a repository of candidate resumes for matches
-   Scores and ranks each candidate against the job requirements
-   Outputs the top candidates with detailed justifications

## Prerequisites

-   Access to the GWE platform
-   One or more candidate resume files (PDF, DOCX, or TXT)
-   A job description document for testing

## Create a New AI Employee

1.  Navigate to the GWE platform.
2.  Scroll to the bottom of the AI Employees page and locate the template for **GWE Dashboard Persona**.
3.  Click **Create**, fill in the AI Employee details, and click **Create & Save**.
4.  Click **Go to Workflow Builder** to start building.

## Create the GWE Workflow

### Add Entity Extraction for Job Description Analysis

1.  Add an **Entity Extraction with Documents** agent.
2.  This agent extracts the skills and experience required by the job description.
3.  Add **Extraction rules** that define what to pull from each job description. For example, create a rule to extract the number of years of experience required, mandatory skills, preferred skills, and education qualifications.

### Convert Extracted Data to a Search Query

1.  Add a **Generate Query from Agent Outputs** agent.
2.  Connect the output from the Entity Extraction agent to this agent's input.
3.  This agent converts the structured extraction output into a format that downstream agents can query against.

### Build the Search Query

1.  Add a **Respond to a Query** agent and rename it (for example, "Query Builder").
    
2.  Connect the extraction output to this agent's input.
    
3.  Write instructions that convert the extracted skill metadata into a natural-language search query. Example instructions:
    
    > "You are an expert query writer for a file search agent. Convert the given list of skills, qualifications, and experience into a clear natural-language query to find the best matching candidates. Include all provided skills, qualifications, and experience. Be specific and do not generalize. Keep the query under 40 words."
    

### Search Candidate Resumes

1.  Add a **Knowledge Search** agent.
2.  Connect the query output from the previous agent to the Knowledge Search agent's **query input**.
3.  Upload your repository of candidate resumes:
    -   In the configuration panel, click **Add Data Source**.
    -   Select **Upload Documents** and upload your resume files.

### Score and Rank Candidates

1.  Add a **Respond to a Query** agent.
2.  Connect:
    -   The **search results** from the Knowledge Search agent
    -   The **query** from the Query Builder agent
3.  Write detailed scoring instructions. The instructions should define:
    -   **Scoring criteria** -- evaluate each candidate across four parameters (key matching skills, required qualifications, preferred qualifications, certifications and training) on a 0-to-5 scale.
    -   **Scoring rubric** -- define what each score range means (0-1 Unsuitable, 1-2 Below Average, 2-3 Average, 3-4 Good, 4-5 Excellent).
    -   **Output format** -- for each candidate, provide the candidate name, overall match score, individual parameter scores, and a brief justification.
    -   **Enforcement rules** -- do not infer missing details, do not inflate scores, sort by overall match score in descending order.

### Extract Top Candidates for Dashboard Output

1.  Add another **Entity Extraction with Documents** agent at the end of the workflow.
2.  This agent extracts the top candidate name and justification from the scoring output.
3.  Enable **Publish this as a workflow output** so the extraction results appear in the dashboard table.

## Test the Workflow

1.  Click **Add** in the top-right corner of the dashboard, then select **Add single row**.
    
    > To process multiple job descriptions at once, select **Add multiple rows** instead.
    
2.  Click **Add File** to upload a job description document. Supported formats include DOCX, PDF, and TXT.
    
3.  Click the **play icon** to trigger the workflow execution. Processing may take a few seconds.
    
4.  Review the ranked candidate list and explanations in the dashboard output.
    

## Next Steps

-   [Creating a Dashboard-Based AI Employee](/legacy-docs/builder-guides/dashboard/creating-dashboard-ai-employee) -- learn more about dashboard AI Employee fundamentals.
-   [Dashboard Triggers](/legacy-docs/builder-guides/dashboard/dashboard-triggers) -- configure structured input fields for your dashboard.
-   [Dashboard Features](/legacy-docs/builder-guides/dashboard/dashboard-features) -- explore bulk operations, HITL review, and data export.
-   [Writing Effective Instructions](/legacy-docs/builder-guides/chat/writing-instructions) -- refine scoring instructions for more accurate candidate evaluations.
