Job requisition approval workflow with Slack routing and ATS integration
Build a job requisition approval workflow that routes new-hire requests through a two-stage approval chain (Department Head → Finance) before creating a draft in an applicant tracking system, with a complete, reversible audit trail. The point is to replace ad-hoc email/DM approvals with a structured, one-click, fully logged flow so hiring managers, approvers, and recruiting ops always know the status and have a compliant record. Trigger it with a hosted intake form on an authenticated web route where a hiring manager submits a new-hire request. Approvers act from links delivered to their chat tool, opening lightweight approval pages that need no platform account (use an unguessable route plus a per-request token). Serve the form's field schema from a small config route so the form is editable without code changes. Main flow: On submit, validate the request, create a persisted requisition record with an ordered event history, and post an Approve/Reject link to the department head. Department Head approve routes to Finance; reject notifies the hiring manager and ends. Finance approve creates the ATS draft and sends the hiring manager the link; reject notifies affected parties and ends. Allow any prior decision to be reversed at any time; reversing a finance approval after the draft exists should archive that draft as compensation. Re-notify affected parties and record every action (including reversals) in the audit log. Route approvals by role rather than by person, driven by editable config that maps roles/departments to chat channels, so who holds a role can change without editing the workflow. Persist requisition records and an append-only audit log to durable storage. Post notifications to Slack — or your team's chat tool (Teams, Discord, etc.). Create/archive drafts in an applicant tracking system such as Greenhouse, Lever, or Ashby — leave this as a clearly-marked stub until you connect a real ATS via an authenticated connector. Tools used: Slack, applicant tracking system (Greenhouse/Lever/Ashby — stubbed), 3B named volumes for state and audit log
What this prompt builds
A structured new-hire requisition approval workflow that routes requests through department head and finance via one-click Slack approvals, logs every decision to an append-only audit trail, and auto-creates drafts in an applicant tracking system. Role-based routing keeps the flow accurate as people change positions. Approvals and reversals are fully auditable, replacing scattered email/DM chains with a compliant, trackable pipeline.
The problem
New-hire job requisitions get stuck in messy, informal approval chains — emails and DMs with no clear trail of who approved what, and no way to cleanly reverse a decision. Hiring managers wait on unclear approvals, department heads and finance approve from scattered messages, and HR and recruiting ops are left with no audit trail and manual ATS data entry. This workflow routes every requisition through a structured intake-to-approval pipeline: the hiring manager submits one hosted form, the request auto-routes through department head then finance via role-based Slack approval links (one-click, no 3B account needed), and on final approval a draft is auto-created in the ATS with the link sent back to the hiring manager. Every decision — including reversals, which auto-archive the ATS draft — is logged to a full, append-only audit trail, and routing is by role (not person) so it stays correct as people change.
Solution and impact
The workflow turns an ad-hoc, error-prone approval scramble into a fast, one-click, fully auditable flow. It saves back-and-forth chase time, removes manual ATS data entry, guarantees compliance and reversibility, and gets approved requisitions into the ATS in minutes instead of days. Role-based routing means the pipeline adapts automatically when people move, and the append-only audit log delivers the complete, tamper-proof history that recruiting ops and finance need for compliance.