# Automation Execution Environment

As of BaseSpace Clarity LIMS v5.0, several terms have been deprecated:

* **External Program Integration Plug-in (EPP)** has been replaced with **automation**
* **EPP/AI node** has been replaced with **automation worker / AW node**
* **Parameter** has been replaced with **token**
* **User defined field (UDF)** has been replaced with **custom field**

When a job is dispatched to the AI node/automation worker, the following steps occur:

1. A temporary working directory is created on the AI node / automation worker:
   * In **AIInstallDirectory/temp/**
   * With a unique name including the client process LIMS ID.
2. The command configured and selected as part of the step run in the LIMS is then sent to the AI node / automation worker, with any specified parameters / tokens replaced with actual values.
3. The command is executed on the AI node / automation worker, spawning step execution using the temporary working directory as the working directory context.
   * Script processing can use stdout, stderr, and return codes following standard shell programming packages.
4. When the script exits, the AI node/automation worker automatically retrieves any files with matching LIMS IDs from the temporary working directory. The files are attached to the appropriate output file placeholders.

### How the API Infrastructure is Used

The automation API infrastructure can be used alone or with the REST API infrastructure.

For example:

* Simple scripts can use automation parameters/tokens and data files directly from the current working directory. They can write results back to the current working directory, associating them back to the relevant placeholders in Clarity LIMS.
* More advanced scripts can also use the REST API infrastructure to retrieve additional required information and place relevant data back into UDFs/custom fields. Advanced scripts can also attach and associate data files to placeholders, which may be in different locations, while the script is still running.
