1. Overview
Develop a serverless, humanlike Voice AI Agent that:
- Calls applicants listed in a CSV file stored in AWS S3
- Screens them based on a job description
- Scores the candidates
- Captures salary expectations and preferred employment type (W2, 1099, or C2C)
- Records their availability for interviews
2. Functional Requirements
2.1 Input & Initialization
- Upload CSV of applicants to Amazon S3
- Fields: Name, Phone, Email, LinkedIn URL, Job ID
- Upload job description text to S3
- Upload resume file or fetch it from LinkedIn profile (optional)
- Job scoring logic either:
- Provided as a JSON config, or
- Generated via Amazon Bedrock (LLM prompt to extract criteria)
2.2 Conversation Flow via Voice Call
- Initiate outbound calls using Amazon Connect or Twilio (SIP-integrated with AWS)
- Identify and verify the applicant
- Ask screening questions (via Amazon Polly):
- Relevant experience and tools used
- Key technical skills match
- Years of experience
- Eligibility to work in the U.S.
- Preferred work location or remote flexibility
- Salary expectations
- Employment preference (W2, 1099, or C2C)
- Availability for an interview
- Transcribe user responses in real-time via Amazon Transcribe
- Store full Q&A transcript and outcomes
2.3 Scoring System
- Use Amazon Bedrock (e.g., Claude or Titan) or fine-tuned SageMaker model to:
- Match responses to JD
- Assign a score (0–100)
- Weight by skills, experience, salary match, and availability
2.4 Availability Capture
- Ask candidate for their interview availability in next 3–5 business days
- Support free-form response with NLP parsing (via Bedrock or Comprehend)
- Convert to ISO 8601 format for integration
3. Data & Output
- Store all data in DynamoDB:
- Contact info
- Call status (Completed, No Answer, Voicemail)
- Interview availability
- Employment type preference
- Salary expectations
- Scores