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

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.Handle general conversation, answer questions, and clarify the caller’s needs.
reception/workflows/booking/01-details/prompt.mdWhile 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:

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

Start with general guidance for handling requests:

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

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

On this page