The Camunda RPA Runtime is designed to bridge the gap between Robotic Process Automation (RPA) bots and the Camunda workflow engine, enabling you to seamlessly integrate your task workers with Camunda.
Note
|
Experimental Features Notice: The code in this repository is in the experimental stage and may be unstable. Use at your own risk and avoid using in production environments. |
Downloads and details for container images are available on the Releases page.
The RPA Worker can source its configuration either from a configuration file, or environment variables. The RPA Worker
will look for a file named rpa-worker.properties
in the current directory.
Connecting to a Camunda cluster requires providing the configuration for the Zeebe client. The RPA Worker uses the Spring Zeebe client, and so uses the same Configuration Properties.
camunda.client.mode=selfmanaged camunda.client.zeebe.enabled=true camunda.client.zeebe.grpc-address=http://zeebe.camunda.local camunda.client.zeebe.rest-address=http://zeebe.camunda.local
camunda.client.mode=saas camunda.client.zeebe.enabled=true camunda.client.auth.client-id=<client id> camunda.client.auth.client-secret=<client secret> camunda.client.cluster-id=<cluster id> camunda.client.region=<region> camunda.rpa.zeebe.secrets.secrets-endpoint=https://cluster-api.cloud.camunda.io
camunda.client.mode=selfmanaged camunda.client.zeebe.enabled=true camunda.client.cluster-id=<cluster id> camunda.client.region=<region> camunda.client.auth.issuer=https://login.cloud.dev.ultrawombat.com/oauth/token camunda.client.auth.client-id=<client id> camunda.client.auth.client-secret=<client secret> camunda.client.zeebe.rest-address=https://${camunda.client.cluster-id}.${camunda.client.region}.zeebe.dev.ultrawombat.com camunda.client.zeebe.grpc-address=grpcs://${camunda.client.cluster-id}.${camunda.client.region}.zeebe.dev.ultrawombat.com camunda.client.zeebe.base-url=https://${camunda.client.region}.zeebe.dev.ultrawombat.com/${camunda.client.cluster-id} camunda.client.zeebe.audience=zeebe.dev.ultrawombat.com camunda.rpa.zeebe.secrets.token-audience=secrets.dev.ultrawombat.com camunda.rpa.zeebe.auth-endpoint=https://login.cloud.dev.ultrawombat.com/oauth camunda.rpa.zeebe.secrets.secrets-endpoint=https://cluster-api.cloud.dev.ultrawombat.com
Tip
|
When creating an API client in the Camunda Cloud Console, the autogenerated configuration file provided contains most of the necessary configuration for connecting to production Camunda SaaS stacks. |
The Zeebe startup check and subscriptions can be disabled by setting
camunda.client.zeebe.enabled
to false.
Although the Zeebe Client itself cannot be disabled and it will still log,
the application will keep running allowing local working and these messages can be ignored.
When the RPA Worker sets up its Python environment it will install a default set of dependencies.
Additional dependencies can be installed by providing a supplementary requirements.txt
file with the
camunda.rpa.python.extra-requirements
property.
numpy==1.26.4 jmespath
camunda.rpa.python.extra-requirements=extra-requirements.txt
If the extra requirements files changes, the RPA Worker will install the new dependencies at the next restart, although no dependencies will be removed. If the Python environment is deleted then the RPA Worker will recreate it from scratch.
The RPA Worker makes the following environment variables available to the Robot execution:
Variable | Description |
---|---|
|
The workspace ID of the current job |
|
The full path to the workspace of the current job |
|
The name of the currently executing script |
|
The execution key of the currently executing script |
|
The Zeebe Job Key which triggered the Robot execution |
|
The Zeebe Job type |
|
The current BPMN process ID |
|
The current process instance key |
Property | Description | Default Value |
---|---|---|
Python Properties |
||
camunda.rpa.python.path |
The directory in which the Python environment will be created |
|
camunda.rpa.python.download-url |
The URL from which the portable Python will be downloaded if no system Python is available (Windows only) |
|
camunda.rpa.python.download-hash |
The expected SHA-256 hash of the file at |
|
camunda.rpa.python.extra-requirements |
The path to additional Python requirements that should be installed when setting up the Python environment |
None |
Robot Properties |
||
camunda.rpa.robot.default-timeout |
The default timeout to use when no other timeout is specified (ISO 8601 duration string) |
|
Sandbox Properties |
||
camunda.rpa.sandbox.enabled |
Whether the script evaluation API should be available |
|
Zeebe Properties |
||
camunda.client.zeebe.enabled |
Whether the Zeebe integration should be enabled |
|
camunda.rpa.zeebe.rpa-task-prefix |
The prefix used to construct the task subscription key |
|
camunda.rpa.zeebe.worker-tags |
The worker tag(s) this worker should subscribe to (comma-separated) |
|
camunda.rpa.zeebe.max-concurrent-jobs |
How many Robot jobs from Zeebe to run concurrently |
|
camunda.rpa.zeebe.auth-endpoint |
The authentication endpoint that should be used for authenticating before sending requests |
|
camunda.client.zeebe.audience |
The token audience to use when authenticating for Zeebe |
|
camunda.client.region |
The region for Camunda SaaS |
None |
camunda.client.cluster-id |
The cluster ID for Camunda SaaS |
None |
camunda.client.zeebe.base-url |
The region for Camunda SaaS |
|
camunda.client.auth.client-id |
The client ID to use when authenticating with Zeebe |
None |
camunda.client.auth.client-secret |
The client secret to use when authenticating with Zeebe |
None |
See the Spring Zeebe Configuration Reference for other supported properties |
||
Secrets Client Properties |
||
camunda.rpa.zeebe.secrets.secrets-endpoint |
The endpoint providing the secrets service |
None (Secrets fetching disabled) |
camunda.rpa.zeebe.secrets.secrets.token-audience |
The token audience to use when authenticating for secrets |
|
General Properties |
||
server.address |
Network address to which the server should bind |
|