JD Generator - Glean Agent Flow

v32 / 11 steps / sequential retrieval + HITL approval
Generates brand-compliant Contentful job descriptions from a structured form. Loads 6 reference documents sequentially, generates with Claude Sonnet, presents for hiring manager review, and creates a Google Doc on approval.
Trigger
Document Retrieval
Generation
Review / HITL
Output
Input Form (8 fields)
Job Title
TEXT - required
Department
SELECT - 15 options
Level
SELECT - L1-L10, M variants
Location
SELECT - 9 offices/remote
Additional Locations
TEXT - optional
Travel Requirement
SELECT - optional
Office Environment
TEXT - optional
Additional Context
TEXT - optional
Phase 1 - Document Retrieval (sequential chain)
1
Search Reference JDs
Company search
Goal: Find published Contentful JDs matching the requested title and location from the golden examples folder.
Source: Google Drive folder (golden examples only)
Returns: Up to 2 full documents, or NO_REFERENCE_JDS_FOUND if none match.
memory: ALL_DEPENDENCIES
2
Load Hiring Package Template
Read document
Goal: Load the official Hiring Package Template as the structural reference for output format.
Source: Google Docs (fixed URL)
Returns: Full document content, no summarization.
3
Load JD Templates
Read document
Goal: Load the JD Templates document defining section names, ordering, and structure.
Source: Google Docs (fixed URL)
Returns: Full document content, no summarization.
4
Load Core Values
Read document
Goal: Load Contentful Core Values to inform JD language and tone.
Source: Google Docs (fixed URL)
Returns: Full document content. Values are woven naturally into JD language, never listed as a section.
5
Load Leveling Guide
Read document
Goal: Load the Contentful Leveling Guide (L1-L10) for career level expectations and competency dimensions.
Source: Google Docs (fixed URL)
Use: Calibrate JD language to correct level. Resolve level codes to canonical labels at runtime (no frozen mappings).
6
Load Brand Identity
Read document
Goal: Load Contentful Brand Identity for voice, tone, and writing guidelines.
Source: Google Docs (fixed URL)
Returns: Full document content. Enforced during generation.
Phase 2 - Generation
7
Generate Complete JD
Think
Claude Sonnet
Goal: Generate a publication-ready Contentful job description from all retrieved context and form inputs.

Three-part process:
  • Part 1 - Input Normalization: Resolve form inputs to canonical values. Level code resolved against Leveling Guide at runtime (not hardcoded). Detect IC vs People Leader track.
  • Part 2 - Reference JD Handling: Use golden examples as tone/style anchors. Adapt and elevate, never copy verbatim. If level mismatch, weight Leveling Guide more heavily.
  • Part 3 - Generate Sections:
    • About the Opportunity - max 150 words, direct voice, core values woven in, (f/m/d) for EU/UK
    • What to expect? - max 6 bullets, action verbs, 2-3 bold phrases per bullet, LinkedIn keywords embedded
    • What you need to be successful? - max 6 required + 3 bonus, level-aligned, bold phrases, LinkedIn keywords
Hard rules: No em-dashes. No level codes in output. No benefits/compliance boilerplate. No fabricated team details.
memory: ALL_DEPENDENCIES
Phase 3 - Review and Approval (HITL)
8
Present JD for Review
Respond
Claude Sonnet
Goal: Show the complete generated JD to the hiring manager before creating a Google Doc.
Includes: Full JD text as-is (no summarization, no header block), plus the line "This draft was generated with AI assistance and requires human review before publishing."
Asks: "Would you like to make any changes, or shall I create a Google Doc?"
Excludes: No compliance checklist, no action items, no source citations, no references to other agents.
9
Await User Approval
Wait for User Input
Goal: Pause the workflow until the hiring manager explicitly approves or requests changes.
Options:
  • Approve - proceed to Google Doc creation
  • Request Changes - capture feedback for a revised generation
Note: Requires manual configuration of "Wait for User Input" action in Glean UI after import.
Phase 4 - Output
10
Create Google Doc
Create a Google Doc
Goal: Create a Google Doc containing the approved JD in the designated Drive folder.
Filename: JD-[Title]-[Department]-[Level]-Draft
Folder: Dedicated JD output folder in Google Drive
Content: Complete JD text exactly as generated. No reformatting.
Note: Requires manual configuration of "Create a Google Doc" action in Glean UI after import.
11
Deliver Google Doc
Respond
Goal: Confirm creation and provide the Google Doc link.
Output: 2-3 lines max. Doc URL + "Share with your recruiter for final review before posting to Greenhouse."
Excludes: No JD content repeated, no checklists, no next steps, no references to other agents.
Design Notes
  • Sequential retrieval - Steps 1-6 run in strict sequence (each depends on the previous) to ensure reliable context loading in Glean's memory window.
  • Runtime document reads - All reference documents are read at runtime via live URLs. No frozen content baked into instructions. Leveling Guide is the source of truth for level resolution.
  • Claude Sonnet - Generation (Step 7) and review (Step 8) use Vertex AI Claude Sonnet for higher quality output.
  • Human in the loop - No JD is published without hiring manager approval at Step 9. The agent generates only; recruiting reviews before posting to Greenhouse.
  • Brand enforcement - Zero em-dashes, no level codes in visible text, bold formatting on key phrases, LinkedIn keywords embedded naturally.
  • Owner: Bella Thomas (Recruiting) / Charlie Fuller (builder). Target: 60% of net new roles.