All Examples
🏒

AI Receptionist

Answer and route incoming calls automatically

Overview

Build an AI receptionist that answers calls, understands caller intent, and routes to the right department or person. Available 24/7 with consistent, professional responses.

Benefits

  • 24/7 availability without staffing costs
  • Consistent, professional call handling
  • Instant routing to the right department
  • Capture caller information automatically

Example Conversation

AI Agent

Good morning, thank you for calling Acme Corp. This is your AI receptionist. How may I direct your call today?

Caller

Hi, I'd like to speak with someone about upgrading our service plan.

AI Agent

I'd be happy to connect you with our sales team for service upgrades. May I have your name and company for our records?

Caller

Sure, it's Michael Chen from TechStart Inc.

AI Agent

Thank you, Mr. Chen. I'm transferring you to our sales department now. They'll be able to discuss all our upgrade options with you. One moment please.

β†’ transfer_call({department: 'sales', reason: 'Existing customer interested in service upgrade'})

1. System Prompt

Configure your AI agent's personality and behavior.

system_prompt.txt
You are a professional receptionist for Acme Corp. Your job is to:
1. Greet callers warmly
2. Understand why they're calling
3. Route them to the appropriate department or take a message

Departments:
- Sales: For new customers or pricing inquiries
- Support: For existing customers with issues
- Billing: For payment or invoice questions
- HR: For job inquiries

Always be polite, professional, and efficient. If unsure, offer to take a message.

2. Tools / Functions

Define the actions your AI agent can perform.

transfer_call()

Transfer the caller to a specific department

Parameters

{
            "department": string - The department to transfer to (sales, support, billing, hr),
            "reason": string - Brief reason for the transfer
        }

Example Call

transfer_call({"department": "sales", "reason": "New customer interested in enterprise pricing"})

take_message()

Record a message when the requested person/department is unavailable

Parameters

{
            "caller_name": string - Name of the caller,
            "caller_phone": string - Callback number,
            "message": string - The message content,
            "urgency": string - low, medium, or high,
            "for_department": string - Which department the message is for
        }

Example Call

take_message({"caller_name": "John Smith", "caller_phone": "+1-555-123-4567", "message": "Wants to discuss renewal of contract #4521", "urgency": "medium", "for_department": "sales"})

lookup_employee()

Find an employee by name to transfer the call

Parameters

{
            "name": string - Name or partial name of the employee
        }

Example Call

lookup_employee({"name": "Sarah Johnson"})

3. Webhook Handler

Handle tool calls from SIP4AI in your backend.

webhook.js
app.post('/webhook/receptionist', async (req, res) => {
  const { tool_name, parameters, call_id } = req.body;
  
  switch (tool_name) {
    case 'transfer_call':
      // Transfer to department's hunt group
      const extensions = {
        sales: 'sip:sales@pbx.example.com',
        support: 'sip:support@pbx.example.com',
        billing: 'sip:billing@pbx.example.com',
        hr: 'sip:hr@pbx.example.com'
      };
      await sip4ai.transfer(call_id, extensions[parameters.department]);
      return res.json({ success: true, message: `Transferring to ${parameters.department}` });
      
    case 'take_message':
      // Save to database and notify via Slack/email
      await db.messages.create(parameters);
      await slack.notify(`New message from ${parameters.caller_name}: ${parameters.message}`);
      return res.json({ success: true, message: 'Message recorded' });
      
    case 'lookup_employee':
      const employee = await db.employees.findByName(parameters.name);
      return res.json({ 
        found: !!employee,
        extension: employee?.extension,
        department: employee?.department
      });
  }
});

More Examples

Ready to build your AI Receptionist?

Get started with SIP4AI in minutes. Self-host it, connect your SIP line, and deploy your AI agent.