Prompts library
The Prompts library is your catalogue of reusable system-prompt templates. Write the prompt once, save it in the library with placeholder variables, and pull it onto any assistant — same shape, different values. It turns one well-tuned prompt into a fleet of assistants that share the same brand voice and the same constraints.
It's also where the shipped industry-specific starter prompts live (dental clinic, food ordering, survey) so you don't have to write from scratch.
What's in a prompt
| Field | What it is |
|---|---|
| Name | Internal label — e.g. Sales SDR v3. |
| Description | Free text so teammates know what the template is for. |
| Template body | The system-prompt content, with {{placeholder}} variables for the parts that change per assistant. |
| Variables | Linked entries from your Variables library that fill in at runtime. |
Template variables
The grammar is small and substitution-only — no if, no loops. Five forms:
| Form | Resolves to |
|---|---|
{{contact.first_name}} | Field on the matched contact (from caller phone or chat email). |
{{<your_variable>}} | Entry from your library (e.g. {{business_name}}, {{office_hours}}). |
{{<provider>.<key>}} | Value from a connected CRM — e.g. {{hubspot.lifecycle_stage}}. |
{{<dynamic_key>}} | Value passed in when you start the conversation via API. |
{system.date_yyyy_mm_dd} | System date/time — note single braces for system keys. |
Other system keys: {system.date_time_utc}, {system.time_hh_mm}, {system.time_HH_mm}.
Unresolved placeholders are stripped from the rendered prompt — so missing values don't leak as literal {{...}} into the assistant's replies.
Three shipped starter templates
Insighto ships with three system-owned prompt presets you can clone as a starting point.
Food ordering — phone
For a restaurant or takeout-counter voice assistant. Asks for the order, confirms items and any allergens, and reads back the total before booking pickup time.
Dental clinic — phone
For a dental front desk. Greets the caller, classifies new-patient vs. follow-up, collects insurance details, and books an appointment.
Samsung TV survey — phone
A short post-purchase survey collecting four ratings and one open-ended comment. A useful pattern for any structured-questionnaire voice call.
You'll find these under Build → Library → Prompts with the system badge.
Four business use cases
Agency — one template, twelve clients. A digital-marketing agency builds a Local Service SDR v2 template with {{business_name}}, {{services_offered}}, and {{primary_contact_phone}} as variables. For each of their twelve client assistants, they fill in the three variables. When they tune the master template, every client's prompt structure stays consistent.
Dental group — three locations. Bright Smile Dental clones the shipped Dental clinic template once, customises the body for their brand voice, and stamps three location-specific assistants from it (each with its own {{office_address}}, {{office_hours}}, and Calendar Pool).
E-commerce — seasonal swaps. A meal-kit company keeps one canonical support prompt with a {{current_promo}} variable. Every Monday morning they update the variable value with that week's promo code; every assistant linked to the prompt template picks up the change.
B2B SaaS — quick A/B tests. An analytics startup keeps Sales SDR v3 (canonical) and Sales SDR v4 (testing) as siblings in the library. They point a staging assistant at v4, compare results in Conversations for a week, and rename if the test wins.
Creating a prompt template
- Open Build → Library → Prompts → New prompt.
- Set a name and description.
- Write the template body. Use
{{variable_name}}for the parts that should change per assistant. - Under Variables, link any entries from your Variables library that this template uses.
- Save.
The template is now available to copy onto any assistant in the same workspace.
Applying a prompt to an assistant
Open the assistant, click System prompt → Use template, pick the template, and Insighto renders the body with the assistant's linked variable values into the assistant's system prompt field.
Two ways to use it:
- Copy and detach — paste the rendered template into the assistant's system prompt directly. Future edits to the library template don't flow through automatically.
- Keep aligned by convention — point multiple assistants at the same set of variables and re-apply the template when you tune it.
There is no automatic "linked forever" relationship today — re-apply when you update the template.
Example template body
You are {{assistant_role}} for {{business_name}}.
Your job is to greet the caller, identify why they are calling,
and either book an appointment or transfer to a human.
Hours: {{office_hours}}
Address: {{office_address}}
Today is {system.date_yyyy_mm_dd}.
Tone: warm, concise, never robotic.
When the caller wants to book, collect their name, phone, and
preferred slot, then call book_appointment.
If the caller asks something outside scope, say "Let me get
someone to help with that" and call transfer_to_human.
{{contact.first_name}} — say their name once if available.
{{assistant_role}}, {{business_name}}, {{office_hours}}, {{office_address}} come from variables linked to the template. {{contact.first_name}} is filled in per call from the matched contact. {system.date_yyyy_mm_dd} is always present.
Versioning convention
There's no built-in revision history. A light convention works:
- Keep one canonical template per role (e.g.
Sales SDR v3). - Before a substantive change, clone to
Sales SDR v4 (testing). - Point a staging assistant at v4.
- Compare in Conversations for a week.
- Rename
v4to canonical and retirev3when the test wins.
Where to next
- Writing a system prompt — the structure inside the template.
- Voices library — how the assistant sounds.
- Forms library — for structured data capture.
- Intents library — for outcome classification.