Skip to main content

Celonis Product Documentation

Guidelines for Knowledge Model setup

The following recommendations provide guidelines to configure your Knowledge Model to work best with Process Copilot. Adhering to these guidelines will help you improve the quality and accuracy of Process Copilot’s responses.

KPI Requirements

  • KPIs tagged must have PQL queries that are executable and return a single value.

  • Do not label KPIs used in other KPIs, only label the top-level KPI.

  • Indicator flags, “case whens” or any other record level KPIs should be created as attributes. For example, the KPI shown below should either be untagged or recreated as an attribute of the Invoice Item record.

// Bad Example
id: FORMULA_InvoiceItem_isCleared
displayName: Is Invoice item cleared
pql: CASE WHEN ROUND_DAY("BSEG"."AUGDT") <= ROUND_DAY(${VAR_Clearing_date})
THEN 1 ELSE 0 END

Attribute requirements

  • Attributes tagged must have PQL queries that are executable and capable of returning multiple rows of values.

  • For date attributes, create and tag new attributes that formats the date into your desired time increments (e.g., month or quarter). For example:

// Under the Accounting Line Item record
id: CLEARING_DATE_BY_MONTH
displayName: Clearing date (by month)
pql: ROUND_MONTH("BSEG"."AUGDT")

id: CLEARING_DATE_BY_QUARTER
displayName: Clearing Date (by quarter)
pql: ROUND_QUARTER("BSEG"."AUGDT")

Avoid duplicate names and descriptions

  • Display names and descriptions should be concise, understandable and accurately reflect the outputs of the KPI or record attribute. Provide as many details as required to differentiate between similar items.

  • Please make sure that no display names or descriptions are directly duplicated across KPIs or attributes. If there are duplicates, users will not be able to identify the difference between the duplicated items during Process Copilot's disambiguation step.

Reduce similar content

  • Avoid labeling multiple KPIs or attributes with similar names. For example, tagging several “On-time payment rate” related KPIs causes Process Copilot to struggle finding the intended one.

  • Attributes that appear in multiple tables should only be tagged once. For example, “Company Code” or “Vendor” might be available in several records, but having them tagged only in the case table (invoice or invoice item) is sufficient.

  • If attributes need to be in multiple records to satisfy a join path, specify which record it belongs to in the attribute's displayName and description fields to differentiate the attributes, such as “Invoice line item company code” or “Invoice header company code”.

Resolving Knowledge Model issues

If you see an “Enhance Accuracy” notification at the top of your Process Copilot, follow the steps below to resolve the issues in your Knowledge Model.

Step 1: Fix incorrect PQL issues
  • It is critical to fix these issues for your Process Copilot’s operation:

    • For KPIs not returning a single value, move the query to a record attribute if necessary.

    • For KPIs or Record Attributes with PQL errors,  update the query according to the error message:

Step 2: Resolve duplicate names and descriptions
  • Add more context to the duplicated name or description fields to differentiate them.

Step 3: Differentiate similar items
  • For similar KPIs, you can do one of the following:

    • If the KPI’s queries differ only based on their filters, create a new KPI for the base query and create a second new record attribute to support the filtering logic. Each Process Copilot can generate KPIs with PQL filters based on the record attributes provided. For example:

      Before:

      id: OTPRate_thisMonth
      displayName: On-time Payment Rate for this month
      pql: AVG( CASE
            WHEN ROUND_MONTH("BSEG"."AUGT") = ROUND_MONTH(TODAY())
         THEN KPI("IsInvoicePaidOnTime")
         ELSE NULL END)
      
      id: OTPRate_lastMonth
      displayName: On-time Payment Rate for the previous month
      pql: AVG( CASE
            WHEN ROUND_MONTH("BSEG"."AUGT") < ROUND_MONTH(ADD_MONTHS(TODAY(), -1))
         THEN KPI("IsInvoicePaidOnTime")
         ELSE NULL END)

      Refactored:

      id: OTPRate
      displayName: On-time Payment Rate
      pql: AVG( KPI("IsInvoicePaidOnTime") )
      
      // Under the Accounting Line Item record
      id: Clearing_Date_Month
      displayName: Month of Clearing Date
      pql: ROUND_MONTH("BSEG"."AUGT")
  • For similar Record Attributes:

    • If the attribute's queries are known to be identical across records (e.g. Company Code), keep minimum attributes to facilitate join operations (usually those attached to Case Tables) and remove the label from the rest.

    • Identical attributes should be tagged once unless there is an N-to-1-to-N or 1-to-N-to-1 relationship that prevents the attribute being used with a KPI in a chart or table. For example, a hypothetical attribute needs to exist on both Table A and D to facilitate joins between 1) A and B, and 2) C and D.

      copilot_identical_attributes.png
Step 4: Add missing descriptions
  • Providing clear and distinct descriptions significantly enhances the understandability and usability of the content for your Process Copilot and users.