# Agent templates

A working agent to start from instead of an empty form: a prompt that has met real callers, a greeting, sensible conversation settings, and — where the shape needs one — a keypad menu or a flow. Create from one, then change whatever you like. Nothing stays linked.

## Creating from a template

`POST /v1/agents`

**Shell**

```bash
curl -s -X POST https://voice.sphoro.com/v1/agents \
  -H "Authorization: Bearer $SPHORO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "appointment-reminder",
    "name": "Acme Clinic reminders"
  }'
```

Anything else you send wins over the template, so this is one request rather than a create followed by a patch:

**Shell**

```bash
curl -s -X POST https://voice.sphoro.com/v1/agents \
  -H "Authorization: Bearer $SPHORO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template": "appointment-reminder",
    "name": "Acme Clinic reminders",
    "languages": [{"code": "hi", "greeting": "नमस्ते, एक्मे क्लिनिक से।"}],
    "conversation": {"voicemail": "message", "voicemail_message": "This is Acme Clinic with a reminder about your appointment."}
  }'
```

> **A template is a starting point, not a parent.** The agent it creates is an ordinary agent with no link back — editing it changes nothing else, and a template that is later improved does not reach agents already created from it.

## The catalogue

`GET /v1/agent-templates`

**Shell**

```bash
curl -s https://voice.sphoro.com/v1/agent-templates \
  -H "Authorization: Bearer $SPHORO_API_KEY"
```

The list below is the one this deployment serves. Every row's **id** is what goes in `template`.

### Reception

| Template | What it does |
| --- | --- |
| `front-desk`Front Desk Receptionist | Answers the main line, routes to the right department, takes messages. |
| `healthcare-reception`Healthcare Receptionist | Medical front desk — appointments, intake details, triage to a human. |
| `hospitality-concierge`Hospitality Concierge | Hotel front desk — guest requests, local recommendations, issues. |
| `after-hours`After-Hours Answering Service | Takes messages outside business hours and escalates real emergencies. |
| `keypad-only`Keypad Menu (no AI) | A pure phone menu: 1 and 2 put the caller through, 3 asks for a call back. No AI, no per-call cost. |
| `forwarding-line`Forwarding Line (no AI) | Answers, says who is picking up, and puts the caller straight through to a person. |
| `keypad-menu`Keypad or Speech Menu (AI) | Answers, offers numbered options, and routes on the keypress. |

### Support

| Template | What it does |
| --- | --- |
| `customer-support`Customer Support | Fields support enquiries, answers from your documentation, escalates. |
| `technical-support`Technical Support Agent | Walks through troubleshooting one step at a time, escalates with detail. |
| `order-status`Order Status & Tracking | Order lookups, delivery estimates, and the start of a return. |

### Internal

| Template | What it does |
| --- | --- |
| `it-helpdesk`IT Help Desk | Internal IT — password resets, VPN, access requests, software faults. |
| `hr-hotline`Employee Benefits & HR Hotline | Answers staff questions on leave, benefits and payroll. |
| `onboarding-assistant`New Hire Onboarding Assistant | Walks a new starter through day one and what they need to do. |
| `internal-knowledge`Internal Knowledge Assistant | Answers process and policy questions from internal documentation. |

### Sales

| Template | What it does |
| --- | --- |
| `inbound-lead-qualifier`Inbound Lead Qualifier | Qualifies inbound enquiries and routes the good ones to a rep. |
| `outbound-sales`Outbound Sales Representative | Outbound calls to book meetings, with a clean exit when it is a no. |
| `appointment-setter`Appointment Setter | Books demos with warm leads and confirms the details. |
| `real-estate-followup`Real Estate Lead Follow-Up | Follows up property enquiries, qualifies budget, books viewings. |

### Scheduling

| Template | What it does |
| --- | --- |
| `appointment-scheduler`Appointment Scheduler | General-purpose booking — checks availability, books, confirms. |
| `salon-reception`Salon & Spa Receptionist | Service pricing, bookings, and stylist requests. |
| `appointment-reminder`Appointment Reminder | Outbound confirmations and rescheduling for upcoming appointments. |
| `restaurant-host`Restaurant Host | Reservations, party sizes, dietary notes, and opening hours. |

### Operations

| Template | What it does |
| --- | --- |
| `home-services`Home Services Qualifier | HVAC, plumbing and electrical — qualifies the job and books a technician. |
| `property-management`Property Management | Tenant calls — maintenance requests, rent questions, emergencies. |
| `restaurant-orders`Restaurant Phone Orders | Takes pickup and delivery orders with customisations and totals. |

### Finance

| Template | What it does |
| --- | --- |
| `loan-servicing`Loan Servicing Line | Inbound line for existing borrowers — payments, fees, arrears, settling early. |
| `collections`Payment Recovery Agent | Respectful outbound calls about overdue invoices. |
| `loan-payment-reminder`Loan Payment Reminder | Outbound reminder with a keypad option to pay or speak to someone. |
| `payment-reminder`Payment Reminder | Outbound reminder for any bill, invoice, fee or EMI that is due, with no pressure. |
| `ivr-payment-reminder`IVR Payment Reminder (no AI) | Recorded-style keypad reminder: hear the amount, get a pay link, say it is paid, or ask for a callback. |
| `mandate-failure`Failed Payment Follow-Up | Outbound call after a direct debit is returned or a card is declined. |
| `kyc-followup`Identity Check Follow-Up | Chases outstanding identity or address documents, without ever sounding like a scam. |
| `card-support`Card & Account Support | Lost cards, unrecognised transactions, statements and payments. |
| `loan-enquiry`Loan Enquiry & Eligibility | Answers borrowing questions, explains the process, books time with an adviser. |
| `insurance-claim`Insurance Claim Intake | First notice of loss — takes the facts without judging the cover. |

### Research

| Template | What it does |
| --- | --- |
| `feedback-collector`Customer Feedback Collector | Outbound follow-up for ratings and open-ended feedback. |
| `user-researcher`User Research Interviewer | Qualitative discovery interviews — open questions, never leading. |

### Education

| Template | What it does |
| --- | --- |
| `language-tutor`Language Practice Tutor | Conversation practice that adapts to level and corrects gently. |
| `roleplay-coach`Training Roleplay Coach | Plays a realistic counterpart for practice, then scores the attempt. |
| `assessment`Assessment & Quiz Agent | Conducts a spoken assessment, scores it, and explains the result. |

## What a template sets

Everything an agent needs to take a call and nothing that is specific to you. Templates never carry a phone number, a carrier, a transfer number, a knowledge base or a project — those are facts about your account, and a template that guessed at them would create an agent that looks configured and is not.

| A template supplies | You supply |
| --- | --- |
| The prompt and greeting, in one language | The rest of your languages |
| `mode`, and a keypad menu or flow where the shape needs one | `transfer_number`, if it transfers |
| Conversation settings tuned for that kind of call | `knowledge_base_ids` |
| Post-call extractions worth having for that kind of call | The carrier and the number |

## After creating one

Three things worth doing before it takes real traffic, in this order:

1. **Read the prompt and make it yours.** A template says "the clinic"; your callers expect the name of the clinic. See [writing the prompt](https://voice.sphoro.com/docs/prompting).
2. **Place a browser call to it.** No number needed — see [talk from a browser](https://voice.sphoro.com/docs/browser).
3. **Attach a knowledge base** if it will be asked anything factual about your business. A template's prompt cannot know your prices. See [knowledge base](https://voice.sphoro.com/docs/knowledge-base).
