The Problem: Manual Screening at Scale in a Regulated Environment
You run a 2,000+ professional services firm in Germany. Your HR and recruiting team processes 15,000 to 40,000 applications per year across consulting, audit, and advisory practice areas. Each application requires manual data entry into your ATS, a screening pass against role-specific criteria, and a first-response email to the candidate. The cycle time from application receipt to first recruiter touch averages 3 to 5 business days. Your ISO 27001 certification requires documented controls over any system that processes candidate PII. You need to replace manual data entry, add round-the-clock candidate response, and scale the screening workflow across departments within 6 months. The constraint is fixed: a fixed-scope pilot on one workflow, measured against a before/after baseline, with human-in-the-loop approval for every classification that touches a candidate’s record.
Prerequisites: What You Need Before Step 1
Before you write a single line of integration code, confirm these items are in place:
- Process audit completed. You have documented the 2 to 3 highest-volume screening workflows (e.g., junior analyst, associate, senior consultant) with their current cycle time, error rate, and volume. The audit identifies which fields are extracted manually and which classification rules recruiters apply.
- Baseline measurement. You have measured cycle time and error rate on a sample of 200+ historical applications from the target workflow. This becomes your before/after benchmark.
- ATS API access. Your ATS (Workday, SAP SuccessFactors, Taleo, or a German-specific system like Personio) exposes a REST API for candidate record updates and webhook endpoints for event notifications. You have API credentials and a sandbox environment.
- ISO 27001 risk assessment. Your information security officer has documented a risk assessment for the AI component, covering data flow, PII handling, model output review, and rollback procedures.
- Claude API access. You have an Anthropic API key with sufficient rate limits for the pilot volume. You have confirmed that candidate PII will be processed in EU data centers (Anthropic’s EU region) to satisfy GDPR and ISO 27001 data residency requirements.
- Human-in-the-loop review dashboard. You have a simple interface where recruiters can approve, reject, or edit the AI’s classification before it writes to the ATS. This is non-negotiable under your ISO 27001 accountability controls.
Step 1: Run the Process Audit and Measure the Baseline
Run a structured process audit on the target workflow. Identify every manual step from application receipt to first recruiter touch. For each step, record: the input (PDF resume, email, form submission), the output (ATS record, classification tag, response email), the time spent, and the error rate. Use a sample of 200+ historical applications from the last 6 months. The audit output is a one-page workflow map with cycle time and error rate per step. This document becomes the baseline for your fixed-scope SOW. Without it, you cannot measure whether the pilot actually improved anything. The audit also identifies which fields are worth extracting: name, email, phone, location, years of experience, skill tags, education, and any role-specific criteria (e.g., ‘minimum 3 years in financial services’).
Step 2: Define the Fixed-Scope Pilot SOW
Define the fixed-scope SOW with your delivery partner. The SOW specifies: (1) which workflow is in scope (e.g., junior analyst screening), (2) which fields Claude extracts from the resume, (3) which classification rules apply (e.g., ‘meets minimum requirements: yes/no/partial’ based on years of experience and skill tags), (4) which human approval gates exist (every classification that writes to the ATS requires recruiter approval), (5) the integration points (ATS REST API, webhook endpoint, review dashboard), and (6) the success criteria (cycle time reduction target, error rate threshold, volume processed per week). The SOW is a fixed document. Any change after week 3 triggers a change request with a revised timeline and cost. This protects both parties from scope creep, which is the most common failure mode in AI pilots at 2,000+ firms.
Step 3: Build the Claude API Extraction Pipeline
Build the extraction pipeline. Your service receives the resume via a REST API endpoint (POST /api/v1/resumes) that accepts PDF or DOCX files. The service converts the document to text, then calls the Anthropic Claude API with a structured prompt that specifies the extraction schema. The prompt returns JSON with fields: name, email, phone, location, years_experience, skills (array), education, and a confidence score per field. The service validates the JSON schema, applies confidence thresholds (fields below 0.8 confidence are flagged for manual review), and stores the result in a temporary queue. The Claude API call uses the claude-sonnet-4-20250514 model for the balance of quality and cost. The prompt includes few-shot examples of correctly extracted resumes to reduce hallucination. The entire extraction takes 2 to 4 seconds per resume at the API level.
Step 4: Implement Classification and Human-in-the-Loop Review
After extraction, the service calls Claude a second time for classification. The prompt includes the extracted fields and the role-specific rubric (e.g., ‘Minimum 2 years experience in financial services, must hold a CFA charter or equivalent, fluent in German and English’). Claude returns a classification object: meets_requirements (boolean), confidence (float), summary (one-paragraph explanation), and flagged_fields (array of fields that triggered the classification). The service sends this classification to the human-in-the-loop review dashboard. The recruiter sees the extracted fields, the classification, and the summary. They can approve, reject, or edit before the classification writes to the ATS. The approval action triggers a webhook to your ATS endpoint (POST /api/v1/candidates/{id}/classification) with the final classification payload. The webhook uses HMAC-SHA256 signatures for authentication. This step ensures no AI classification touches a candidate’s record without human review, satisfying ISO 27001 accountability controls.
Step 5: Integrate with Your ATS via REST API and Webhooks
Integrate the screening service with your ATS via REST API and webhooks. The ATS sends new applications to your service via a webhook (POST /api/v1/webhooks/ats/application_received) with the candidate ID and document URL. Your service processes the resume, runs extraction and classification, and sends the result back to the ATS via a REST API call (PUT /api/v1/candidates/{id}). The ATS updates the candidate record with the extracted fields and classification. The webhook payload includes: candidate_id, extracted_fields (JSON), classification (JSON), metadata (model_version, processing_timestamp, source_document_hash). The webhook uses exponential backoff for retries (3 attempts, 1s/5s/30s delays). Log every webhook delivery with timestamp, payload hash, and response code. These logs become part of your ISO 27001 audit trail. The integration must handle edge cases: duplicate applications, malformed documents, and API rate limits from the ATS.