> ## Documentation Index
> Fetch the complete documentation index at: https://docs.brosbots.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Onboarding templates

> Ready-made industry templates with guided onboarding that generate a complete voice agent in under a minute.

## Introduction

Brosbots ships **ready-made industry templates** that let you build a
production-grade voice agent in less than a minute. Instead of writing
prompts from scratch: you pick the template for your industry, fill in a
short form, tick the agent's capabilities - and the platform generates a
**fully configured agent**: system prompt, first utterance, conversation
flow and enabled tools.

Your form answers are **woven directly into the prompt** - you don't get
a half-finished product with placeholders to fill in later.

## Choosing a template

Go to **Create agent** to open the template gallery. You can:

* **search** templates by name, industry or tag,
* filter by **industry** (list) or **category chips**,
* click **Use template** to enter the guided setup,
* paste your website address into the banner above the gallery or click
  **AI Generate** - the AI picks the template and fills in the form for you
  (see [Generate an agent with AI](/en/voice-agent/ai-generator)),
* click **I have a call script** if you already have a script for your
  sales team (see [Agent from a call script](/en/voice-agent/call-script)),
* start from a **blank agent**.

### Available templates

| Template | Description | Key features |
| - | - | - |
| **Restaurant** | Table reservations, menu questions, orders. | Reservations, menu and allergen questions, collecting booking details |
| **Agency / Service business** | Client inquiries and booking consultations. | Lead qualification, presenting services, booking consultations |
| **Healthcare** | Appointment scheduling and patient support. | Appointment calendar, patient details (by default name, phone, reason for visit and date; NFZ or private, PESEL and date of birth only when ticked), empathetic tone; before creating it you confirm the agent collects no health data ([Medical data](/en/features/medical-data)) |
| **Car dealership** | Vehicle questions, test drives, service. | Inventory questions, test drives, buyer preferences |
| **Car repair shop** | Diagnostics, servicing and repairs. | Booking the car in (make and model, registration, what is wrong), prices only from your list, optionally tyre changes, questions about cars in the workshop and breakdowns; no diagnosis over the phone, no firm repair price, never "your car is ready" |
| **Customer support** | Tickets, troubleshooting, escalation. | Troubleshooting, ticket creation, human handoff |
| **Beauty salon** | Treatment bookings and service questions. | Treatment questions, bookings with specialists, client preferences |
| **Gym / Fitness club** | Trial sessions, memberships, classes. | Trial session bookings, membership and class questions, freeze and cancellation requests passed to the staff, no health advice |
| **Personal assistant** | Rings *you* daily with mail, calendar and open items. | [Daily briefing call](/en/voice-agent/personal-assistant), IMAP mailbox, iCal calendar, memory between calls |
| **Online shop** | Order status, returns and complaints. | Order and stock lookups in BaseLinker, Shopify, WooCommerce or Allegro, returns and complaints taken by your rules |
| **After-hours secretary** | Answers when the business is closed and takes a message. | Name, number, matter and urgency; the message texted to the owner's number or e-mailed to the team |
| **Appointment reminder** | Campaign: confirms upcoming appointments. | Confirmation, rescheduling (only free times with a calendar) or cancellation |
| **Cash-on-delivery confirmation** | Campaign: confirms the order before it ships. | Items, amount due on delivery and the delivery address; changes and cancellations noted for the shop |
| **Payment reminder** | Campaign: politely reminds about an unpaid invoice. | A payment date, resending the invoice, no threats or pressure |
| **Satisfaction survey (NPS)** | Campaign: a 0-10 score and the reason for it. | Score, reason, what to improve; every call written to Google Sheets by default |

### Campaign templates

The appointment reminder, the cash-on-delivery confirmation, the payment
reminder and the NPS survey call the people on a
[campaign](/en/features/campaigns) list, so their call direction defaults to
**outbound**. What differs from one call to the next - the appointment date,
the order number, the invoice amount - comes from the columns of the contact
list. The prompt refers to them as template variables with a fallback, such as
`{{amount_due | fallback:(not on the list)}}`, and fills them from that
person's row on every call.

The name is recognised on its own (a column called `name`, `Name`,
`Imię i nazwisko` and similar). Name the other columns as in the table:

| Template | Columns |
| - | - |
| **Appointment reminder** | `appointment_date`, `appointment_time`, `appointment_type` |
| **Cash-on-delivery confirmation** | `order_number`, `order_items`, `order_total`, `delivery_address` |
| **Payment reminder** | `company`, `invoice_number`, `amount_due`, `due_date` |
| **Satisfaction survey (NPS)** | `survey_subject` - what the survey is about, e.g. "visit on 3 October" |

When a column is missing the agent sees "not on the list" and is told not to
guess: instead of making up an amount or a time, it says the team will get
back with it. The agent does not read appointments out of a calendar by itself
either - the campaign list is rows you prepare. With a calendar connected it
can check free times and book a new one when someone reschedules; the team
removes the old appointment.

<Note>
  The payment reminder opens with the company name only and mentions the
  invoice once it knows it is speaking to the right person. It never mentions
  court, bailiffs, debt collection, debtor registers or interest, and agrees
  only to what you enter under **What the agent may agree to**.
</Note>

## The setup form

The form is a step-by-step wizard: one panel at a time, **Back** and **Next**
between them, and a row of section chips you can click to jump straight to a
panel. Nothing is lost when you step back and forth - the answers stay until
you create the agent. The four sections below are the panels, with
**What your agent can do** split into several so no panel runs long.

### 1. Basics

Facts about the business the agent is grounded in. At the top of the form
you'll find the **"Autofill from your website"** card - provide your
website address and the AI fills in the description, services, hours and
address (only empty fields are filled). The AI also reads what is not in the
page text: numbers behind "Call" buttons, e-mail addresses and schema.org
structured data (address, opening hours, prices).

Fields depend on the industry, but typically include:

* **Company name** (required),
* **Main goal of the assistant** - what the agent is on the phone to
  achieve; it goes into the **first paragraph of the prompt**, in the same
  sentence as the role (see [Main goal](#main-goal-of-the-assistant)),
* **Company description** - what you do, for whom, what sets you apart;
  it goes straight into the prompt and acts as an anchor against
  hallucinations,
* **Services / products**, **Opening hours**, **Address**,
* industry-specific fields, e.g. **Cuisine type** + **Menu** (restaurant),
  **Specialization** (clinic), **Car brands** (dealership).

<Note>
  For menu and service fields the agent mentions **only** what you provide -
  it never invents dishes, prices, treatments or staff.
</Note>

### 2. Contact details

Phone, email, website and address. They go into the **ABOUT** block of the
prompt together with an instruction to give them out when a caller asks for
them. The address only appears here when the template doesn't already ask
for it in Basics. The website autofill fills these fields too.

### 3. What your agent can do (capabilities)

| Capability | Effect |
| - | - |
| **Tone and personality** | Friendly, Professional, Energetic or Calm - tunes the speaking style. |
| **How long the answers should be** | A slider from "Very short" to "Detailed". It sits with the tone because answer length is part of how the agent sounds. Shorter is safer on the phone - callers hang up on monologues, and the agent can always offer to go into detail. |
| **How the agent addresses the caller** | Gender-neutral formal, Sir/Madam, informal, or match the caller - see [Form of address](#form-of-address). |
| **Call direction** | Inbound (customers call the agent) or outbound (the agent calls and starts by introducing itself). |
| **How the conversation should go** | An optional call plan - one step per line. Leave empty when callers open with their own request (typical support). Fill it in when the agent must say or check something before it starts collecting details - see [Conversation structure](#conversation-structure). |
| **Caller data collection** | You choose exactly which data to collect (name, phone, email, company, budget, preferred date, party size, reason for visit, NFZ or private, PESEL, date of birth, account ID, issue, vehicle, registration number, service, specialist…). The set depends on the template: a clinic does not ask for a PESEL or a date of birth by default, and never asks for the insurer. |
| **Your own details to collect** | Add items the list doesn't cover - e.g. "order number", "part number". They reach the prompt and the data collected after the call. |

<Note>
  The agent asks for these **one at a time**: a single question, the caller's
  answer, an acknowledgement, and only then the next question. It never reads the
  whole list out in one turn - on the phone the caller would remember only the
  last item and the rest of the fields would come back empty.
</Note>

\| **What to avoid in the conversation** | One rule per line; they build the prompt's **limits / what to avoid** section. |
\| **Most common questions (FAQ)** | A list of question + answer pairs; they build the **most common questions and issues** section. |
\| **Knowledge base** | Knowledge typed in or imported from a file; the agent answers from it and is forbidden from guessing beyond it. |
\| **Human handoff** | Enables escalation; the number to transfer to is then **required** - without it the agent cannot be created, because it would announce a transfer it cannot make. If the transfer fails, the agent apologises, takes a message (name, number, what it is about) and promises a call back. |
\| **Bookings (Cal.com)** | Adds an in-call `book_appointment` action - see the [Cal.com integration](/en/integrations/calendar/calcom). |
\| **SMS, email, CRM** | In-call and after-call notifications, plus contact lookup in HubSpot / Pipedrive. |
\| **Write every call to Google Sheets** | A row is appended to the spreadsheet after every call. |
\| **Take notes into Google Sheets during the call** | The agent writes a row while still on the phone - a callback request, a message to pass on. You give it the tab, what the note must contain and the phrases that should make it reach for one; the columns are fine-tuned later in the agent's **Integrations** tab - see [Taking a note during the call](/en/integrations/overview). |
\| **Look things up in Google Sheets** | The agent reads the sheet mid-call - an order status, a price, whether this caller is already a customer - see [Reading a sheet during the call](/en/integrations/overview). |
\| **Google Calendar, Slack, Zapier / Make** | An appointment straight into your calendar, a message to a channel, your scenario fired with what the call collected. |
\| **Weather** | The agent can answer what the weather is doing - useful for tours, deliveries and site visits. |

<Note>
  All three Google Sheets capabilities talk to one spreadsheet, so the wizard asks
  for the spreadsheet **once** - under whichever of them you switch on first. The
  others show only their own settings. The agent writes through the Google
  account signed in on the Integrations page, so sign in there first; the wizard
  no longer asks for a service account key.
</Note>

#### Main goal of the assistant

The first paragraph of the prompt says who the agent is **and what it is
there to accomplish**:

> You are a helpful AI customer support agent for AWParts.pl. Your task is
> to take in complaints, answer product questions and check order status.

Leave the field empty and the template's default goal is used, so the
opening paragraph always states a purpose. The goal is repeated in the
**Main Agenda** node as "Main goal".

#### Form of address

Languages with a formal/informal distinction force this choice, and models
happily say a literal "Sir/Madam". Each option therefore states the form to
use **and the forms never to say out loud**:

| Option | What the agent does |
| - | - |
| **Formal, gender-neutral** (default) | One courteous form throughout, no gendered wording - the safest choice. In Polish this is "Państwo". |
| **Formal, Sir or Madam** | Picks Sir or Madam from the name or the voice; stays impersonal when unsure. In Polish, "Pan / Pani". |
| **Informal, first names** | First-name basis; in two templates it also switches the greeting to an informal one. |
| **Match however the caller speaks** | Mirrors the caller's register, impersonal until it can tell. |

#### Conversation structure

A support agent needs no plan: it waits for the caller to say what is wrong and
reacts. A bank, a garage or a clinic often has to **say or check something
before** asking for anything - quote a price, flag a condition, confirm the case
even qualifies.

That is what **How the conversation should go** is for. One step per line, in
plain words:

```
Greet the caller and ask what the car is doing
Say that a diagnostic costs 150 PLN and takes about an hour
Check whether the car is still under warranty
Only then take their details and offer a slot
```

No need to number them - dashes, asterisks and your own numbers are all folded
into one numbered list.

<Note>
  This is a **plan, not a script to read out**. The agent covers each step in its
  own words, finishes it before moving on, and when the caller jumps ahead or asks
  about something else it answers them and returns to where it left off.
</Note>

The plan goes into the prompt **before** the data collection section, because it
usually describes what has to happen before the agent asks for anything. It also
stays visible as the `conversation_structure` variable, so you can edit it later
without running the wizard again. Leave it empty when callers always open with
their own request.

#### Knowledge base and FAQ

These are two separate fields because they do different jobs:

* **Knowledge base** holds facts (return policy, pricing notes, rules).
  Paste them, or click **Import from file** (PDF, DOCX, TXT, MD, HTML - up
  to **2 MB**) and the platform converts the document to text and appends
  it to the field.
* **Most common questions (FAQ)** holds question + answer pairs, which go
  into their own prompt section with the rule: answer those cases as
  instructed, and fall back to the knowledge base for anything else.

<Warning>
  Everything in the Knowledge base ends up in **every** prompt for this agent -
  keep only the essentials here. Attach bigger documents after the agent is
  created, in the **Knowledge Base** tab of its configuration (see [Knowledge base](/en/features/knowledge-base)), where they are
  chunked and retrieved during the call. A file over 2 MB is rejected by the
  wizard with exactly that advice. A call script has its own, larger limit
  (10 MB) - see [Agent from a call script](/en/voice-agent/call-script).
</Warning>

### 4. Voice and language

* **Voice** - female · warm, female · bright, male · calm, male · confident.
* **Language** - Polish, English, Spanish, French, German, Italian,
  Portuguese, Dutch, or **multilingual** (auto-detection).

<Tip>
  The prompt is written **natively in the chosen language** - it isn't an
  English template with a "respond in Polish" note bolted on.
</Tip>

## Prompt generation and language

After you click **Create agent**, the platform builds the prompt via one
of two paths:

<Steps>
  <Step title="Deterministic build (Polish and English templates)">
    An agent made from a ready template in **Polish or English** gets a prompt
    assembled straight from your answers, with no LLM rewrite. It is the same,
    tested prompt every time: the same answers give the same prompt, so it is easy
    to see where the agent's behaviour comes from.
  </Step>

  <Step title="AI generator (your own idea and other languages)">
    For **I have my own idea**, a blank template with a goal, an agent made from a
    call script and the other languages, your answers go to an LLM, which writes
    **one complete, tailored system prompt** - role, personality, knowledge, data
    to collect, guardrails and phone conversation style. Without an available LLM
    the other languages are based on English with a translation or a strong
    language directive, and the multilingual mode tells the agent to match the
    caller's language.
  </Step>
</Steps>

## Anti-hallucination guardrails

Every generated prompt contains explicit instructions preventing
fabrication, e.g.:

> "Mention ONLY the services and details listed above. Do NOT invent
> treatments, prices or staff."

They are powered by the **Company description**, **Menu / Services** and
**Knowledge and FAQ** fields.

## The agent says it is an AI

The EU AI Act (art. 50) requires the caller to know they are talking to an
AI. Every template's greeting says so in its first sentence, inbound and
outbound, in every language - for example *"Hello! Welcome to Bella Vista,
this is the AI assistant. How can I help you today?"*.

Every agent's prompt also carries a rule, whatever the call direction: asked
whether it is a person, the agent confirms it is an AI assistant and never
claims to be a human, even when the caller insists. The rule is added at call
time too, so a prompt you edit or write yourself cannot lose it. A greeting
taken from your own [call script](/en/voice-agent/call-script) is kept word
for word; if it does not say the agent is an AI, the agent says so in its
first reply.

## What you get

From a template you receive:

* a **system/global prompt** in your language,
* a localized **first utterance**,
* a ready **conversation flow** with the typical stages (start → main agenda →
  summary → ending) - built underneath, you never have to look at it,
* enabled **tools** (e.g. `book_appointment` for Cal.com),
* voice, transcription and language settings.

## What you can change later

Onboarding answers are woven into the prompt as text, so the agent is
complete right away. The business facts (name, hours, prices, FAQ, contact
details) also show in the **Variables** tab, but **read-only** and marked
**from the wizard**: changing them there would not change what the agent says.
To change, say, the opening hours, edit them in the prompt on the **Role** tab
or create the agent again with the wizard. If you put `{{opening_hours}}` into
the prompt, the variable becomes live and editable again.

The data the agent collects lives in the same tab, in the **Data collected
by the assistant** card - review it, edit it, or add more. See
[Template variables](/en/voice-agent/template-variables).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.