Models & Providers

Decision models

Models that answer typed questions instead of generating text, and how to configure one

Overview

A decision model answers typed questions about a piece of text. It does not generate prose. You give it a short description of the situation and a set of questions, and it returns structured answers:

  • a probability between 0 and 1 for a yes/no question
  • a choice of exactly one named option, with the probability of every option
  • a score, which is a position on an ordered scale you define

This is what the Decision node calls. A decision model is also useful on its own as a classifier or a router, because the answer is a value you can branch on directly rather than text you have to parse.

Use a decision model when you need a value. Use a chat model when you need words.

A chat model can be prompted to return JSON, but nothing guarantees the shape, and a malformed reply becomes a parsing problem inside your workflow. A decision model returns a typed answer that MagOneAI validates against the questions you asked before the workflow sees it.

Answering decisions is a capability, not a model type

MagOneAI treats decision support as an independent flag on an LLM configuration, exactly like vision and audio support.

One configuration can have several capabilities at once. A configuration may serve chat and answer decisions, and neither excludes the other. A decision configuration can also be the organization default.

FlagWhat it means
supports_visionThe model accepts image inputs
supports_audioThe model can transcribe audio
supports_decisionThe model can answer typed decision questions

MagOneAI decides whether a configuration can answer decisions from the stored flag, never from the model name. A decision model can be served under any alias or model ID a provider chooses, so a name-based rule would silently miss one.

See Model capabilities for the full set of flags.

The decision endpoint

The decisions route is not the chat route, and providers serve it on different paths. There is no default path MagOneAI can append to the chat endpoint.

A decision configuration therefore carries a Decision endpoint of its own: a full URL, not a path fragment.

Ticking Supports Decisions without giving a decision endpoint is refused with a 422. There is nothing to fall back on, so the configuration would fail on its first call.

A configuration that serves both call shapes keeps both URLs:

FieldCarries
EndpointThe chat base URL, used for ordinary completions
Decision endpointThe full decisions URL, used for typed questions

Setup steps

Get a decision endpoint from your provider

Ask your model provider for the decisions URL and the model identifier it serves. If you run the model yourself, this is the route your server exposes for typed decision calls.

Add or edit an LLM configuration

Open LLM configurations for the organization. Create a new configuration, or edit an existing one that you also want to answer decisions.

Tick Supports Decisions

Turn on Supports Decisions in the capabilities area of the panel.

Enter the decision endpoint

Paste the full decisions URL into Decision endpoint. Keep the ordinary Endpoint field pointed at the chat base URL if this configuration also serves chat.

Set the cost per 1K tokens

Set the input and output cost so decision usage is priced in the usage dashboards.

MagOneAI prefers the cost the provider reports on the response when there is one, because that is the billed truth whatever the provider's pricing model. Your per-1,000-token rates are the fallback for an endpoint that does not report cost.

Save

Click Save. The configuration now appears in the model picker on a Decision node.

Reasoning / thinking does not apply. A decision call never streams a chat reasoning trace, so the panel hides the thinking selector for a decision-only configuration. Extra parameters still apply.

Question types

A decision call carries a state, which is the text being decided about, and up to 32 questions. Each question has a key, instructions, and criteria. The key becomes the output field name, so it must be lowercase snake_case.

Criteria are two labels, true and false, saying what a yes and a no mean.

{
  "type": "probability",
  "instructions": "Does this message convey urgency?",
  "criteria": {
    "true": "Explicitly time-sensitive or escalating",
    "false": "No urgency expressed"
  }
}

Answer: probability, a number from 0 to 1. A value of 1 means the true criterion fully applies.

Criteria are a map of option key to what that option means. You need 2 to 255 options, and each key is 1 to 64 characters.

{
  "type": "choice",
  "instructions": "Which team should handle this?",
  "criteria": {
    "billing": "Payments, refunds, invoices",
    "technical": "Bugs, outages, integration errors",
    "sales": "Pricing questions and new business"
  }
}

Answer: choice, which is always one of your option keys, plus probabilities for every option and a confidence value.

Limits

LimitValue
Questions per call32
Question key formatLowercase letter, then lowercase letters, digits or underscores, up to 64 characters
Options per choice, labels per score2 to 255
Option key length64 characters
Instructions length2,000 characters
One criterion length1,000 characters
State length20,000 characters

The same rules validate a Decision node when you save it and the gateway input when it runs. A question that saves is a question the API accepts.

How answers are validated

MagOneAI checks the contract your workflow depends on before the answer reaches the node:

  • Every question you asked has an answer.
  • Each answer has the same type as its question. A probability question cannot come back as a choice.
  • A choice answer is one of the options you offered.

If a provider returns an option you did not offer, MagOneAI fails the call rather than passing the value through. Otherwise a later Condition node would silently fall to its default branch on a value it could never match.

Fields a provider adds beyond the contract are kept and flow through to the node output untouched.

Usage and cost

Decision calls are recorded in usage with a source type of decision, so you can see decision spend separately from chat spend in the usage dashboards.

Each call records input tokens, output tokens, latency and cost. See Usage and quotas.

Troubleshooting

Next steps

MagOneAI© 2026 Magure, Inc.

On this page