RPA production setup
Use the RPA worker’s production configuration options to run RPA scripts reliably at scale.
To get started, see get started with RPA.
Configuration options
Transition from a development setup
When moving from development to production, consider the following:
- Disable the local sandbox: If the worker should only accept scripts from Zeebe and not from Desktop Modeler, disable local execution by setting
camunda.rpa.sandbox.enabled=false. - Install required third-party tools: Install any external tools your scripts rely on so the worker can access them.
- Add tags to your workers and scripts: Tag workers based on their capabilities, such as operating systems or installed applications. See Labels for details.
Use secrets
When running an RPA worker with Camunda SaaS, you can access connector secrets.
To do this:
- Create client credentials with both the
Orchestration Cluster APIandAdministration API - Resource: Secretsscopes. - Use them in the worker config by adding the secrets endpoint to your
rpa-worker.propertiesfile:
camunda.rpa.zeebe.secrets.secrets-endpoint=https://cluster-api.cloud.camunda.io
In the RPA script, your secrets are stored in the ${secrets} variable. You can reference a secret like MY_API_KEY with ${secrets.MY_API_KEY}.
Labels
Use tags and labels to differentiate worker capabilities.
-
In the
rpa-worker.properties, add:camunda.rpa.zeebe.worker-tags=accounting-system -
If you also want the worker to work on unlabeled tasks, use:
camunda.rpa.zeebe.worker-tags=default,accounting-system -
Add a label to your script when configuring the RPA task in your diagram.
Labels describe capabilities. If you want your worker to only pick up a specific script, use a unique label on both the worker and the RPA task.
If no label is defined, both the task and worker will use the label default.
Pre- and post-run scripts
Some scripts require environment setup before they run. To use pre- or post-run scripts:
- Create and deploy separate RPA scripts.
- Reference them in the properties panel of the RPA task.
The worker removes the job’s working directory after the job completes.
Timeouts
To set timeouts:
- On the RPA task (recommended): Set the timeout when configuring the RPA task in your diagram.
- In the worker: Use the default timeout in
rpa-worker.propertiesas a fallback.
Concurrent jobs
To enable concurrent jobs, set camunda.rpa.zeebe.max-concurrent-jobs in the worker config. Enable this only if your scripts, such as browser automation, can run safely in parallel.
Additional libraries
To install additional dependencies:
- Create a
requirements.txtfile listing required packages. - Set
camunda.rpa.python.extra-requirements=extra-requirements.txtin the properties file. - Restart the worker to install them.
Use labels to ensure scripts run only on compatible workers.
For example, to use Playwright:
## requirements.txt
robotframework-browser
## application.properties
camunda.rpa.python.extra-requirements=extra-requirements.txt
camunda.rpa.zeebe.worker-tags=default,playwright
Installation and setup guide
An RPA worker is a specialized job worker that runs outside the main Camunda Orchestration Cluster.
Prerequisites
RPA workers are supported on Windows, Linux, macOS, and in Docker for headless automation.
Hardware requirements
The RPA worker runs on bare metal, virtualized, or containerized systems. Use hardware suitable for your automated applications.
Software requirements
The RPA worker is a standalone binary.
| Operating system | Required software | Optional software |
|---|---|---|
| Windows | RPA worker | - |
| Linux and macOS | RPA worker | Python 3.12 + pip |
Network configurations
- Ensure connectivity to your Camunda cluster.
- Allow internet access if downloading external libraries.
Installation and configuration
This section describes how to set up the RPA host machine.
Scaling and operation
Each machine hosts one RPA worker.
For scalable workloads:
- Use VMs to quickly spin up new workers.
- Use max-concurrent-jobs if safe for your use case.
Setting up a VM
Use virtualization to create scalable and repeatable worker deployments.
Create a template VM
- Start with a clean Windows VM.
- Install and configure the RPA worker.
- Install all required third-party applications.
- Test connectivity by running a process in Camunda.
- Add the RPA worker to run automatically on startup.
- Configure Windows autologon.
- Disable screen saver, sleep, and lock.
- Set the VM's time zone to match business requirements.
- Save the configured VM as a template.
- Keep a separate local administrator account and password in escrow for emergency access, and audit all RDP and console logons.
Monitoring and scaling
To scale using your VM template:
- Provision new VMs from the template.
- Start the VMs to allow them to connect to Zeebe and begin executing tasks.
- Use Operate and Optimize to monitor task execution, wait times, and incidents.
If jobs are waiting too long, create additional VMs.
Operational tips:
- Script handling and versioning: RPA workers fetch the latest script version automatically.
- Labels: Use them to route tasks to the right worker types.
- Maintenance and monitoring:
- Enable OS updates during a maintenance window.
- Take regular snapshots.
- Monitor health, disk space, and RPA service status.
- Surface alerts into your monitoring tools.
FAQ
My RPA task is never picked up.
Ensure your RPA worker is connected to the correct Zeebe instance and has the correct label configured for the task.
My first script run succeeds, but any subsequent runs fail. I always need to restart the machine.
Your script might not clean up properly. Use teardown scripts to close apps after execution.
How do I handle errors and exceptions within RPA scripts?
Use setup and teardown steps in the Robot Framework. Optionally, use Throw BPMN Error for BPMN-specific handling.