---
id: "fluxos.orquestracao-perguntar-e-decidir"
titulo: "Asking and deciding between agents"
resumo: "Choose between waiting for an answer and opening a decision without blocking the work — and understand the cost of each one."
idioma: "en"
tipo: "guia"
categoria: "agentes"
aplicavelDesde: "0.0.16"
capabilities: ["orchestration.messages.ask"]
estadoEditorial: "aprovado"
nivelEvidencia: "artefato-distribuido"
refFonte: "27574c339b58316408f6be2d62169d59041d07bf"
revisaoFonte: "2026-09-24"
revisor: "mantenedor (v1, 2026-10-03)"
rota: "/docs/en/fluxos/orquestracao-perguntar-e-decidir/"
fonte: "pt-br/fluxos/orquestracao-perguntar-e-decidir.md"
caminhoPublico: "docs/publica/en/fluxos/orquestracao-perguntar-e-decidir.md"
hashFonte: "sha256:0594ab7f26d1a83e10751c3e7d24b463c1a99c3a6f4b3cb40660b7de7618484c"
hashDestaPagina: "sha256:7e3274e21626e78b177d2d58794caecf695d71d58ba3f48aa2b63d3139e0acf1"
traducaoAssistidaPorIA: true
traducaoDesatualizada: false
corpoRetido: false
---
<!-- traducao-assistida-por-ia: idioma=EN fonte=pt-br/fluxos/orquestracao-perguntar-e-decidir.md fonteHash=sha256:0594ab7f26d1a83e10751c3e7d24b463c1a99c3a6f4b3cb40660b7de7618484c estado=atual -->

Not every message is a notice. Sometimes an agent needs an **answer** before going on. Elyra has two
ways of getting that, and choosing the wrong one costs working time.

## The two ways

| Way | What happens | When to use |
|---|---|---|
| `orchestration ask` | **Freezes whoever asked** until the answer arrives or the time runs out | Only when **nothing else** can move forward without that answer |
| `orchestration send --type decision_gate` | Records the question and **lets whoever asked go on working** | When there is anything else to do |

The question that decides between the two is simple: *while I wait, is there anything I can do?* If so,
the answer is `decision_gate`.

## Asking and waiting

```bash
elyra orchestration ask --to <handle|title> --question "<text>" [--options a,b,c] [--timeout-ms <n>]
```

What you need to know before using it:

- **It blocks your agent.** Nothing else runs there until the answer arrives or the time is over.
- **The default time is 10 minutes**, and the maximum is one hour. If you do not give the time, you are
  betting ten minutes of stopped work.
- **Give a time you can afford to lose.** A few minutes, not the default, is the recommendation — a busy
  coordinator, one that is asleep or one that has already been closed leaves your agent stopped for the
  whole window.
- **Offer options** (`--options`) when the answer can be one of a known set: it is faster for whoever
  answers and leaves no room for ambiguous free text.
- **Group addresses are refused.** With several possible respondents there is no defined winner. To ask
  several, use `decision_gate`.

## Opening a decision without blocking

```bash
elyra orchestration send --to <handle|title> --type decision_gate --subject "<the decision>"
```

The question is recorded and whoever coordinates decides when they can. Whoever asked goes on with the
work — and is notified when the answer arrives, through the message box.

It is the right path for almost everything: asking for a definition of direction, confirming a name,
choosing between two alternatives. The cost of waiting for an answer that may take a while is paid by no
one.

## Replying to whoever asked

When the question reaches you, the reply is `orchestration reply` with the message id. It is
asynchronous: whoever asked goes on with what they were doing and finds the answer at the next read.

## Limits and scope

- **`ask` is the last resort, not the first.** It is easy to use and expensive to get wrong: a frozen
  agent produces nothing, and the time passes all the same.
- **Wait only on individual destinations.** Group is refused on purpose.
- **Nothing guarantees that the answer came in time to be useful.** If the time runs out, the agent
  needs to know how to go on without the answer.

## See also

- [Messages between agents](/docs/en/fluxos/orquestracao-mensagens/)
