> ## Documentation Index
> Fetch the complete documentation index at: https://docs.textql.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Decide

> Get structured, typed answers to batches of named questions

Decide sends a piece of text, plus optional images, to your workspace's decision model along with a batch of named questions. Every answer comes back structured, which makes it a fit for classifying, routing, scoring, or tagging text such as tickets, reviews, or survey responses.

> [!NOTE]
>
> **Availability:** Decide is a **Beta** feature. An admin must choose a decision model for the workspace under **Settings → Capabilities** before anyone can use it.

## Question Kinds

* **predicate**: a yes/no question, answered with a probability.
* **choice**: pick one of 2 or more options, answered with the choice and a confidence.
* **score**: rate on ordered levels, answered with a score and a confidence.

## Turning It On

1. Go to **Settings → Capabilities** and find **Decide** under **Agent tools**.
2. Pick a **Decision model**: **Enabled** (OpenAI, needs an OpenAI key on `api.openai.com`, not Azure OpenAI) or **Enabled (no BAA)** (Typesafe Jev, not covered by a BAA).
3. Leave **Available** and **Default** on.

Setting the model to **Disabled** turns Decide off everywhere. Running it needs the **Decision → Run** permission, which admin and member roles have by default.

## Using It

Turn on **Decide** in the chat's **+ → Tools** menu and ask Ana in plain language, for example: "Classify each of these support tickets by department and rate their severity." Results show in a **Decide** card in the thread.

## Python

Chat Python cells get `decide(input, questions, *, images=None)`, and data app and dashboard compute functions get `ana.decide(...)` with the same arguments; the app needs a `decide` capability grant, which Ana adds for you. Each question has a `name`, `instructions`, and an optional `kind` plus `options` or `levels`.

```python theme={null}
result = decide(
    "The package arrived with a broken screen and the customer wants a refund.",
    [
        {"name": "damaged", "instructions": "Does the customer report a damaged item?"},
        {"name": "department", "instructions": "Which department should handle this?",
         "kind": "choice", "options": ["billing", "technical"]},
        {"name": "severity", "instructions": "How severe is the issue?",
         "kind": "score", "levels": ["low", "medium", "high"]},
    ],
)
result["answers"]["department"]["option_id"]  # "billing"
```

## Limits

* 1 to 100 questions per call.
* 2 to 255 options per choice question, and 2 to 10 levels per score question.
* Up to 16 images per call, 5 MB each. With Typesafe Jev, they must also total under 30 MB after conversion.
* Not available in automated playbook or agent runs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.