InsightHireHelp Center

Job governance

Requisitions, approval chains, intake forms, job templates, and AI job post generation under the job_governance flag.

Jobs governance is a suite of hiring controls gated by the job_governance per-tenant feature grant. When enabled, org admins get two new settings tabs — Approvals and Intake Forms — plus requisition and template workflows across the app.

Flag slug: job_governance

What's included

CapabilityPrimary surface
Requisitions & headcount/dashboard/requisitions
Multi-step approvals/dashboard/approvals, Settings → Approvals
Job templatesPosition create → "Start from template"
Hiring manager intake formsSettings → Intake Forms, linked from requisitions
AI job description generationPosition/requisition editors

Everything is additive: without the grant, existing position flows are unchanged. Mutations throw PRECONDITION_FAILED when the grant is missing.

Requisitions

Requisitions represent approved headcount before a live job exists.

Typical flow:

flowchart TD
  A[Hiring manager submits requisition] --> B{Approval chain}
  B -->|Approved| C[Requisition APPROVED]
  B -->|Rejected| D[Requisition REJECTED]
  C --> E[Recruiter opens position from requisition]
  E --> F[Position published]

Requisition fields include title, department, location, employment type, headcount, salary range, and reason. Fill tracking compares approved headcount vs positions opened and hires made.

Requisition owners and approvers gain read access during the approval window — see Roles & permissions.

Approval chains

Settings → Approvals (/dashboard/settings/approvals) builds approval chains for two target types:

Target typeApplies to
JOBPosition publish / major edits
REQUISITIONNew headcount requests

Chain rules

  • One active chain per target type — activating a chain deactivates siblings server-side
  • Steps run in order; each step requires minApprovals sign-offs
  • Approvers are either specific users (USERS) or everyone with a role (ROLE)
  • Conditional steps (v2) skip unless all conditions match — fields include department, location, employment type, headcount, salary min/max, and requisition reason

Condition operators: eq, neq, in, not_in, gt, gte, lt, lte, contains.

Approval inbox

Approvers work pending items from /dashboard/approvals. Decisions record on the approval request; approved requisitions flip status automatically. Approved jobs stay DRAFT — publishing remains an explicit recruiter action.

Intake forms

Settings → Intake Forms defines hiring-manager kickoff questionnaires tied to requisitions or job creation:

  • Capture structured requirements before approval
  • Map answers to position fields and custom fields (requires custom_fields for extended metadata)
  • Reduce back-and-forth between HM and recruiter

Intake submissions attach to the requisition or job record and appear in the approval packet for approvers.

Job templates

Templates store reusable position snapshots:

  • Title patterns, description boilerplate, requirements
  • Default journey attachment
  • Custom field defaults (with custom_fields grant)
  • Pipeline template reference (with custom_pipelines grant)

Create templates from an existing position or from scratch in the governance API. Recruiters start new positions from template to enforce consistency across similar roles.

New orgs with job_governance receive seeded default templates via org-default-seeds.

AI job post generation

The governance namespace includes AI-assisted job description tools:

  • Generate full descriptions from title + bullet inputs
  • Hygiene checks (biased language, missing sections, length)
  • Regenerate sections without losing manual edits

AI output is always editable before publish. Generation respects org industry and size from Settings → Organization.

API namespace

All procedures live under trpc.governance:

Sub-routerPurpose
capabilitiesGate probe
approvals.*Chain CRUD, request lifecycle, decisions
requisitions.*Requisition CRUD, status, headcount
jobTemplates.*Template CRUD, instantiate position
intakeForms.*Form definitions and submissions
GrantWhy
custom_fieldsRich templates and intake metadata
custom_pipelinesTemplate default pipeline stages
job_governanceCore governance suite

job_governance alone unlocks requisitions and approvals; pair with custom_fields for full template value.

Settings paths summary

PagePath
Approval chain builder/dashboard/settings/approvals
Intake form editor/dashboard/settings/intake-forms
Approvals inbox/dashboard/approvals
Requisitions list/dashboard/requisitions

Troubleshooting

SymptomCheck
Settings tabs missingjob_governance platform switch + org grant
Approval stuckStep minApprovals vs approver count; conditional step conditions
Cannot publish jobPending approval on JOB target; complete or cancel request
Template missing fieldscustom_fields grant for custom field defaults