How to track open roles with AI

People & HR3 AI tools6 steps6 friction points

Tracking open roles means knowing, at any moment, which positions are actively recruiting, where each candidate stands, who owns the hiring decision, and what's blocking forward movement. For most small-team operators, that picture lives across a job post in Notion, a spreadsheet of candidates, a few Gmail threads, and someone's memory. Keeping it coherent is a recurring coordination tax that doesn't scale as the team grows.

AI feels like a natural fit here because the core problem is information assembly, not judgment. You're pulling structured facts — role title, hiring manager, stage, target start date — from scattered sources and organizing them into a single view. That's pattern-matching and formatting work, which LLMs are genuinely good at. The appeal is: paste in what you have, get back a clean tracker without building the spreadsheet by hand.

ChatGPT, Claude, and Gemini can meaningfully help with this workflow today. You can paste in a job description and get back a structured role summary. You can dump a list of candidates and have an LLM sort them into pipeline stages. You can ask it to draft the status update you'd send to a hiring manager, or flag which roles have been open the longest based on dates you provide. None of that requires a live system connection — it works with whatever you bring to the conversation.

People & HR3 AI tools6 steps6 friction points
AI walkthrough

How to do it with AI today

A practical walkthrough using ChatGPT, Claude, and other off-the-shelf LLMs — what they're good at, what you'll have to do by hand.

Tools that work for this
ChatGPTClaudeGemini
Step-by-step
1 Export or copy your current open roles from wherever they live — a Google Sheet, Notion page, or ATS export — and paste the raw text into ChatGPT or Claude. Ask it to parse the data into a consistent schema: role title, department, hiring manager, date opened, current stage, next action, and target start date.
2 For any role missing structured information, paste in the job description and ask the LLM to infer and fill the fields it can — seniority, department, and likely hiring manager — based on the content. Flag the gaps it can't fill so you know what to collect manually.
3 Paste your candidate list for a given role into a second session and ask Claude to group candidates by pipeline stage (applied, screened, interviewed, offer, rejected) and surface how many are actively moving versus stalled. Include any dates you have so it can calculate days-in-stage.
4 Ask the LLM to generate a plain-English status summary for each open role — one or two sentences describing where hiring stands, what's blocking it, and the next concrete action. Use these as the basis for a weekly hiring update to leadership or the team.
5 Copy the final structured output — a clean table of open roles with status fields — into a Google Sheet or Notion database manually. This becomes your tracker until the next time you run the workflow.
6 The following week, repeat the process: pull fresh data from wherever it lives, re-paste it, and re-run the same prompts to get an updated view. You'll likely need to re-prompt to get the same column structure you had last week.
Prompts you can copy
Here is a list of our open roles with rough notes. Parse them into a table with these columns: Role Title, Department, Hiring Manager, Date Opened, Current Stage, Next Action, Target Start Date. Flag any field you can't confidently fill.
We have 12 candidates for the Senior Engineer role at various stages. Here's the list with notes. Group them by pipeline stage, calculate days-in-stage for each, and flag anyone who has been in the same stage for more than 14 days.
Write a one-paragraph weekly hiring update for a founder to share with the team. Include: 3 roles actively interviewing, 1 role with an offer out, 2 roles with no candidates yet. Keep it factual and under 150 words.
Our DevOps role has been open for 67 days with 2 candidates in final interview. Draft a short Slack message from the hiring manager to the team asking for referrals, mentioning the role and the urgency without sounding desperate.
Review these 6 open role descriptions and rank them by likely time-to-fill difficulty, from hardest to easiest, based on seniority, specificity of requirements, and market availability. Give a one-sentence rationale for each ranking.
Reality check

Where this gets hard

The walkthrough above works — until your numbers change, the LLM hallucinates, or you have to re-paste everything next month.

No live connection to your ATS, Notion, or Gmail — every session starts with manual copy-paste from wherever your hiring data actually lives.
Output structure drifts between runs; the exact column names and stage labels you prompted last Tuesday aren't guaranteed to match what you get this Friday, making version-to-version comparison unreliable.
Candidate status lives in email threads and calendar invites the LLM can't see — so any 'current stage' in the output is only as accurate as what you manually remembered to paste in.
Nothing persists. The clean tracker you built in Monday's session is gone by Thursday; you're rebuilding from scratch on the next weekly run rather than updating a living document.
No alerts or triggers — if a role goes 30 days with no activity, the LLM won't tell you until you run the workflow again and remember to ask. Proactive monitoring isn't possible with a pull-based tool.
Aggregating across roles at scale is cumbersome — pasting data for 15 open roles across multiple departments hits context limits quickly and requires splitting the work into multiple sessions with no unified output.

Tired of the friction?

Starch runs the whole workflow on live data — no copy-paste, no hallucinated numbers, no re-prompting next month.

See the Starch version →
Starch alternative

The same workflow on Starch

Starch is an agentic operating system — for tracking open roles, that means an agent builds a persistent hiring tracker connected to your live data sources, so the view updates continuously instead of the moment you remember to re-run a prompt.

Connect Gmail or Outlook from Starch's integration catalog once; Starch syncs your email threads on a schedule, so candidate correspondence, interview confirmations, and offer emails are automatically pulled into your hiring view — no copy-paste.
Connect Notion from Starch's integration catalog and describe what you want: 'Build me a tracker that pulls my open roles from Notion, shows each role's stage, hiring manager, days open, and next action, and flags any role with no activity in 14 days.' The agent builds the app.
Use the pre-built Knowledge Management app as a foundation for your internal hiring process docs — job descriptions, interview rubrics, and offer templates — then build an automation on top that links each open role to its relevant docs so hiring managers always have context in one place.
Set up an automation: 'Every Monday morning, generate a hiring status summary from my open roles tracker and post it to our #hiring Slack channel.' Starch runs it on schedule against live data — you don't touch it again.
Connect your ATS through Starch's integration catalog (Greenhouse, Lever, BambooHR, and others are available) and describe a custom dashboard: 'Show me all open roles, candidate count by stage, average days-to-fill by department, and any roles where no interview has been scheduled in the last 10 days.' The agent builds and keeps it current.
If your ATS doesn't have a formal API connection, Starch can automate it through your browser — no API required. Log in once and Starch navigates the tool to pull the data your dashboard needs, the same way a human would.
Get closed-beta access →
Toolkit

Starch apps for this workflow

Pick your role

See this workflow by operator

Run track open roles on Starch

You're on the list! We'll be in touch soon.