Skip to main content

Celonis Product Documentation

Data extractions and transformations for object-centric process mining

The object-centric data model is system-agnostic. Celonis includes extractions and transformations to ingest business data for SAP ECC and Oracle EBS systems into the model. You can build your own extractions and transformations to use business data from other systems.

  • Extractions identify and ingest relevant business data from the tables in your source system.

  • Transformations create instances of objects, changes, events, and relationships based on the ingested data.

The supplied extractions and transformations get your business data into the Celonis object types, event types, and relationships. They cover the Accounts Payable, Accounts Receivable, Order Management, Procurement, and Inventory Management business processes.

When you enable a Celonis process and select a data connection for an SAP ECC or Oracle EBS system, we’ll install the appropriate transformations for you. For your custom object types and event types, and for custom attributes and custom relationships that you've added to the Celonis object types, you’ll need to build SQL transformations using our editor, to transform the relevant data from your business system into objects and events. Creating custom transformations has the instructions to do this.


Transformations are where the data from your source system gets turned into objects and events. Here’s how they work:

  • A first set of transformations works with the raw data from your source system. These transformations map the business data into the object types. Their output is individual objects, with their attributes and changes.

  • A second set of transformations works with these objects and their changes. They use the event types to identify the events that can be observed from the objects and changes. Their output is individual events, with their attributes.

If you need to, you can overwrite part or all of a Celonis-supplied transformation with your own custom SQL. For example, if you don’t have business data for a particular column or table, you can set that to NULL. Or if you need to change IDs or table joins or add filtering for your data, you can replace a transformation with your own SQL.

The OCPM Data Pool

The objects, events, changes, and relationships that are created from your data are stored in a database in the OCPM Data Pool.

  • Each object type and event type has a table where the specific objects and events are stored as rows - one row for each object or event.

  • Each object type table has an accompanying change table that stores the identified changes to objects of that type.

  • Object type tables and event type tables can also have accompanying relationship tables, which hold data about object to object relationships and event to object relationships.

When you customize Celonis object types, Celonis extends those database tables to include your customizations. And when you create custom object types and custom event types, Celonis automatically creates database tables for them.

The extractions and transformations that you enable or create are also stored in the OCPM Data Pool.

  • The predefined extractions go into the data job ocpm-extraction-job, in the scope of the Data Connection for your source system.

  • The predefined transformations go into the data job ocpm-data-job. This data job is in the global scope for the data pool.

  • Celonis also places your custom transformations in the data job ocpm-data-job.

  • If you create a partial or full overwrite for a Celonis transformation to populate the Celonis attributes differently, your custom SQL is joined to the Celonis transformation it replaces. You won’t see it listed separately in the data job.

  • If you create an extension to a Celonis transformation to populate custom attributes that you added to the Celonis object, your custom SQL is listed separately in the data job.

Multiple object-centric data models

By default, there’s a single object-centric data model in the OCPM Data Pool, which analysts and admins access and edit through the same Objects and Events environment. If you need to be able to scope access to data for your analysts and data engineers, or enable multiple independent teams to work on your models without impacting each others' work, you can get a separate object-centric data model in each data pool in your Celonis team.

A single object-centric data model in the OCPM Data Pool is easier to implement and manage, and ensures there is a single source of truth for your objects and events. We recommend this solution for most customers. One of the key ways that object-centric process mining creates value is the ability to share object types and event types across your processes, and build up an object-centric data model that spans your business, to help uncover new opportunities between existing organizational silos. You can’t achieve this with separate object-centric data models using their own sets of object types and event types. However, if you do require data segregation because of operational or compliance requirements, activating multiple object-centric data models provides that facility. Talk to your Celonis point of contact if you think this solution might be right for you.

If you want to use multiple object-centric data models, we’ll enable object-centric process mining for all the data pools in your Celonis team. (You can’t pick specific data pools - it’s all or none.) With this setup:

  • Each data pool gets its own object-centric data model, which only refers to the data in that data pool, and a separate and independent Objects and Events environment for modeling.

  • You can use the existing data pool permissions to scope access to data and divide your users into suitable groups.

  • Users can access their group’s Objects and Events environment through the data pool UI, or by selecting it in the Celonis navigation or the Objects and Events dashboard.

  • URLs for UI pages for objects and events, and in APIs, include the data pool’s ID so that they refer to the correct object-centric data model.

Development and production environments

The OCPM Data Pool can hold a development version of your object types, event types, relationships, perspectives, and transformations that you can use for modeling and testing, and a read-only production version that you can use with your applications.

When you publish to the development environment, we'll create test versions with the prefix “test:” for these things:

  • The data job ocpm-data-job that holds your transformations

  • The Celonis perspectives

  • Your custom perspectives

When you transform your data using the development data job test:ocpm-data-job, we create a separate set of objects and events in a parallel database, which you can use for testing in the development environment. When your updates have been validated in the development environment, and you’ve tested them with your data, you can promote them all together to the production environment.

If you disable a process from the catalog, we'll keep any customizations (such as custom attributes and their transformations) that you made for objects and events in that process. They will be available if you re-enable the process later.

Object-centric process mining database tables

Here's a reference for the tables that we use in the underlying object-centric process mining database in the OCPM Data Pool. It’s called the OCDM Schema - OCDM stands for object-centric data model. You can manage all these tables using the visual editors we provide, and you don't need to edit them directly.

Each table name is made up of these components:

  • A prefix giving the table type.

  • The namespace for the table's content. celonis is for object types, event types, and relationships prebuilt by Celonis, and custom is for object types and event types that you've created.

  • The name of the object type, event type, or relationship that the table holds data for.

Tables in the parallel database for the development environment have an extra prefix “t_”. When you write transformations, don't include the “t_” prefix - we'll rewrite the transformation to add it if it's for the development environment. Where we do include a table with a “t_” prefix in a data job, don't alter or remove it from the transformation.

Table 11. Object-centric process mining database tables


Table name prefix

Row contains

Object type


One object and the current values of its attributes

Event type


One event and the current values of its attributes

Change table


One change to one row of the referenced table

Object to object relationship table


One relationship between two objects

Event to object relationship table


One relationship between one event and one object