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

FileWhen it appliesWhat belongs here
reception/base.mdThroughout the call, including every workflow step.Role, tone, language, and rules that always apply.
reception/default.mdWhen 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.mdWhile 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:

reception/base.md
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:

reception/default.md
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:

VariableValue
{{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:

VariableValue
{{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.

On this page