AI Receptionist with CRM Lookup
An AI voice receptionist looks up the caller in CRM before greeting, personalizes known callers, creates leads for unknown numbers, and answers company FAQs.
The problem this solves
Front-desk lines start cold. Known callers have to repeat who they are, and unknown callers often go unrecorded unless staff manually note down their details.
Busy front desks cannot personalize every greeting during peak call volumes, causing new leads and open-ticket context to fall through the cracks.
What this use case does
Front-desk calls should not start cold. This pattern resolves the caller by phone number before the speech model begins speaking, delivering an immediate personalized greeting.
Unknown callers automatically generate new CRM leads. Known callers hear their name and relevant context, while the agent answers office hours and service FAQs.
A local JSON CRM is included by default. Pipedrive is optional when configuring CRM_BACKEND and API credentials.
What it looks like in practice
A known client calls. Before the opening greeting, the agent identifies the number and greets them warmly by name with their account context.
When an unknown number calls, the agent gathers caller details, logs a new lead in CRM, answers inquiries, and concludes the call professionally.
What it means for your operation
Inbound calls are answered immediately 24/7 without hold times. Known callers feel recognized, and new prospects become tracked CRM leads automatically.
Front-desk teams spend less time on repetitive phone intake and FAQs, allowing them to focus on in-person visitors and specialized client workflows.
What happens on a call
- 01
Answer and identify
Query CRM by incoming caller phone number before delivering the first greeting.
- 02
Personalize and serve
Greet with authorized context, create leads for unknown callers, and answer FAQs.
- 03
Log and wrap up
Persist CRM records, deliver a warm closing message, and disconnect cleanly.
Let's build this
Match your test caller number to a seed patient in data/customers.json for a known-caller path.
Required to start
3- Python 3.12+
Runtime for the sample and its dependencies.
- AgentDuet API key and connector UUID
Authenticates the sample against your AgentDuet workspace.
- DashScope API key for Qwen Omni
Powers the live speech session for receptionist calls.
Optional
1You can still run and test the sample without these. Add them when you want the full integration.
- Pipedrive API token and company domain
Looks up callers and writes leads in Pipedrive.
Step 1
Clone the sample
bashgit clone https://github.com/AgentDuet/agentduet-samples.git cd agentduet-samples/use-cases/ai-receptionistStep 2
Install dependencies
bashpython3.12 -m venv .venv && source .venv/bin/activate pip install -r requirements.txtStep 3
Configure credentials
Copy .env.example to .env and fill the required keys.
bashcp .env.example .envStep 4
Run the agent
Start main.py and leave it running, then dial the phone number on your AgentDuet connector.
bashpython main.py
What to try on a call
Dial as a seeded customer, then try an unknown number.
- 01
Call as a known seed customer and listen for a personalized greeting.
- 02
Call from an unknown number and verify that a new lead is created in CRM.
- 03
Ask about office hours or location, then hear a clean goodbye and disconnect.
Related use cases
Voice AI Agent for Appointment Booking
An AI voice agent handles inbound appointment scheduling over the phone, checks live availability against a calendar, and confirms bookings with calendar and messaging writes.
View use caseFeedback Collection with Outbound Calls
An outbound AI voice agent calls passengers after their trip, conducts an interactive conversational survey, and records structured feedback.
View use casePut a voice agent on a real number.
AgentDuet owns the phone and messaging boundary. Your model runs the conversation.