Skip to main content

Celonis Product Documentation

How do I set up an on-premise Extractor?

The on-premise Extractors need to be installed on an on-premise server. Please follow the page about system requirements for the setup.

Extractor Setup on a Windows/Linux Server
Step A: Set up the Connection in the Celonis Cloud => Admin and Settings
  1. Go to team settings and then system/Uplink integrations.

  2. Create a new uplink with the type "Connector" (independent of which Connector type you would like to connect).

  3. Copy the keys and save them temporarily (they will be needed in Step B).

Step B: Download and Configure the Extractor
  1. Download the extractor package from here (SAP) or here (JDBC).

  2. Add the copied keys to config file application-local.yml (see the example below).

Spacing in the configuration

Please make sure not to change anything regarding the white spaces in the configuration file application-local.yml. The different elements need to be spaced exactly as in the original example.


Most settings can be left as is. You need to adopt the following:

  1. The file name after "file:" indicates the name of the log file into which the extractor writes. The file will be automatically created.

  2. The following options need to be configured:

    1. url: You need to adapt the team name - it should point to the team that the data should be sent to - https://{team}.{cluster}

    2. clientId: The client ID of the uplink endpoint that you have already set-up

    3. clientSecret: The client secret of the uplink endpoint that you have already set-up

If you would like to use a proxy (optional), please refer to the proxy configuration page.

Step C: Set up the JCo (applicable only for SAP Extractor)

To communicate with the Celonis RFC module, the Extractor needs to establish a connection to the SAP system and be able to make RFC calls. For this purpose, we use an industry-standard library - The SAP Java Connector (SAP JCo) - which is maintained and published by SAP itself.

The JCo library should be downloaded and set up separately. This involves 2 steps:

  • Download the respective package from the SAP Marketplace

This step should be performed by someone who has an SAP Service User (S User), which authorizes to download software from SAP portals. Usually, a customer's SAP BASIS has this access.

  • Copy the Library files into the dedicated folder in the Extractor Package

The Library contains 2 files - a Java part “sapjco3.jar”, and an operating system-specific part, for example, sapjco3.[.dll | .so | .sl ].

After downloading the files make sure to copy them to the following folder on the extractor server "Extractor path\jco". The extractor is configured to read the Library from this directory.

Step D: Run The Extractor

There are two ways to run the extractor:

i) in the command line

ii) as a service

i) Steps to run the extractor in the command line

Start the jar file by opening the terminal/cmd, navigating to the respective folder, and running it with the following command:

 java -Xmx8g -Dspring.config.location=application-local.yml -jar connector_file_name.jar

Running multiple extractors

If you like to run multiple on-premise extractors in the same folder, you need to rename the application-default.yml files so that they are distinct. Then you need to start the respective extractor with the following command:

 java -Dspring.config.location=configuration_file_name.yml -Xmx8g -jar extractor_file_name.jar
ii) Running an on-premise Extractor as a service

The major benefit of running it as a service is that the Extractor can be automatically started when the server is rebooted.

On Linux

If you wish to start the application on startup of the server, you can use systemd - the standard way to start a Linux service at boot.

For this you need to create a unit file and put it in the directory /etc/systemd/system/. You can use this example unit file below named celonis_extractor.service:


Description=Celonis Extractor Service.

WorkingDirectory=[path to folder of installation]
ExecStart=/usr/bin/java -Xmx8g -jar connector-sap.jar


To enable and start the service execute the following commands

Start the service

sudo systemctl start celonis_extractor.service # starts the service
sudo systemctl enable celonis_extractor.service # registers the service so that it is started on boot

On Windows

The Extractor package contains four files that enable you to run the Extractor as a Windows service:

  • Celonis<ConnectionType>Extractor.xml: The configuration file of the service. Normally, you do not need to make any changes to this file.

  • install.bat: The batch file to install the services on the service.

  • startup.bat: The batch file to start the service manually.

  • shutdown.bat: The batch file to stop the service manually.

In order to perform an install, a startup or a shutdown, you need to run the batch file as an administrator. To do that, simply right-click on the respective file and then select "Run as administrator".

JDBC Extractor Setup on Docker (applicable only for JDBC extractor)
  1. Load the extractor package image into docker:

    docker load --input <connector_package_name>.tar.gz
  2. Steps to run the extractor in the command line:

    docker run \ 
    -e UPLINK_ENABLED=true \ 
    -e UPLINK_URL=https://{team}.{cluster} \ # insert the team url, it should point to the team that the data should be send to. 
    -e UPLINK_CLIENTID=<clientID>\ # insert the client ID of the uplink endpoint that you have already set-up 
    -e UPLINK_CLIENTSECRET=<clientsecret>\ # insert the client secret of the uplink endpoint that you have already set-up 
    -p <port>:<port>\ # insert the port 
    -v <connector_package_name> # provide the package name

Separate driver

You specify the driver in the following way when running the Extractor:

Supply the driver

-v <path_to_driver_locally>:<path_to_driver_in_the_container> <connector_package_name> # insert the local and container path to the driver
Additional information
Using log files of the on-premise Extractor

If you encounter an error when starting or running the Extractor, it is very helpful to have a look at the log file that the Extractor produces. It can be found in the same folder as the Extractor and it has the name given in the configuration file (see above), by default <ConnectionType>_connector.log. Please also share this file with the Celonis Service Desk if you would like to report an issue.


After starting the Extractor I see the message "Connection refused: connect; nested exception is Connection refused: connect". How can this be fixed?

Please check that your on-premise Extractor server can reach Celonis Execution Management System. Specifically, please verify that

  • you can reach the URL https://[team].[realm] in the browser of your server - if not, please check your firewall settings

  • no proxy is blocking the connection between the Extractor and Celonis Execution Management System - if it is needed, see documentation about proxies

If I run the extractor as a Windows service, it always fails immediately and I can only see the log files ending with the wrapper. What can I do?

Please check that your Java version is 11 by typing

java -version

in the command line. If it is, please make sure that the environment variables PATH and JAVA_HOME are set on a system level, not on only a user level. Moreover, you need to restart your server after the environment variables have been changed so that it affects the system user as well, see

I want to override the temp folder that is used by Extractor for storing the files temporarily

This is possible to do by overriding the command that starts the extractor service.

For Windows

Windows service is installed according to the metadata that is defined in the file CelonisSapExtractor.xml, which is located in the extractor folder. You can modify the command line arguments there and override the directory which is by default "%BASE%\temp". For example:

For Linux

The same logic applies to Linux. You need to modify the command that launches the extractor service. When running the command make sure to explicitly override the temp folder. For example:

java"/define/your/directory" -Xmx8g -jar connector-sap.jar