Lithium's Action system allows you to configure arbitrary scripts to be executed when an Incident (fault condition) is raised, continues to be active and is resolved. These Action Scripts can be Perl, Shell, Ruby, Python or any other script language or object providing it can be executed from a shell. Actions can be configured to execute for all entities, only specified entities, only on certain days and/or only between certain times. Additionally, you can configure the Action to execute the Action Script immediately when a relevant incident occurs, after a specified delay or only when manually instructed by the user through Console. Actions can also be configured to re-run every X minutes and only for a given number of times.
Once an Action has been attached to an Incident, the Action will be executed as configured -- either automatically immediately or after a delay or only when commanded by a Console user. The execution of an Action can be canceled through the Incident Manager in Console.
Managing Action Scripts
Action Scripts are managed from the Action Script window in Console. To open the Action Script Management Window click on "Manage Action Scripts" under the "Tools" menu item.

Standard Action scripts are installed by default. Additional scripts are available to via the Community Script Library. All scripts in the Community Script Library are listed in the lower half of the Action Script Management window. To install a script, simply double click on the required script. If you can not find a script to do what you want in the Community Library, your other option is to create (or modify) one yourself. Information on the structure of an action script and how to go about modifying one can be found at: http://support.lithiumcorp.com/content/view/192/122/.
Upload Script: If you choose to use your own scripts, or modify an existing script you will need to upload it to your Lithium server. This can be done by clicking the "Upload..." button. When you upload a Perl script, Lithium will first process the script and ensure that all dependent modules are installed, and install any that are missing via CPAN. Use caution when uploading scripts, the Upload Script operation will overwrite an existing script if it has the same name.
Save a local copy: To download a script from your Lithium Core server onto your local machine, select the script from the "Installed Scripts" tab and click on the "Save..." button. After making changes, the script can be uploaded again using he Upload Script functionality above.
Removing Scripts: To remove a script, select it from the "Installed Scripts" tab and click the "Remove" button. This will permanently remove a script off your Lithium server.
Repairing Scripts:Most perl scripts require extra perl modules to perform their function. When you upload a script to Lithium, Lithium will ensure that all required Perl modules are installed and up to date using CPAN. If for some reason one of the required modules for a script is deleted, the script will stop working. A script that has stopped working is marked with a red "X". If a script does stop running, you can have Lithium make sure that all of the dependent modules are installed by clicking on the "Repair" button.
To Manage Lithium Actions, click on "Manage Actions" in the Console window menu bar under the "Tools" menu item. Or, right click on the customer name and select "Edit Actions..."
The Action List window consists of three panes: The toolbar, the Action list, and Action Configuration/Execution Log tab.
Toolbar
| | Button | Description |
 | Refresh | Refreshes the list of actions |

| Add Action | Create a new action |

| Delete Action
| Delete the currently selected action |

| Edit Action
| Edit the currently selected action
|

| Manage Scripts | See Managing Action Scripts. |
Action List
This list contains all of the actions configured for this customer. The first column is a checkbox that allows you to enable/disable each action individually.
| Column | Description |
| Description | The description of the Action |
| Script | The name of the script this action will run |
Execution
| The manner (and delay ) in which this action executes. eg: Automatically with no delay, Automatically with 30 second delay, Manual |
Repeat
| Is the Action to be run more than once? and if so, how frequently? |
Action Configuration/Execution Log
The Action Configuration section of this page, provides an at-a-glance look at the details of each action. It shows you which script is configured for this action, the Date/Time filter (when this action will run) and it's behaviour (ie. Automatically run every X seconds or manually run.)
The Execution Log provides a log to view the results from previous runs of the script.
The Action window is where you configure an individual Action.
Description: This is the description for this action. Make sure it is descriptive, because later on when you need to manually fire the action, you will be relying on this description.
Action Behaviour: Using the Script drop down, you can assign which script this action will run. The next drop down allows you to choose whether this action is automatic, or manually run. If it is automatically run, you can also choose a delay (in seconds) before it is run. The last component of this section is the "Re-run script" checkbox. Checking this check box will instruct Lithium to re-run this action after the set period of time (provided the incident is still active).
Day/Time Restrictions: Each action can be configured to run on specific days, and/or between specific hours.
Script Configuration: The configuration variable table, allows you to fill the required information that the script may need to run (eg. Mail server, email addresses etc). The variables in this list are all generated by the script itself, and will be different for all scripts.The first column indicates if a variable is required or not. eg. For an email script you may find the Mail server, and email addresses are required for the script to run.
Entity Filter: The Entity Filter allows you to filter which entites (sites, devices, metrics, triggers etc) can run this action. If the Entity Filter is left blank, any incident raised for this customer will trigger the action. To configure an action to only run when a specific entity (or entities) have an incident raised, you can drag and drop them from the Browser window.