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.