> ## Documentation Index
> Fetch the complete documentation index at: https://docs.wayak.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Resume screening

> Score candidates against job requirements automatically and surface the strongest matches to your recruiting team

Recruiting teams receive hundreds of applications per open role. Manually reviewing each resume takes hours and introduces inconsistency — different reviewers weight different criteria, and qualified candidates slip through the cracks during high-volume periods.

With Wayak, you upload resumes to a knowledge space, connect your ATS data, and configure an agent that scores every candidate against the job requirements. The agent produces structured summaries with clear match ratings, so recruiters spend their time on interviews instead of inbox triage.

***

## What you need

<CardGroup cols={2}>
  <Card title="Data sources" icon="database">
    * **ATS database** — Job requisitions table with role title, department, required skills, must-have qualifications, and nice-to-have qualifications
    * **HRIS database** — Departments and hiring manager records for routing recommendations
  </Card>

  <Card title="Knowledge spaces" icon="book-open">
    * **Resume uploads** — PDF or DOCX resumes uploaded per requisition batch
    * **Job description templates** — Standardized job descriptions with requirements and evaluation criteria
  </Card>
</CardGroup>

**Semantic layer:** Define these in your ontology before setting up the agent.

| Component | Name               | Definition                                                                                          |
| --------- | ------------------ | --------------------------------------------------------------------------------------------------- |
| Object    | `Candidate`        | Maps to the ATS candidates table. Represents an individual applicant with their application history |
| Object    | `JobRequisition`   | Maps to the ATS job requisitions table. Represents an open role with its requirements               |
| Metric    | `MatchScore`       | Weighted score (0-100) based on skills match, experience years, and qualification alignment         |
| Dimension | `ScreeningOutcome` | Categorization: strong match, partial match, or no match                                            |

<Tip>
  See [building a semantic layer](/quickstart/build-semantic-layer) for a step-by-step guide.
</Tip>

***

## Agent setup

<Steps>
  <Step title="Create the agent">
    Go to **Agent Space** → **New agent**.

    | Field    | Value                                                       |
    | -------- | ----------------------------------------------------------- |
    | **Name** | Recruiting Coordinator                                      |
    | **Role** | Talent acquisition specialist                               |
    | **Goal** | Move candidates through the pipeline efficiently and fairly |
  </Step>

  <Step title="Set the description">
    > You help the recruiting team manage candidates. When screening resumes, focus on skills and experience — not school names or company prestige. Use clear, structured summaries when presenting candidates. Always include a match rating and a two-sentence justification. Flag any gaps or concerns without disqualifying candidates outright.
  </Step>

  <Step title="Scope data access">
    Grant access to:

    * ATS database (candidates, job requisitions)
    * HRIS database (departments, hiring managers)
    * Resume uploads knowledge space
    * Job description templates knowledge space
    * `Candidate`, `JobRequisition` objects and `MatchScore` metric
  </Step>

  <Step title="Add skills">
    <AccordionGroup>
      <Accordion title="Screen candidate resume">
        **Trigger:** New application submitted or recruiter requests a batch screening

        1. Retrieve the job requisition and extract must-have skills, nice-to-have skills, minimum experience, and required qualifications.
        2. Parse the candidate resume for: years of experience, listed skills, education, certifications, and past role titles.
        3. Compare each must-have requirement against the resume and mark it as met, partially met, or not met.
        4. Calculate a match score: 60% weight on must-haves, 25% on nice-to-haves, 15% on experience depth.
        5. Classify the candidate as strong match (score 75+), partial match (50-74), or no match (below 50).
        6. Write a two-sentence summary highlighting the strongest qualification and the biggest gap.
        7. If the candidate is a strong match, recommend scheduling a screen and suggest which interview panel fits based on the role's department.
      </Accordion>

      <Accordion title="Batch screening summary">
        **Trigger:** Recruiter requests a summary of all screened candidates for a requisition

        1. Retrieve all candidates screened for the specified job requisition.
        2. Sort candidates by match score in descending order.
        3. Group into three tiers: strong match, partial match, and no match.
        4. For each tier, list candidates with their score, top qualification, and primary gap.
        5. Highlight any candidates who match multiple open requisitions.
        6. Output a summary table and recommend the top 5 candidates to advance.
      </Accordion>
    </AccordionGroup>
  </Step>
</Steps>

***

## Automation

### Playbook: Daily resume screening batch

<Steps>
  <Step title="Set the trigger">
    Schedule: **Daily at 8:00 AM** (runs before the recruiting team's morning standup).
  </Step>

  <Step title="Build the workflow">
    1. **Query** the ATS database for all applications submitted in the last 24 hours.
    2. **Loop** through each new application:
       * Retrieve the candidate's resume from the knowledge space.
       * Retrieve the associated job requisition requirements.
       * Run the screening skill to score and classify the candidate.
    3. **Condition:** If any candidate scores as a strong match, add them to the priority list.
    4. **Aggregate** results into a summary table grouped by requisition.
  </Step>

  <Step title="Configure delivery">
    Send an email to the recruiting team distribution list with the subject line: "Daily screening summary — \[date]". Include the priority candidates at the top and the full results table below.
  </Step>

  <Step title="Test and activate">
    Click **Run now** to test with live data, then toggle to **Active**.
  </Step>
</Steps>

***

## What's next

<CardGroup cols={2}>
  <Card title="Interview scheduling" icon="arrow-right" href="/use-cases/hr/interview-scheduling">
    Once you have screened candidates, automate the interview coordination process.
  </Card>

  <Card title="All HR use cases" icon="list" href="/use-cases/hr">
    See the full list.
  </Card>
</CardGroup>
