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

# State

<Warning>
  As of Cognigy.AI 2026.7.0, States are deprecated. The removal of States is planned for Cognigy.AI 2026.12.0. Before the removal, delete your States and retrain your NLU model so it no longer uses state-based Intent masking. For alternative approaches to control Intent recognition, use [Intent Conditions](/ai/platform-features/nlu/intents/conditions).
</Warning>

*States* are a set of limitations you can apply to a [Flow](/ai/agents/develop/projects-and-flows/overview). They restrict the Intents an AI Agent can recognize. States help control the Flow execution. You can use States to define which Intents the AI Agent should recognize or not at specific stages. You can switch between States using the [Set State](/ai/agents/develop/node-reference/logic/set-state) and [Reset State](/ai/agents/develop/node-reference/logic/reset-state) Nodes.

States are stored in the [Input object](/ai/agents/develop/ai-agent-memory/input) and you can use them as an [Intent condition](/ai/platform-features/nlu/intents/conditions) to control the Flow execution.

States include the following lists:

* **Whitelist** — Intents that the AI Agent can detect.
* **Blacklist** — Intents that the AI Agent can't detect.

## Working with States

<Tabs>
  <Tab title="GUI">
    You can create, edit, and delete States, as well as set the default State in the **NLU** tab in the [Flow editor](/ai/agents/develop/projects-and-flows/editor).
  </Tab>

  <Tab title="API">
    You can create, edit, and delete States, as well as set the default State using the [Cognigy.AI API](https://api-trial.cognigy.ai/openapi#tag--FlowStates-v2.0).
  </Tab>
</Tabs>

## Examples

For the following examples, consider you have defined three States:

* `start`
* `ordering`
* `finished`

### Example 1

You can set the `start` State as default and allow recognition of the `order` Intent only for this State for sentences like `I want to order a pizza`. Then, you can use a Set State Node after the `order` Intent is recognized to switch to the `ordering` State. This approach can prevent the user from placing different orders before the first order is finished.

### Example 2

You can use the `state` property stored in the Input object to trigger different outputs for the question `When will my order arrive?` according to the State of the Flow execution. For example, in the `start` State, the required information might not be available yet, but in the other States, there might be a time estimate to answer the user question.

## More Information

* [Intents](/ai/platform-features/nlu/intents/overview)
