Documentation Index
Fetch the complete documentation index at: https://docs.firstwork.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The AI Caller enables you to deploy intelligent voice bots that can call candidates, conduct phone screenings, collect responses, and feed data back into your hiring flows. It integrates with major telephony providers to deliver natural, conversational AI experiences at scale.How It Works
- Configure a Caller Bot — Define the conversation script, questions, and behavior
- Enroll candidates — Assign candidates to be called (manually or via automation)
- AI conducts call — The bot calls the candidate and follows the script
- Responses captured — Candidate responses are transcribed and stored
- Data mapped — Responses are mapped to form fields in the hiring flow
- Automations fire — Follow-up actions trigger based on responses
Setting Up an AI Caller Bot
Create a new Caller Bot
Select a telephony provider
Configure voice and language
Design the conversation script
Map responses to form fields
Set scheduling and retry policies
Attach a knowledge base (optional)
Caller Bot Configuration
| Setting | Description |
|---|---|
| Name | Bot identifier visible to your team |
| Script | Conversation flow, questions, and branching logic |
| Voice | AI voice selection (multiple voices per language) |
| Language | Conversation language |
| Telephony Provider | Twilio, Plivo, or Exotel |
| Caller ID | The outbound phone number candidates see |
| Form Mapping | How responses map to form fields |
| Retry Policy | How many times to retry unanswered calls |
| Schedule | When calls should be placed |
| Max Call Duration | Maximum length before the bot wraps up |
| Short Drop Duration | Minimum call length to count as a real call (default: 10s) |
| Realtime Model | GPT Realtime model powering the conversation (Standard, Mini, or 1.5) |
| Smooth Barge-in | Makes the caller smoothly interrupt the bot mid-sentence for natural conversation flow |
| Conversation History | Include summaries from prior calls for context continuity |
| Knowledge Base | Reference material the bot can use to answer questions |
Designing Conversation Scripts
The script defines what the bot says and asks during a call. A well-designed script feels natural while reliably collecting the data you need.Script Structure
Every script has four sections:| Section | Purpose | Example |
|---|---|---|
| Introduction | Greet the candidate and explain the call | ”Hi, this is an automated call from Acme Corp regarding your application…” |
| Questions | Collect specific information | ”What is your availability to start?” |
| Follow-ups | Clarify or dig deeper based on answers | ”You mentioned weekends — does that include both Saturday and Sunday?” |
| Closing | Summarize and end the call | ”Thank you for your time. We’ll be in touch within 48 hours.” |
Branching Logic
Scripts support conditional branching so the conversation adapts based on candidate responses:Script Tips
Keep questions clear and specific
Keep questions clear and specific
Add confirmation prompts
Add confirmation prompts
Handle unexpected responses gracefully
Handle unexpected responses gracefully
Keep calls concise
Keep calls concise
Caller Enrollments
A Caller Enrollment represents a candidate assigned to receive an AI call.Enrollment Lifecycle
Enrollment Fields
| Field | Description |
|---|---|
| Candidate | The candidate to be called |
| Caller Bot | Which bot configuration to use |
| Status | Current state (Initiated, In Progress, Completed, Failed, Short Drop, Identity Mismatch, Reschedule Required, Connection Error, User Unreachable, Timed Out) |
| Attempts | Number of call attempts made |
| Scheduled Time | When the next call attempt is planned |
| Call Duration | Length of the completed call |
| Transcript | Full conversation transcript |
| Extracted Data | Structured data extracted from responses |
Creating Enrollments
Enrollments can be created in three ways:- Manually — Select candidates from the application list and enroll them in a caller bot
- Via automation — Trigger enrollment when a candidate enters a stage, submits a form, or meets specific criteria
- In bulk — Enroll multiple candidates at once using Bulk Operations
Form Mapping
Caller Form Mappings define how AI-extracted responses populate form fields in the hiring flow.Mapping Types
| Mapping Type | Description | Example |
|---|---|---|
| Direct Value | Maps the response directly to a field | ”What city do you live in?” → City text field |
| Boolean | Converts yes/no answers to checkbox values | ”Do you have a driver’s license?” → License checkbox |
| Date Extraction | Parses dates from natural language | ”When can you start?” → Start date field |
| Numeric Extraction | Pulls numbers from responses | ”How many years of experience?” → Experience number field |
| Selection Match | Matches response to dropdown/radio options | ”Day shift or night shift?” → Shift preference dropdown |
| Extracts an email address | ”What’s your email?” → Email field | |
| Phone Number | Extracts a phone number | ”What’s your contact number?” → Phone field |
| Full Transcript | Stores the complete answer as text | ”Tell me about your experience” → Experience text area |
Mapping Configuration
| Setting | Description |
|---|---|
| Bot Question | The question in the script to map from |
| Form Element | The target form field |
| Mapping Type | How to transform the response |
| Default Value | Value to use if the question wasn’t answered |
| Validation | Optional rules to validate the extracted value |
Telephony Providers
The AI Caller supports three telephony providers. The platform can automatically select the best provider based on the candidate’s phone number and region.| Provider | Regions | Features |
|---|---|---|
| Twilio | Global | SMS + Voice, robust API, widest coverage |
| Plivo | Global | Cost-effective, good international coverage |
| Exotel | India, SEA | Regional coverage, local numbers, competitive pricing |
Provider Configuration
Each provider requires:- API credentials (API key / auth token)
- At least one provisioned phone number for outbound calls
- Webhook URL configuration for call status updates
Scheduling & Retries
Call Windows
Configure when the AI Caller is allowed to place calls:| Setting | Description | Example |
|---|---|---|
| Time Zone | The candidate’s local time zone | America/New_York |
| Allowed Hours | Hours during which calls can be placed | 9:00 AM – 7:00 PM |
| Allowed Days | Days of the week calls are permitted | Monday – Saturday |
| Blackout Dates | Specific dates when calls should not be placed | Public holidays |
Retry Policy
| Setting | Description | Default |
|---|---|---|
| Max Attempts | Maximum number of call attempts | 3 |
| Retry Interval | Time between retry attempts | 4 hours |
| Backoff Strategy | How retry intervals increase | Linear |
| Abandon After | Stop retrying after this duration | 72 hours |
- The enrollment status moves to No Answer
- A retry is scheduled based on the retry interval and backoff strategy
- If max attempts are reached, the enrollment moves to Failed
- A failed enrollment can trigger automations (e.g., send an SMS asking the candidate to call back)
Tool Calling (Mid-Call Automations)
AI Caller bots can invoke automations during a live call — enabling real-time actions like scheduling interviews, sending emails, or updating records while the conversation is still in progress.How It Works
- Link automations to the bot — Connect one or more automations and define when each should be triggered
- Provide a tool description — Describe when the AI should invoke the automation (e.g., “Use this when the candidate confirms they want to schedule an interview”)
- Define a payload schema — Specify the data fields the AI needs to collect before invoking the automation
- AI decides and acts — During the call, the AI determines when to invoke a tool, collects the required data, and triggers the automation in the background
Smooth Barge-in
With Smooth Barge-in enabled, the bot uses local Silero-based voice activity detection to detect when a candidate speaks over the bot. The bot stops talking and yields the floor only if required, creating a more natural conversation flow. Disabled by default.Knowledge Bases
Caller bots can reference Knowledge Bases — collections of information the AI uses to answer candidate questions during calls.What to Include
- Company policies and FAQs
- Job descriptions and requirements
- Benefits and compensation details
- Location and schedule information
- Parking, dress code, and first-day instructions
Managing Knowledge Bases
Knowledge bases are managed at the company level and can be shared across multiple caller bots.Create a knowledge base
Add content
Conversation History
Every completed call is automatically summarised. When Conversation History is enabled, the bot includes these summaries from prior calls with the same candidate in its context. This allows the AI to reference previous conversations, avoid re-asking questions, and pick up where a prior call left off.Call Transcripts & Recordings
Every completed call generates a full transcript and optional audio recording.Transcripts
Transcripts are available immediately after a call completes and include:- Speaker labels (Bot / Candidate)
- Timestamps for each turn
- Confidence scores for transcribed responses
- Extracted data highlights
Recordings
Call recording requires a feature flag to be enabled for your account. Once enabled:- Recordings are stored securely and linked to the enrollment record
- Recordings are retained according to your company’s data retention policy
- Candidates are informed at the start of the call that the conversation is being recorded
Analytics & Reporting
The AI Caller dashboard provides real-time visibility into call performance.Key Metrics
| Metric | Description |
|---|---|
| Connection Rate | Percentage of calls answered by candidates |
| Completion Rate | Percentage of answered calls that reach the closing |
| Avg. Call Duration | Average length of completed calls |
| Data Capture Rate | Percentage of form fields successfully populated |
| Retry Rate | Percentage of enrollments requiring multiple attempts |
| Drop-off Point | Where in the script candidates most often hang up |
Monitoring
Use the dashboard to:- Track active enrollments and their statuses in real time
- Identify scripts with low completion rates and optimize them
- Compare performance across different caller bots
- Monitor telephony provider health and call quality
Integration with Automations
AI Caller integrates seamlessly with the Automations system.Triggering Enrollments via Automation
Automatically enroll candidates in a caller bot when:- A candidate enters a specific stage
- A form is submitted
- A compliance rule passes or fails
- On a scheduled basis (e.g., daily at 10 AM)
Triggering Automations from Call Results
Use call outcomes to drive downstream workflows:| Call Outcome | Automation Action |
|---|---|
| Call completed, all questions answered | Advance candidate to next stage |
| Call completed, candidate not interested | Update application status to “Withdrawn” |
| Call failed after max retries | Send SMS with callback instructions |
| Candidate flagged for review | Notify hiring manager via Slack |
Use Cases
Pre-Screening
Document Follow-Up
Scheduling
Onboarding Check-Ins
Re-Verification
Survey & Feedback
Best Practices
Start with a simple script and iterate
Start with a simple script and iterate
Use automations to enroll candidates at the right moment
Use automations to enroll candidates at the right moment
Configure appropriate call windows
Configure appropriate call windows
Keep knowledge bases up to date
Keep knowledge bases up to date
Monitor and optimize retry policies
Monitor and optimize retry policies
Review transcripts for quality assurance
Review transcripts for quality assurance