Create an SSH activity

task brazil Updated Sep 10, 2026 7 min read t_CreateAnSSHActivity.md
Raw file servicenow.com

Create an activity that extracts data from a target host that uses the SSH network protocol.

Before you begin

Role required: activity_creator or workflow_admin

About this task

For instructions on using the activity template process flow, see create custom activities.

Procedure

  1. Create a custom activity.

    This action creates a custom activity using a template.

  2. After setting up general properties and creating input variables, configure the SSH Execution Command.

Map the input variables

Use the variables you created to configure the command that Orchestration executes.

Target host

Host name or IP address of the target server for this activity.

Command

Command this activity runs on the target host. You can invoke a MID Server script from this field using any script type that the SSH command line supports. For more information, see Advanced SSH script options below the table.

Directory

Directory on the target host where the command is run.

Credential tag

The Orchestration credential tag to use when running the command.

Required MID Server capabilities

MID Server with the appropriate capabilities for connecting to the host. By default, the system selects a MID Server with SSH capabilities.

Long running

If checked, disables the SSH connection timeout for commands that might take longer to run than the default 60 seconds. Orchestration periodically checks the running process to determine its status until it is finished.

Must Sudo

If checked, enables the use of sudo to run commands.

**Note:** You can map parameter values in a test payload to variables in the **Outputs** tab automatically. See [automap output variables](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/servicenow-platform/orchestration/automap-output-variable-inputs.md).

Advanced SSH script options

To run a MID Server script on the target host, specify the script type and pass the name of the script into the ${syncFile()} parameter. The system uses this parameter to locate the named script in the MID Server Script File [ecc_agent_script_file] table and run it on the target host. For example, a bash script can be expressed as:

Text
bash ${syncFile("<MID script name>")} argument1 argument2 argument3

A base script (main_script.bash) can reference another script (my_include.bash) as well as a separate file (.my_profile) located on the target host. Both scripts and the file referenced must be synced to the MID Server, using the ${syncFile()} parameter, to execute properly.

Shell
source ${syncFile(".my_profile")}cp ${syncFile("my_include.bash")} /usr/ssmith/my_include.bashbash ${syncFile("main_script.bash")} one two three four five six rm /usr/ssmith/my_include.bash

A Python example with inline comments might look like this:

Text
set $LIB_DIR=/usr/bin;. # Sync a file that is referenced inside myF5CreateLBPool.py cp ${syncFile("specialFunctions.py")} ~/specialFunctions.py # set up environment variables source ${syncFile(".python_profile")} # call script that sets up dependencies on the box from remote package repos python ${syncFile("setupPythonDependencies.py")} pycontrol # call a script that requires functions from the package as well as a function from myIncludedFile python ${syncFile("myF5CreateLBPool.py")} snow_pool myActualValue # user is responsible for their own cleanup rm ~/specialFunctions.py

What to do next

Parent Topic:Orchestration custom activity templates

SSH template execution parameters

Use execution parameters to create the input process script in the Pre Processing form of the activity designer.

For descriptions of the command fields, see Configure the SSH execution command.

Note: You must use the executionParam. prefix with all variables in this table.

Name

Variable

Type

Usage

Source

source

String

Intended target or host.

Command

command

String

Comment to run on the host.

Directory

directory

String

Directory on the host in which to run the command.

Credential tag

credential_tag

String

Orchestration credential tag to use when running the command.

MidCapabilities

midCapabilities

String (comma separated)

List of required MID Server capabilities.

ValueCapabilities

valueCapabilities

Array of hashmap

Capability values used to select the MID Server. For more information, see MID Server capabilities. If there are additional capabilities that are assigned by value, use this example to customize the MID Server selection:``` var valueCapability = {'NEW_MID_CAPABIILTY':'NEW_MID_CAPABILITY_VALUE'}; executionParam.valueCapabilities.push(valueCapability);

Text
</td></tr><tr><td>
Long running
</td><td>
long\_running
</td><td>
Boolean
</td><td>
Indicates whether or not the command is long running. A value of true indicates that the command is long running.
</td></tr><tr><td>
Must sudo
</td><td>
must\_sudo
</td><td>
Boolean
</td><td>
Indicates whether or not this activity must use sudo to run root commands. A value of true indicates that [sudo](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/platform-security/r_SSHCredentialsForm.md) [SSH credentials](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/platform-security/r_SSHCredentialsForm.md) must be used.
</td></tr></tbody></table>## SSH post-processing parameters and payload parsing
Use these parameters to create a post-processing script, payload parsing, and tagging.
<table id="table_nzv_q1d_dr"><thead><tr><th>
Name
</th><th>
Variable
</th><th>
Type
</th><th>
Usage
</th></tr></thead><tbody><tr><td>
Output
</td><td>
output
</td><td>
String
</td><td>
Contains the output returned from the SSH command.
</td></tr><tr><td>
EccSysID
</td><td>
eccSysID
</td><td>
String
</td><td>
Contains the reference ID associated with the ECC Queue input message returned by the activity.
</td></tr><tr><td>
ErrorMessages
</td><td>
errorMessages
</td><td>
String
</td><td>
Contains the error messages retrieved from the SSH command. This value is **null** if there are no error messages.
</td></tr><tr><td>
Tags
</td><td>
tags
</td><td>
Hashmap of tag values returned from the SSH command
</td><td>
Contains the tags used to extract output using the SSH commands. The tag output is delimited by double percentage signs, as in `%%tagname%% … %%`. Set up the command using the following format:```%%tagname1%%output1 line 1output1 line 2…%%
%%tagname2%%output2 line 1output2 line 2…%%

The tags returned are JavaScript hashmap objects in which each key is prefixed with tag appended with the tagname.``` {"text": "", "tagtagname1":"output1 line1\noutput1 line2\n", "tagtagname2":"output2 line1\noutput2 line2\n"}

Text
</td></tr></tbody></table>## Configure the SSH execution command
Use the input variables you created to configure the command that Orchestration executes on the host target.
### Before you begin
Create the input variables you need in the **Inputs** form before you advance to the **Execution Command** stage.
Role required: activity\_creator, admin
**Note:** You can test the SSH connection between the MID Server and the target without having to run the acvitity in a workflow context. For details, see test template outputs.
### Procedure
1.  Drag variables from the list of inputs and drop them into command fields.
    The system formats the variable in the proper syntax for the command.
    \[Omitted image "SSHExecutionCommand.png"\] Alt text: SSH execution command
2.  Complete the fields shown in the table.
<table id="table_xf4_kvc_dr"><thead><tr><th>
Field
</th><th>
Description
</th></tr></thead><tbody><tr><td>
Input
</td><td>
Input variable builder. [Create input variables](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/servicenow-platform/orchestration/CreateInputVariables.md) to map to available fields.
</td></tr><tr><td>
Target host
</td><td>
Host name or IP address of the target server for this activity.
</td></tr><tr><td>
Command
</td><td>
Command this activity runs on the target host. You can invoke a MID Server script from this field using any script type that is supported by the SSH command line. For more information, see **Advanced SSH script options** below the table.
</td></tr><tr><td>
Directory
</td><td>
Directory on the target host where the command is run.
</td></tr><tr><td>
Credential tag
</td><td>
The Credential aliases for Orchestration activities to use when running the command.
</td></tr><tr><td>
Select MID Server by capabilities
</td><td>
MID Server with the appropriate capabilities for connecting to the host. By default, the system selects a MID Server with SSH capabilities
</td></tr><tr><td>
Long running
</td><td>
Check box to disable the SSH connection timeout for commands that might take longer to run than the default 60 seconds. Orchestration periodically checks the running process to determine its status until it is finished.
</td></tr><tr><td>
Must Sudo
</td><td>
Check box to allow the use of [SSH credentials](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/brazil/markdown/platform-security/r_SSHCredentialsForm.md) to run commands.
</td></tr></tbody></table>3.  Click **Save**.
4.  Click **Continue** to advance to the **Outputs** stage.
Search documentation
Search document titles and file paths on the brazil branch