## TL;DR
Slots are the flow's memory: entities extracted from what the user said. 'Missing slot value' means a node asked for a slot that was never filled, so the flow has nothing to work with and stops. The fix is to guarantee the slot before the node that needs it: require it at an earlier step, or give the node a fallback for when it's empty. Flows should never assume a slot exists.

## The query

```text
cognigy flow execution stopped: missing slot value
```

## Use this when

- Flow executions stop with a missing slot value error
- A flow works for some users but stops for others
- Slot-dependent branches never trigger


## Not for

- Intents not matching user utterances
- Webhook failures inside flow nodes
- Cognigy API authentication errors


## Steps

### 1. Find which slot is missing and where

Open the failed execution's trace and read which node stopped and which slot it wanted. Then check the slots filled earlier in the trace. The gap between 'slot needed' and 'slot filled' is the bug's location.

Expected output: the node, the slot name, and the point where filling should have happened.

### 2. Require the slot before it's needed

Add a slot-filling question upstream of the node that needs the value, with validation and reprompts. Don't let the flow reach a slot-dependent node with the slot possibly empty.

Expected output: the flow always arriving at the node with the slot filled.

### 3. Add a fallback for the empty case

Even with required slots, users dodge questions. Give the node a fallback: a default value, a graceful 'I need that to continue' reprompt, or a handoff. Belt and suspenders.

Expected output: a tested path for the user who never provides the value.

### 4. Check entity extraction for the slot

If the slot should have been filled from the user's message, the entity extraction is failing: the NLU didn't recognize the value. Add training examples for the phrasings users actually use.

Expected output: the slot filling correctly from real user phrasings.

## Variant phrasings

### cognigy slot not filled

Steps 1 and 4: trace the gap, then fix extraction.

### cognigy flow stops unexpectedly

Step 2's upstream requirement prevents the whole class.

## Why it happens

Flows are built happy-path first: the designer imagines the user answering every question, so every node assumes its inputs exist. Real users skip, dodge, and phrase things oddly. The missing slot is the flow discovering that its assumptions were optimistic, one stopped execution at a time.

## Edge cases

- Slot lifetimes matter: a slot filled three turns ago may have expired. Check scope settings.
- Multi-language flows need slot validation per language. A regex that works in English fails elsewhere.
- Copied flows carry slot references that don't exist in the new flow. Audit after duplicating.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_wAFHZ5x-C6HOlMx5zVI1mA
