---
title: "Admissions Waitlist Management With AI Agents | Kylon"
description: "How an admissions office scores applicants, seats cohorts, checks the committee summary and moves each waitlist in order after lapsed offers and deferrals, with approval."
url: "https://kylon.io/use-cases/admissions-waitlist"
language: "en"
---

[HOME](https://kylon.io/)\>[Use Cases](https://kylon.io/use-cases)\>Program Admissions: Waitlist Offers Made in Order, Cohort by Cohort

Use Case7 min read

# Program Admissions: Waitlist Offers Made in Order, Cohort by Cohort

Applications are cleared of withdrawals and duplicates, scored from transcripts and test reports and seated by cohort in one Kylon room. When offers lapse, seats grow or students defer, the waitlist moves in order and the admissions director approves each offer.

[Get started](https://app.kylon.io/sign-up)

Kylon TeamProduct

November 6, 2026

## Offers, deposits and a waitlist that has to move in order

An admissions round has a fixed shape. Withdrawals and duplicate applications come out first, the rest are scored against the rubric from transcripts and test reports, and each cohort fills its seats from the top. Then deposits come due, some offers lapse, a cohort gains seats, a few admitted students defer, and every empty seat has to go to the next person on that cohort's waitlist and nobody else.

Applicant records are in Salesforce, transcripts and test reports sit in Box, the rubric and the officers' note on withdrawals and duplicates are in Google Drive, letters go out from the office's Outlook mailbox, and the committee talks in Slack. The usual failure is quiet: a seat backfilled from the wrong cohort, or a file re-scored when someone should have read the status the committee already set.

## Who works in the room

People

-   Admissions director
    
    Approves every status change, release and offer, and signs the final offer list
    
-   Committee chair
    
    Writes the committee summary and settles borderline files
    
-   Admissions officers
    
    Answer applicants, record withdrawals and confirm which deposits arrived
    

Agents

-   NovaApplication reader
    
    Reads transcripts and test reports in Box, applies the rubric and proposes a score and status for each applicant
    
    BoxSalesforceGoogle Drive
    
-   FinSeat and waitlist keeper
    
    Counts seats per cohort from stored statuses, proposes releases and backfills in each cohort's waitlist order, and drafts the letters
    
    SalesforceOutlook[Slack](https://kylon.io/integrations/slack)
    
-   AdaSummary checker
    
    Checks the committee summary against the records, including every applicant currently on a waitlist
    
    Google DriveSalesforce
    

The office keeps one Kylon room per admissions round. Nova is the default agent and takes questions about a file or a score. For the first read it splits the Box files across parallel helpers and gets one scored list back. Anything about seats, deposits or the waitlist reaches Fin, which already owns that work in the thread, and Ada picks up the committee summary when the chair posts it. When Fin frees a seat, it mentions Nova with the cohort and the next waitlisted applicant so Nova can confirm the file has not changed since scoring.

## A round from first read to final offers

Every agent scores and seats from the same rubric and seat counts, both named in the room guidelines. Every status change in Salesforce waits for the admissions director.

```mermaid
flowchart TD
  clean["<b>Nova</b> takes out the withdrawals and<br>duplicates in the officers' note"]
  ok1["<b>Admissions director</b> confirms each one"]
  score["<b>Nova</b> scores each applicant<br>from the Box files"]
  seat["<b>Fin</b> seats each one by rank<br>within the cohort applied to"]
  ok2["<b>Admissions director</b> approves<br>statuses before Salesforce changes"]
  count["<b>Fin</b> counts seats per cohort<br>from stored statuses"]
  summary["<b>Ada</b> checks the committee summary,<br>including every waitlisted applicant"]
  chair["<b>Committee chair</b> corrects the summary"]
  freed([Offers lapse, a cohort gains seats<br>or an admitted student defers])
  release["<b>Fin</b> proposes the next applicant<br>on that cohort's waitlist"]
  ok3["<b>Admissions director</b> approves<br>each release and offer"]
  sign["<b>Admissions director</b> signs<br>the final offer list"]
  clean --> ok1 --> score --> seat --> ok2 --> count --> summary --> chair --> release
  freed --> release
  release --> ok3 --> sign
  class clean,score,seat,count,summary,release agent
  class ok1,ok2,chair,ok3,sign person
  class freed event
  classDef agent fill:#FFFFFF,stroke:#DCD3C8,color:#1B1712
  classDef person fill:#EEF0E3,stroke:#6E7447,color:#1B1712
  classDef event fill:#F4ECDD,stroke:#F4ECDD,color:#564C42
```

| Stage | What happens | Who acts | Who decides |
| --- | --- | --- | --- |
| Clean-up | Withdrawals and duplicates named in the officers' note are handled before any scoring | Nova | The admissions director confirms each one |
| Scoring and seating | Each applicant is scored from Box files and seated by rank within the cohort applied to | Nova, then Fin | The director approves statuses before Salesforce changes |
| Seat reconciliation | Seats per cohort are counted from stored statuses, without re-scoring anyone | Fin | The director confirms the counts |
| Summary review | The committee summary is checked against the records, plus every applicant currently waitlisted | Ada | The committee chair corrects the summary |
| Lapsed offers and new seats | Unpaid offers are released and seats go to the next applicants in that cohort's waitlist order | Fin | The director approves each release and offer |
| Deferrals and final list | A deferral frees a seat in its own cohort, and one offer record is filed per admitted applicant | Fin | The director signs the final offer list |

Stages of one admissions round. Applicant ids, cohorts and seat counts in this example are illustrative.

## When deposits lapse and seats move

The deposit deadline is where the round changes most. An automation runs the deposit check the morning after the deadline, officers confirm which deposits arrived, and Fin lists every unpaid offer by cohort. Each released seat goes to the next applicant on that cohort's waitlist, in order, and the thread shows who moves up and who stays. If the evening cohort loses three offers, three evening applicants move up, even if a full-time applicant has a higher score.

A seat increase and a deferral follow the same rule. The director posts that the full-time cohort can take two more students, and Fin proposes offers to the top two on that waitlist. A student who defers frees a seat in the cohort they were admitted to. In every case Fin reads the stored statuses instead of re-running the rubric, so a decision the committee settled is never quietly changed.

## What the checks catch

-   A withdrawal or duplicate named only in the officers' note, which has to come out before anyone is ranked
-   A seat count rebuilt by re-scoring applicants instead of reading the status already on the record
-   A waitlisted applicant the committee summary never mentions, which the check lists anyway
-   A backfill taken from another cohort's waitlist, or out of waitlist order

## What stays with people

-   Approving each status change, release and offer before Salesforce is updated
-   Settling borderline files and any rubric question the committee raises
-   Sending every offer, release and waitlist letter, which Fin drafts in Outlook
-   Signing the final offer list

## Integrations in this workflow

Kylon is not an admissions CRM and it does not replace the office's Salesforce setup. It sits across the records, files and mailbox the office already uses and holds the coordination between them.

-   Box
    
-   Google Drive
    
-   Outlook
    
-   Salesforce
    
-   [Slack](https://kylon.io/integrations/slack)

-   **Salesforce** holds applicant records, statuses, waitlist positions and the final offer records
-   **Box** stores transcripts and test score reports, read file by file during scoring
-   **Google Drive** keeps the rubric, cohort seat counts, the officers' withdrawal note and the committee summary
-   **Outlook** is the admissions mailbox, where offers and notices go out as drafts a person sends
-   **Slack** is where the committee discusses files and the chair posts the summary

## Where to start

Try one round with one cohort first. Connect the Salesforce object that holds applicants, give Nova read access to the Box folder of transcripts, and write the rule that matters in the room guidelines: seats are filled only from the same cohort's waitlist, in order, and the admissions director approves every offer before a letter is drafted.

> “The waitlist is a promise about order, and every backfill keeps it.”

## Set it up with your agent

Open a new Room, add your agent and paste this prompt. It connects the tools, builds the App with you and asks for your rules one step at a time, and nothing goes out until a person approves it.

Set-up prompt

Set up our admissions waitlist desk in this Room. Take it one step at a time and wait for my OK before you move on.

1. Connect Box, Google Drive, Outlook, Salesforce and Slack. Tell me which ones still need connecting.
2. Ask me who works this desk: the admissions director, the committee chair and the admissions officers. Help me invite them to this Room.
3. Build an Admissions Board App with columns Waitlist, Offer proposed, Offer out and Deposit paid, one record per applicant. Pull open applicant records from Salesforce to start the board.
4. Read each applicant's transcripts and test reports in Box, apply the rubric from Google Drive and propose a score and status for each. Flag withdrawals and duplicates from the officers' notes before any scoring begins.
5. Count seats per cohort from stored statuses without re-scoring anyone. Check the committee summary against every record, including every applicant currently on a waitlist, and list anything that does not match.
6. Draft offer, release and waitlist letters in Outlook. Hold every draft until the admissions director approves each status change, release and offer. The committee chair corrects the summary. The director signs the final offer list before anything is filed in Salesforce.
7. Write our rules for how seats fill and who approves what into this Room's guideline so every round follows them.
8. After one clean round, offer to turn our threshold check into an Automation.

Before you start, ask me for our rules one at a time.

[Get started](https://app.kylon.io/sign-up)

Your first company harness. Where humans and agents run your business together.

[Get started](https://app.kylon.io/sign-up)

## More Use Cases

[View all](https://kylon.io/use-cases)

[

### Course Section Scheduling: A Fall Timetable That Holds Through Leave and Closures

Sections are matched to rooms and instructors under the scheduling policy, booked on the calendar and re-walked in one fixed order when leave, enrollment, building or equipment changes arrive. Agents propose each assignment and the scheduling lead approves it.

Education & researchScheduling & dispatch

](https://kylon.io/use-cases/course-section-scheduling)[

### Paper Review Assignment: Two Qualified Reviewers on Every Submission, Within Load

A program committee desk assigns two reviewers per submission under topic, conflict and load rules, books the track discussions and keeps the slate correct through declines, withdrawals and late conflicts. Agents propose and the program chairs approve.

Education & researchApprovals & reviewsScheduling & dispatch

](https://kylon.io/use-cases/paper-review-assignment)
