# Event Enrichment (Fallback)

If you **don’t provide** an id, the backend will auto-generate one

> :bangbang:**Limitation:** Backend-generated IDs use the **SAME ID** for all sequential thinking blocks. All thinking events from the same EventEmitter instance will share the same ID. Hence, backend-generated ID not support parallel thinking.

**Example:**

```json
// No id provided - backend generates id "abc-123"
{"data_type": "thinking_start", "data_value": "", "id": "abc-123"}
{"data_type": "thinking", "data_value": "Analyzing...", "id": "abc-123"}
{"data_type": "thinking_end", "data_value": "", "id": "abc-123"}
```

```json
// Another sequential stream - backend reuse same id "abc-123"
{"data_type": "thinking_start", "data_value": "", "id": "abc-123"}
{"data_type": "thinking", "data_value": "Searching...", "id": "abc-123"}
{"data_type": "thinking_end", "data_value": "", "id": "abc-123"}
```

In this scenario, all thinking events will be merged (per each thinking block) in the database.

{% hint style="info" %}
**Recommendations:** Always provide your own UUIDs, especially if it parallel thinking case.
{% endhint %}
