Skip to main content

Template rendering

In prompts you can reference variables passed as initial_context (via the API trigger or from a campaign sheet/CSV) and variables extracted from the conversation as gathered_context. Rendering supports nested values. Example - for this initial context:
the prompt may look like: You are Alice and you're talking to {{initial_context.user.name}}.

Date and time

A model has no clock: an agent asked to book “next Tuesday” invents a year, and has booked into last year. The platform therefore adds a sentence with today’s date, weekday and the time the call started, in Europe/Warsaw and in the agent’s language, to the system prompt of every agent - hand-written and imported ones too - for example: CURRENT DATE: Today is Saturday, 17 October 2026 (2026-10-17), and it was 14:05 when this call started (Europe/Warsaw time). The agent works out “tomorrow”, “next Tuesday” or “in a week” from that date and never books anything in the past. You do not need to add anything. To use the date in your own text, every call also carries three variables holding the current date in the same timezone: A variable of your own with the same name wins. The Book appointment (Cal.com) tool is given today’s date regardless of the prompt, and refuses to book in the past.

Data collected by the assistant

In the agent configuration, the Variables tab opens with the Data collected by the assistant card. These are the items picked in the wizard under “what should the agent collect” - the agent asks for them during the call and the platform stores them as gathered_context.
Values only appear after a call ends - in the call history and in integrations (Google Sheets, CRM, webhook). While configuring you see the field names, not customer data.
In the card you can:
  • review every collected field together with its description (“what should the assistant find out”),
  • rename a field or edit its description,
  • remove a field and add your own, e.g. order_number.
Saving writes one shared list back to the agent’s conversational nodes, so you don’t have to remember which node collects what. You use the same names in the Integrations tab as the mapping Source with the gathered context. The Source field suggests them - click the arrow on the right-hand side of the field.

Template variables vs. collected data

Answers from the wizard

Opening hours, prices, FAQ, the company description and the other wizard answers are written into the prompt as text when the agent is created. The Variables tab shows them marked from the wizard and read-only, because a new value would not change what the agent says. A change needs a prompt edit on the Role tab or another run of the wizard. Once you put a variable into the prompt, a node or an SMS text as {{name}}, it becomes live and editable again.

Nodes

Underneath, the agent runs on a graph of nodes: some pass instructions to the agent, others let you trigger a call from outside, and others send the call result via webhook to a CRM or tools like n8n. That canvas is hidden in the app for now - what happens underneath, and where each setting lives today, is described in Conversation flow (under the hood).