Process for Emails and Letters
Deterministic pre-identification (optional)
Before the LLM, Enneo attempts to directly find the contract using cost-effective, deterministic methods. If a
contractId is found and the ERP APIs return valid contract and customer data for it, the LLM-based feature extraction (Step 3) is skipped.Extract features using LLM
The AI extracts all parameters from the message that are configured under Settings → Integration into peripheral systems → Customer and Contract Search → Search Parameters Customer Identification — e.g. contract number, customer number, name, address, meter number. Only parameters that are explicitly mentioned in the message are passed on.
Search for contract by feature
The recognized parameters are passed to the User-Code for the feature-based search (
searchContractByFieldsExecutor).The User-Code may return a maximum of one contract (or none at all). A list with multiple hits is not permitted — the selection of the most probable contract must already take place in the User-Code.Reload contract and customer data
As soon as the feature-based search has returned a
contractId (and ideally also a customerId), Enneo reloads the complete master data:- With the
contractId,searchContractByIdExecutoris called. - With the
customerIdfrom the previous stage — or alternatively thecustomerIdfrom the contract —searchCustomerByIdExecutoris called.
Check plausibility & legitimization
Based on the reloaded data, Enneo checks whether features mentioned in the message actually match the identified contract/customer (e.g. sender email = contract email, postal code matches). This will result in the Legitimization Level — more details in Customer Legitimization.
Display & Processing
- Legitimized (Level ≥ 20): Enneo displays the contract to the case handler and, if configured, can process the request in the dark (automatic execution of AI agents without human approval).
- Recognized, but not legitimized (Level 10–19): Enneo displays the contract as a suggestion with warning. Processing in the dark does not take place; manual review is required by the case handler.
- Not recognized (Level 0): No contract is assigned.
Process for Chat and Voicebot
The process is largely identical to email processing — the difference is when and how features are collected.Actively request features
In the Chatbot/Voicebot prompt, it is configured which data the bot actively requests from the customer (e.g. “Please tell me your contract number and postal code”). Which parameters are used for identification is determined in the chatbot/voicebot configuration (
Authentication Instructions).Search contract, reload data, authorize
As soon as the necessary features are available, the rest proceeds exactly as with emails: Steps 4–6 from above — i.e.
searchContractByFieldsExecutor, then searchContractByIdExecutor and searchCustomerByIdExecutor, followed by plausibility and legitimization check.Autonomous execution only from Level ≥ 20
In the Chat/Voicebot, every customer with a legitimization level < 20 is treated as a non-identified customer. The bot does not perform any customer-related actions, but instead asks the customer again for the missing features, until the threshold is reached.