Skip to main content
Back to how-to guides Use this pattern when the customer may state a value on their own, such as a filter or an email address, and the agent must capture it without asking a question.

Concept

A silent field is a GATHER field that the agent never asks for. The runtime reads the customer’s messages and fills the field when it finds a matching value. If the customer never mentions it, the field stays empty and the conversation goes on. You make a field silent with prompt_mode: extract_only. The default is ask. A silent field needs no prompt. Add a description so the extractor knows what the value means. Add options, extraction_hints, or extraction_pattern to improve accuracy. Always set required: false on a silent field. A field is required by default. A required silent field blocks completion, and the step has no question to ask for it.

Minimal working example

A claims assistant asks for the member ID. It also listens for a claim status and a minimum amount. It never asks for them. agents/claims-filter-intake.agent.abl
Variable sources:
  • member_id is asked. The customer answers the prompt.
  • claim_status and min_amount are filled only when the customer mentions them. They can stay empty.

How it works

  1. The step asks only for the customer-facing fields that are missing. Silent fields are left out of the question.
  2. On each customer message the runtime tries to extract values for all active fields, silent fields included.
  3. A silent field stays in the extraction scope even when the agent is collecting a different step. A top-level silent field is extracted in every FLOW step.
  4. The runtime does not copy the whole message into a silent field.
  5. Extracted values carry the source inference and the reason ner_extracted, and they are marked as grounded in the customer’s words.
How the runtime extracts:
  • extraction_pattern with an optional extraction_group (default 0) is the deterministic path. It uses a safe regular expression engine with no back-references and no lookaround. An unsafe pattern fails compilation.
  • strategy sets the engine for one field: auto, ml, llm, hybrid, or pattern. hybrid is an alias of auto. A field without a strategy follows the project extraction mode. An unknown value is a compile error E170.
  • The extractor needs a model client wired. Without one, a scripted flow falls back to plain collection.

Common variations

Silent field on a reasoning agent

A top-level GATHER extracts the silent field the same way. The reasoning agent’s prompt still lists every field, including silent ones, as information to gather. The prompt says to ask for missing required fields. To keep the model from asking, set required: false and say so in the GOAL, as the example does. agents/order-support-intake.agent.abl

Capture with a pattern

Add extraction_pattern when the value has a fixed shape, such as a ticket ID. The pattern needs no model call.
This is a section snippet for a FLOW step. Place it inside a step.

Router-derived routing state

A router can combine infer: true with prompt_mode: extract_only for a value that only its route conditions read. The router re-derives such a value on every routing call. See Infer values from conversation context.

Verification

  1. Run the validator. Expect no errors and no warnings.
  2. Say “Look up member 4471”. Expect the agent to ask nothing about the status or amount.
  3. Say “Look up member 4471, denied claims over 500”. Expect claim_status and min_amount to fill.
  4. Check the final reply. The unmentioned filters must be empty in case 2.
  5. In the trace, open the dsl_collect events. The extracted field lists the silent values.
  6. Open the gather_slot_ledger events. Silent fields must not appear in missingFields when required: false.

Production readiness checklist

  • Every silent field sets required: false. On a reasoning agent, the GOAL also says not to ask for it.
  • Every silent field has a description, and an enum field has options.
  • A downstream step handles an empty silent field.
  • A model client is configured for the agent.
  • Tests cover a customer who states the value, a customer who does not, and a customer who states a different value later.
  • Silent fields that hold personal data also follow Collect sensitive or PII fields safely.

Common mistakes

Troubleshooting

Related articles: