Fixed replies

Return a ready-made message — text and optional buttons, with variables — in the API response for a given result, instantly and without calling any model.

A fixed reply is the simplest destination: a message you write once, returned in the response whenever its trigger matches. Dcision fills in the variables and returns it — no model call, no extra latency, nothing to pay.

Use it for confirmations, links and next steps that don't need to be generated: "Thanks! Someone from our sales team will contact you today.", with quick-reply buttons for a chat widget, WhatsApp or an e-mail template.

Configure it

{
  "key": "sales_reply",
  "type": "reply",
  "when": { "conditions": [{ "field": "route", "on": "output", "operator": "eq", "value": "sales" }] },
  "params": { "seats": { "from": "state.company_size" } },
  "reply": {
    "text": "Thanks! Our sales team will contact you today about {{params.seats}} seats.",
    "buttons": ["Book a demo", "See pricing"]
  }
}
FieldTypeDefaultDescription
reply.textstring—The message, 1 to 4,000 characters. Variables allowed; line breaks are kept.
reply.buttonsarray of strings[]Up to 10 labels of up to 80 characters each — quick replies or list items for your UI. Variables allowed.

Texts use the text encoding: values are inserted as text, and a missing value becomes an empty string. Secrets can't be used in a reply — it is returned to whoever called the API.

In the response

{
  "key": "sales_reply",
  "type": "reply",
  "text": "Thanks! Our sales team will contact you today about 500 seats.",
  "buttons": ["Book a demo", "See pricing"]
}

A reply entry has no status: it is always rendered. Show text to your user and buttons as quick replies; when a button is pressed, send its label back as the next state of your conversation.

Good to know

  • Replies count toward the 10 destinations that can fire per execution, but not toward the 3 that make the caller wait.
  • A decision can return several replies — for example one per question — in schema order.
  • In the Playground, a reply is rendered as a chat bubble with its buttons, in previews too.
  • Need a different answer for every message? Use an LLM answer or your own agent on that route instead.

On this page