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.
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. | Handle general conversation, answer questions, and clarify the caller’s needs. |
reception/workflows/booking/01-details/prompt.md | While that step is active. | The step’s task and information to collect. |
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
Start with general guidance for handling requests:
Find out what the caller needs.
Answer general questions using the available knowledge.
If you cannot answer, say so and ask how else you can help.
Do not claim to book appointments or transfer calls without an available function.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
The same variables are supported in base.md, default.md, step prompt.md,
and opening messages in config.yaml:
| 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. |
{{assistant_name}} | The assistant's spoken name. |
Whitespace inside braces is allowed, for example {{ organization_name }}.
Unknown variables remain unchanged. Opening messages are spoken verbatim after
substitution, including any expanded {{language_examples}}.
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.