Editing and refining a job description
Every open role in Recruiting carries one job description: a single markdown document (`jd_markdown` behind the scenes) that lives on the requisition and is the thing you post to Indeed, LinkedIn,…
On this page
What this is
Every open role in Recruiting carries one job description: a single markdown document (jd_markdown behind the scenes) that lives on the requisition and is the thing you post to Indeed, LinkedIn, or your ATS. This article covers the panel where you read, edit, and refresh that document once a role already exists. If you're drafting the very first version of a JD for a brand-new role, see Creating a new role with the Hiring Advisor, the Create Role workspace at /recruiting/new builds the initial draft; this article picks up from there.
Verinode doesn't manage your job postings or push edits out to job boards for you. It holds the JD text, helps you improve it, and gives you a clean copy to paste wherever you post. You decide what goes live and where.
Where to find it
- Open Recruiting from the sidebar, or go to
/recruiting. - In the Open roles row, click any requisition tile to open its detail card.
- The detail card has up to two tabs for a requisition: Findings (only shown if there's something to flag) and Context, always present. The JD panel sits at the bottom of the Context tab, below the requisition's status fields.
What's above the JD panel
Before you get to the job description itself, the Context tab lays out the requisition's core facts in a 2x2 grid:
- Status, one of Posted, Screening, Interviewing, Offered, Hired, or Closed, the stage this requisition is in right now.
- Priority, Low, Normal, High, or Urgent, or a dash if none was set.
- Location, the state you're hiring in (city isn't shown in this grid).
- Target Close, the date you're aiming to have someone hired by, or a dash if you didn't set one.
Below that, if the requisition has any, two chip rows:
- Required Certifications, the certs a candidate must already hold (IICRC WRT, OSHA 10, etc).
- Posting Channels, where you've posted this role.
Both rows are omitted entirely when empty, there's no "no certifications required" placeholder, the section just doesn't render.
The Job Description panel is directly under these, in the same tab, not a separate one.
The Job Description panel
The panel has a label ("Job Description"), three controls in the top-right corner, and a large text box underneath holding the current JD as plain markdown.
Inline editing
The JD lives in an editable text area, roughly 20 rows tall, showing the requisition's markdown as-is: headers, bullet lists, comp range, the works. Click into it and edit like any text field, add a sentence, tighten a bullet, fix a typo, swap out a benefit. There's no rich-text formatting, it's markdown, so **bold** and - bullets render as markdown when the JD is used downstream.
The moment you change a single character, the panel marks itself dirty and the Save JD button lights up. Until you've either typed something or run a refine, Save JD stays disabled, there's nothing new to promote.
If a requisition has no JD yet, the box is empty and shows this placeholder text:
The JD renders here. Edit inline or click Refine With Hiring Advisor to have the specialist redraft it against the requisition's current role / certs / comp range.
Refine With Hiring Advisor
This button hands your current draft to the Hiring Advisor specialist and asks for a full redraft, not a quick edit. It's an AI action billed against your monthly Intelligence Capacity, like any specialist consult elsewhere on the platform.
When you click it, Verinode sends the Hiring Advisor everything it already knows about this requisition, role title, role slug, location, work arrangement, required and preferred certs, and the comp range, and a fixed instruction to preserve that comp range and required certs while producing fresher language, more outcomes-oriented responsibilities, and tighter state-legal compliance. If the requisition has no state set, Verinode defaults to Texas for the redraft rather than failing outright; if the requisition has no comp range on file yet, the Hiring Advisor can recommend one grounded in your peer and research data, though for an existing requisition you'll usually already have a range set.
While it's working, the button reads "Refining…" and Save JD is disabled until it finishes. When the redraft lands, it replaces the text in the editor (your prior wording isn't merged in, it's a full swap) and the panel marks itself dirty, prompting you to review the new draft before saving. Nothing is written to the requisition until you click Save JD.
Copy for ATS
A plain-text copy button, disabled when the box is empty. Click it to copy the current markdown (whatever's in the editor right now, including unsaved edits) to your clipboard. The label flips to "Copied ✓" for two seconds, then reverts. Use this to paste the JD straight into Indeed, LinkedIn, or your ATS's posting form without retyping anything, this is the step that actually gets your edited JD live on a job board; Verinode itself doesn't publish to those channels.
Save JD and promote to live
Clicking Save JD does two things at once, there's no separate "save as draft" step today:
- It writes your current markdown as a new row in the requisition's job-description revision history, tagged with a revision number Verinode assigns for that save.
- It immediately overwrites the requisition's live
jd_markdown, the version everything else on the platform reads, with what's in the box.
While saving, the button reads "Saving…"; when it finishes, a confirmation line appears under the panel. If the save fails (a network error, an expired session), the same line shows the error message instead so you know to retry.
There's no preview-then-publish gap: what you see in the editor when you click Save JD is what's live the instant the button finishes.
Revision handling
Every accepted Save JD is recorded as its own revision row behind the scenes, so nothing you save is silently overwritten without a trace. That said, this panel doesn't currently give you a revision browser, there's no "view history" or "roll back to v2" control here. The editor always shows the current live version; past saves exist as history, not as something you can click back through yet.
Practically, this means: if you want to keep a version, copy it out (Copy for ATS) before you overwrite it with another redraft. Treat each save as final for that moment, not as a checkpoint you can casually revert.
Best-practice example
Say a Findings tip on a Lead Water Technician requisition reads "Your Lead Water Technician posting has stalled," because it's been open more than 30 days with fewer than a handful of applicants. Open the requisition, go to Context, and click Refine With Hiring Advisor. The redraft keeps your existing comp range and required certs but rewrites the responsibilities in sharper, outcomes-first language and tightens the state-legal language for your posting state. Read it over in the editor, adjust a line or two by hand if something doesn't sound like you, then click Save JD to promote it live. Finally, click Copy for ATS and paste the refreshed text into your Indeed and LinkedIn postings, Verinode has updated its own copy, but re-posting to the boards themselves is still your move.
Data sources
Data sources
- 1.Requisition record (role, location, certs, comp range, JD text). Your business.
- 2.Hiring Advisor specialist redraft. Verinode AI (Intelligence Capacity).