You are correct that Environment variables are immutable inside Blue Prism code. They are not designed to be used to pass data directly between two objects. They're instead meant to function as static constants that should only be required to be modified when moving between various environments.
The way you'd accomplish your task in Blue Prism would be something along the lines of the following:
- Read the necessary data in an action, and have the data item to which the data was read be set as an output of the action (configured in your action's End stage properties).
- Configure the Start stage of your second application's action to accept and utilize the input of the data read from the first object.
- Create a Process that ties these objects together with action stages and local data items.
The concept of Processes vs. Objects and inputs/outputs are covered extensively in official Blue Prism documentation (available within the Blue Prism portal, under the "Documents" tab):
- Blue Prism Foundation Training
- Blue Prism Object Design Guide
- Blue Prism Process Creation Guide
- Blue Prism Best Practice Build Overview