# Parameter Types

When building JavaScript based steps in our Step Library, it is necessary for steps to consume data (as input parameters) and steps can also output data (in output parameters). It’s important to specify the correct type for these parameters to give users the correct help or user interface when executing the workflow.

Parameters can be accessed in JavaScript by using the built in `action.input` and `action.output` objects. See our API documentation for more information.

## String

Any string (series of characters/text) value. This is the most common parameter and can be used as input or output. The default is blank.

| There is technically no limit to the length of string that can be passed between steps. However sending large amounts of information using this method can affect performance and there is usually a better way to do it.

## Integer

Any whole number. This can be used as an input or output. The default is `-1`.

## Boolean

Either true or false. This can be used as an input or output. The default is `false`.

## Script

A large string (series of characters/text) that is displayed as a JavaScript input to users of the workflow / step.

## Password

A password input for creating custom credentials in a step.

| This is a placeholder for future extension of the automation engine and should not be used at this time in custom steps.

## Credentials

Selectable credentials from the Avantra wide credential storage for use within steps. Use the credentials/login methods in our API documentation for the respective SAP ABAP, web client or database connections.

## Monitored Object & System

Input types exist for each of Server, Database, SAP System, SAP Instance, SAP BusinessObjects, and Cloud Service monitored system inputs to allow the user to select from the restricted list (by type) in the user interface when starting a workflow.

Additionally, the System parameter type allows the user to select from any monitored object.

These parameter types are useful when designing a workflow’s input parameters to restrict the types of monitored object that specific steps can execute on.

| This is a placeholder for future extension of the automation engine and should not be used at this time in custom steps.

## Check type, Custom check and Composite check

The Check type, Custom check and Composite check inputs provide a drop down to allow the user to select from the correct list of appropriate checks in Avantra.

This parameter type is used in several built in Automation Actions.

| This is a placeholder for future extension of the automation engine and should not be used at this time in custom steps.

## Status

Provides the ability to select either allows from selection in a dropdown for the built-in check statuses (UNKNOWN, CRITICAL, WARNING, OK, DISABLED) defaulting to DISABLED.

| This is a placeholder for future extension of the automation engine and should not be used at this time in custom steps.

## SAP Kernel

Provides a drop down for selecting from created SAP Kernel Upgrades. For use with the automation template Automated Kernel Upgrade.

| This is a placeholder for future extension of the automation engine and should not be used at this time in custom steps.

## File bundle & File tags

Provides the option to select information about a pre-defined file bundle and any associated tags created for distributing files. For use with the built-in automation step Distribute File Bundle and JavaScript-based Step Library steps.

For JavaScript-based Step Library steps, the File Bundle input is available as a JSON object describing the file bundle, e.g.:

    {
        "name": "test_bundle_name",
        "description": "<p>description of the file bundle</p>\n",
        "files": [
            {
                "path": "bundle_test.jpg",
                "size": 25,
                "uploaded": 1649336574143,
                "tags": []
            },
            {
                "path": "Cute-Unicorn-Main-Product-Image.jpg",
                "size": 94622,
                "uploaded": 1649335693158,
                "tags": []
            },
            {
                "path": "bundle_test.zip",
                "size": 191,
                "uploaded": 1669734520616,
                "tags": [
                    "transport"
                ]
            }
        ],
        "id": 1,
        "type": {
            "name": "Pre-Delivered1",
            "id": 13
        },
        "customer": {
            "name": "Avantra",
            "id": 3
        }
    }

## Simple Table

Provides a simple UI to the workflow user or workflow builder that creates a table structure of key and value pairs. This input parameter can be used to provide simple tabular data, like configuration parameters to custom Step Library steps to make the step more generic.

The parameter is available in JavaScript as a simple array of objects with VALUE and NAME properties. For example, this data is represented as follows:

Name | Value
--- | ---
name1 | value1
name2 | value2

    [
        {
            "VALUE":"value1",
            "NAME":"name1"
        },
        {
            "VALUE":"value2",
            "NAME":"name2"
        }
    ]

## SAP selection options table

This parameter type extends the simple table by allowing users of a workflow to pass SAP ABAP selection option style tables as inputs to a step or workflow. The select options, selection options or range table is a commonly used with ABAP to specify data selections and can be simply passed to remote enabled, function module calls (RFCs) or used within custom logic.

The parameter is available in JavaScript as an array of JSON objects with properties matching the table column names. Entering data matches the logic used in SAP. For example, this data is represented as follows:

Parameter | Sign | Option | Low | High
--- | --- | --- | --- | ---
name1 | Include | Equals | A |
name2 | Exclude | Between | 1 | 9

    [
        {
            "HIGH": "",
            "LOW": "A",
            "OPTION": "EQ",
            "SIGN": "I",
            "PARAMETER": "name1"
        },
        {
            "HIGH": "9",
            "LOW": "1",
            "OPTION": "BT",
            "SIGN": "E",
            "PARAMETER": "name2"
        }
    ]

## Notification action

The notification action parameter type can be used to allow workflow users to select from a dropdown list of predefined notification actions suitable for workflow usage.

To appear in this list, a notification action must be of type WORKFLOW STEP EVENT.

Procedure: Creating a workflow notification action

1. Choose Configuration Notifications then Notifications[Global].

2. Click the New button and choose Action for Workflow Steps…​

3. Enter a unique Name and optionally a Description

4. Click the Next button.

5. Choose the required Output Channel.

6. Click the Finish to save the new notification action.

This parameter type use with the built in automation step Send Notification Message.

| This is a placeholder for future extension of the automation engine and should not be used at this time in custom steps.