Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.enneo.ai/llms.txt

Use this file to discover all available pages before exploring further.

For every incoming ticket — regardless of channel — Enneo performs a customer identification. The goal is to find the matching contract and customer in your master-data system (ERP/CRM) and legitimize the match against your configured rules before any request is processed further or dark-processed. Enneo itself is not the system of record — it queries the data in real time via user code from your source system.

Flow for emails and letters

1

Analyze the message

Enneo analyzes the message body (and attachments, when extracted via OCR).
2

Deterministic pre-detection (optional)

Before the LLM step, Enneo tries to resolve the contract with cheap, deterministic methods. If a contractId is found this way and the ERP APIs return valid contract and customer data for it, the LLM-based attribute extraction (step 3) is skipped.
3

Extract attributes via LLM

The AI extracts every parameter configured under Settings → Integration with external systems → Customer and contract search → Search parameters for customer identification — e.g. contract number, customer number, name, address, meter number. Only attributes explicitly mentioned in the message are passed on.
The more attributes you configure here and expose in your source system, the more accurate the customer identification gets.
4

Search the contract by attributes

The recognized parameters are handed to the user code for the attribute-based search (searchContractByFieldsExecutor).The user code must return at most one contract (or none). A list of multiple matches is not allowed — picking the most likely contract has to happen inside the user code.
5

Load contract and customer data

Once the attribute-based search has returned a contractId (and ideally also a customerId), Enneo loads the full master data:Both calls run in parallel, so the added latency is minimal. Every field returned here is then made available to the LLM as context and used for the service response, for AI agents, and for the legitimation check.
Results of these calls are cached. The ERP cache duration setting (in minutes) controls how long contract and customer data stay cached before they are reloaded fresh from the source system. A value of 0 disables the cache entirely.
6

Plausibility & legitimation check

Using the freshly loaded data, Enneo verifies that the attributes mentioned in the message actually match the resolved contract/customer (e.g. sender email = contract email, zip code matches). The result is the legitimation level — for details see Customer legitimation.
7

Presentation & processing

  • Legitimized (level ≥ 20): Enneo shows the contract to the agent and — if configured — can dark-process the request (AI agents execute automatically, without human approval).
  • Recognized but not legitimized (level 10–19): Enneo proposes the contract with a warning. Dark processing is not allowed; the agent reviews manually.
  • Not recognized (level 0): No contract is assigned.

Flow for chat and voicebot

The flow is largely identical to email — what differs is when and how the attributes are collected.
1

Actively ask for attributes

The chatbot/voicebot prompt defines what the bot actively asks the customer for (e.g. “Please provide your contract number and zip code”). Which parameters are used for identification at all is configured in the chatbot/voicebot’s Authentication Instructions.
2

Search contract, load data, legitimize

Once the required attributes are available, the rest runs exactly as for email: steps 4–6 abovesearchContractByFieldsExecutor, then searchContractByIdExecutor and searchCustomerByIdExecutor, then the plausibility and legitimation check.
3

Autonomous execution only at level ≥ 20

On chat/voice, any customer with a legitimation level below 20 is treated as a non-identified customer. The bot performs no customer-specific actions and keeps asking for the missing attributes until the threshold is reached.

Manual search by agents

Independent of the automatic identification flow, agents can search for contracts at any time via the search field in the UI. For this Enneo calls the user code for the free-text search, which should support queries by name, email, or other relevant fields.

Examples

Email

Voicebot