Prompts
Write shared instructions, default conversation guidance, and workflow task prompts.
Prompts live in Markdown files. Each must contain nonempty text and be at most
100,000 characters. Markdown and whitespace are preserved on import; do not
embed prompts in config.yaml.
Which prompt applies
| File | When it applies | What belongs here |
|---|---|---|
reception/base.md | Throughout the call, including every workflow step. | Role, tone, language, and rules that always apply. |
reception/default.md | When no workflow is active, including after a workflow ends. | Understand the caller's request, answer general questions, and choose a workflow. |
reception/workflows/booking/01-details/prompt.md | While that step is active. | The current task, information to collect, functions to use, and when to transition. |
During a workflow, the step prompt replaces the default task instructions.
base.md continues to apply. Put any rule that must survive a workflow transition
in base.md.
Shared instructions
The receptionist can use these instructions for every task:
You are the receptionist for {{organization_name}}.
Organization background: {{organization_description}}
Speak {{language}}. Keep responses brief and ask one question at a time.
Use only available knowledge and function results for factual claims.
Do not say that an appointment is booked until a booking function succeeds.Default conversation
Once you have added the booking workflow, guide the assistant toward its starter function:
Find out what the caller needs.
Answer general questions using the available knowledge.
When the caller wants to discuss an appointment request, call start_booking.
After a workflow ends, ask whether the caller needs anything else.Prompt text does not create a function. start_booking must also be defined in
the assistant's functions.yaml. Likewise, a step must define a transition
function before its prompt can tell the assistant to call it.
Step instructions
Keep a step focused on one task. State what information to collect and the
condition for calling its transition. For example, the
details step collects a name and requested
date and time, then calls proceed.
If you add save_request or list_slots from Functions,
update the prompt to explain when to call each one. Adding a function makes it
available; a clear description and prompt guide its use.
Template variables
These variables are supported in base.md, default.md, and step prompt.md:
| Variable | Value |
|---|---|
{{organization_name}} | The organization's name. |
{{organization_description}} | The organization's description, or unknown if none is set. |
{{language}} | The name of the call's language. |
{{language_examples}} | Language-specific wording examples. |
Opening messages in config.yaml support a separate set:
| Variable | Value |
|---|---|
{{organization_name}} | The organization's name. |
{{assistant_name}} | The assistant's spoken name. |
Whitespace inside braces is allowed, for example {{ organization_name }}.
Unknown variables remain unchanged. {{assistant_name}} is an opening-message
variable and is not expanded in Markdown prompts.
Call context and saved values
Neuroline supplies context alongside the current task: local date and time, timezone, caller phone number, saved variables, and the active workflow and step when applicable. It also supplies transfer availability information when needed. Use that context instead of hard-coding today's date or a caller's details.
Values saved with save_variable appear under Variables in task
context. They are not additional template variables: refer to “the saved
caller_name value” in instructions, rather than expecting {{caller_name}} to
expand. Conversation history continues across steps.