---
title: Inputs
slug: inputs
docTags: 
createdAt: 2025-08-11T11:13:46.000Z
---

Actions are individual capabilities of connectors that interact with external technologies by passing in data via action inputs. Results are available from action outputs.

Actions can:

- Call another playbook
- Interact with external technologies
- Contain inputs and outputs (outputs can be promoted through the **Playbook Outputs** dialog)

:::hint{type="info"}
You do **not** need a trigger to add an action to your playbook.
:::

## Create Actions

1. From your current playbook, open the **Add** panel on the left side of the screen. The **Add** panel displays available actions, connectors, and components organized by category. The panel has three tabs: **Triggers**, **Actions**, and **Components**.
2. Browse or search for the desired action from the available connectors and native actions.
   - Native actions (such as Create Variables, Update Variables, HTTP Request, Script, Transform Data, Condition, Loop, Parallel, Create Record, Delete Record, Search Records) appear at the bottom of the **Add** panel
   - Connector actions are organized by vendor/connector above the native actions
3. Drag the action from the **Add** panel.
4. Drop the action onto the canvas:
   - Drop onto a drop zone (indicated by a plus icon) to add it to the flow
   - Drop onto an edge to insert it between existing actions
   - Drop onto a node to connect it after that action
5. After dropping, the action appears on the canvas and the **Action** details panel automatically displays to the right of the playbook.
6. In the **Action** details panel, under the **Info** section:
   - The **Action** field displays the selected action type
   - Enter the required **Title** field
   - The **Key** field auto-populates based on the **Title** field, but you can edit it if needed
   - Optionally add a **Description**

:::hint{type="info"}
The **Key** field must be unique and only contain A-Z, a-z, 0-9, or underscore characters.

You can drag and drop connector actions, native actions, or existing playbooks (components) as actions to nest in your current playbook.

Once you have dropped an action, you can configure its inputs and outputs by clicking the **Configure** button in the **Data** section of the action details panel, or by clicking the **Edit** icon on the action node in the canvas.
:::

## Configure Action Inputs

Action inputs are information necessary for the execution of the task.

**Action Icon Meanings**

| Icon                                                                                                                                                                                           | Meaning                                                                 |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
| ::Image[]{src="https://app.archbee.com/api/optimize/n8uUzk0MM4uC57-zlHNtY/JDEeWDtzB3eTSbOL6WmuJ_image.png" size="10" width="30" height="24" position="flex-start" showCaption="false"}         | Edit icon: Opens the Configure dialog to edit action inputs and outputs |
| ::Image[]{src="https://images.archbee.com/511c8QBH-VHiwWnyzIwUb/bgayVKEUWwxOfhtEafWHg_delete-icon.png?format=webp" size="10" width="30" height="30" position="flex-start" showCaption="false"} | Delete icon: This deletes the entire action.                            |

### Open the Configure Dialog

To configure action inputs and outputs, open the Configure dialog in one of two ways:

1. **From the Action details panel:** In the **Data** section, click the **Configure** button.
2. **From the canvas:** Click the **Edit** icon that appears when you hover over an action node.

The Configure dialog opens with **Inputs** and **Outputs** tabs, where you can configure the action properties.

:::hint{type="info"}
The Configure dialog appearance and available options vary depending on the action type. For example, native actions like Create Variables, Update Variables, HTTP Request, Script, Transform Data, Condition, Loop, and Record actions each have their own specialized configuration dialogs.
:::

Based on the selected connector or action type, Action Inputs auto-populates properties under **CONNECTOR ACTION** or **ACTION INPUTS**.

Also, the **Additional Options** section displays available assets, which are based on the connector. Some actions may show additional options, depending on the action type.

:::hint{type="info"}
Assets allow users to create a reusable set of values that can be applied to actions as inputs in playbooks. Assets can be for a specific connector, or created as a custom asset which can be applied to any action inputs. Assets are most useful for standardizing and securing configurations.

Assets = action configuration templates
:::

## Configure Connector Properties

When configuring an action, the available property types display under **CONNECTOR ACTION**. Depending on the property type, there are different values you can apply. The value options are different for string property types and all other types.

- The default value for string property type is **Dynamic value**.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/HtuGl7uTgFW68uQqst1O-_configure-action-inputs.png" size="68" width="1790" height="761" darkWidth="800" darkHeight="340" position="center" indent="2" showCaption="false"}

- The default value for other property types is **Static value**.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/ujN48ErW8aMDeDRmL4R_B_configure-action-inputs-static.png" size="76" width="1773" height="763" darkWidth="800" darkHeight="344" position="center" indent="2" showCaption="false"}

**What's a dynamic value?**

A dynamic value for string property types allows you to add context and/or repeats to a playbook property or expression.

For details, see the Configure Concatenation for Strings Without Formats sub-section.

**Configure Other Values for Property Types**

The default value for other property types is **Static value**.

For property types other than string, the drop-down menu options are: *Static value*, *Playbook property*, or *Expression*, which allow you to enter a static value, apply a playbook property, or create a dot notation expression.

To configure the connector properties:

1. Click the **property type** drop-down, then select from *Static value*, *Playbook property*, or *Expression*.
2. Complete for all required properties.
3. Click **Apply**.

## Select Assets

Connectors have assets. Assets are pre-defined configurations for some input fields required in actions, or you can customize assets.

### Select Pre-defined Assets

1. Navigate to the action inputs.
2. If you want to apply an existing asset, click the **Select from available assets** menu and select an asset.

The available asset property fields are auto-filled.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/ZdbpHPRCxItMPS5TQruyC_available-assets.png" size="76" width="535" height="286" darkWidth="800" darkHeight="427" position="center" indent="2" showCaption="false"}

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/02csidmV7-nfq3OGPBl4k_completed-asset-property-fields.png" size="76" width="1174" height="771" darkWidth="800" darkHeight="525" position="center" indent="2" showCaption="false"}

3. Complete any fields that are not auto-populated.
4. Click **Apply**.

**Customize Assets**

See [Create Custom Assets](https://docs.swimlane.com/create-custom-assets) for instructions on how to create and configure a custom asset and apply it to a playbook.

## Action Property Types

Actions have the following input property types:

| **Property Types** | **Description**                                                                                                                                                                                   |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| String             | Sequence of alphanumeric characters                                                                                                                                                               |
| Number             | Floating point and integers                                                                                                                                                                       |
| Integer            | Real numbers that do not have a floating point                                                                                                                                                    |
| Boolean            | Either of the values `true` or `false`                                                                                                                                                            |
| Object             | Structure that contains more properties                                                                                                                                                           |
| Array              | Ordered list of zero or more elements, each of which may be of any type. Arrays use square bracket notation with comma-separated elements. Array Types: arrayNumber, arrayString, and arrayObject |
| Null               | Empty value, using the word `null`                                                                                                                                                                |
| Date               | ISO 8601 date string without time information                                                                                                                                                     |
| Date & Time        | ISO 8601 string with date and time                                                                                                                                                                |
| Password           | Obfuscated string, the text will not be human readable within the platform                                                                                                                        |
| Code               | Formatted code string                                                                                                                                                                             |

## Configure Concatenation for Strings without Formats

Concatenation is the ability to add context to a playbook input property. Turbine currently only supports the **String** property type *without formatting*:

:::hint{type="info"}
Concatenation only works with string properties that do not have a format, i.e., API keys would not be used with string concatenation.
:::

:::hint{type="danger"}
The property types: **Date**, **Date & Time**, and **Password** are string inputs; *however*, they are formatted. Therefore, you *cannot* create a string concatenation using those properties.
:::

Before configuring concatenation for strings without formats, ensure you complete (as needed):

1. Configure action inputs
2. Configure connector properties
3. Select assets

Now, create a concatenation for strings without formats. You need playbook inputs and/or expressions to configure an action input for string concatenation. Let's begin by creating a playbook input from the Action Inputs window.

1. From Action Inputs, in the desired property field, click **+ select a property**.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/of_8w4hNbUqX_6V_uTpVC_broadcast-message-input.png" size="50" width="1414" height="584" darkWidth="800" darkHeight="330" position="center" indent="2" showCaption="false"}

2. Click **Playbook Inputs**.

:::hint{type="warning"}
If you have not added any playbook inputs yet, you will need to click **Add a playbook input**.
:::

3. Configure a playbook input for the string.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/YkED9bHwPUqfxkXSeQvqw_broadcast-message-pb-input.png" size="66" width="1777" height="775" darkWidth="800" darkHeight="348" position="center" indent="2" showCaption="false"}

2. Click **Done**, then select the playbook input you configured.
3. The input displays as a token in the appropriate field.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/bpd6z1vo8qsitIUTrwzru_concatenate-token.png" size="76" width="1783" height="762" darkWidth="800" darkHeight="341" position="center" indent="2" showCaption="false"}

6. Next to the token, enter text, for example, **world!**
7. The token and static value text display as string concatenation.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/91sGLi71nsR64SJheG5aa_concatenate-token-static-text.png" size="68" width="1783" height="769" darkWidth="800" darkHeight="345" position="center" indent="2" showCaption="false"}

8. You have successfully created a string concatenation!
9. See [String Concatenation](#) for an example of executing string concatenation.

## Using Expressions with Playbook Input Data

Playbook inputs can be structured as arrays or objects, allowing you to pass complex data structures into your playbook. You can use expressions (dot notation) to access nested properties within playbook input data.

### Understanding Playbook Input Structure

When playbook inputs contain arrays or objects, you can structure your input data as follows:

**Example Input Data Structure:**

:::BlockQuote
\{
&#x20; "inputs": \[
&#x20;   \{
&#x20;     "name": "applicationname",
&#x20;     "value": "Alert Exceptions"
&#x20;   }
&#x20; ]
}
:::

In this example, inputs is an array containing an object with name and value properties.

### Accessing Playbook Input Data with Expressions

To access nested properties in playbook input data, use the $inputs prefix followed by dot notation to navigate through the data structure.

**Expression Syntax:**

- $inputs.propertyName - Access a top-level property
- $inputs.arrayName\[index] - Access an array element by index
- $inputs.arrayName\[index].propertyName - Access a property within an array element
- $inputs.objectName.propertyName - Access a nested object property

**Example:**

Given the input data structure above, you can access the name property using:

:::BlockQuote
$inputs.inputs\[0].name
:::

This expression:

- $inputs - References the playbook inputs
- inputs\[0] - Accesses the first element of the inputs array
- .name - Accesses the name property of that object

**Result:** The expression evaluates to "applicationname"

### Using Expressions in Action Inputs

To use expressions with playbook input data in action inputs:

1. Navigate to the action inputs configuration.
2. For the property where you want to use an expression, select **Expression** from the drop-down menu (for non-string types) or use **Dynamic value** (for string types).
3. Enter the expression using dot notation, starting with $inputs.

**Example Use Cases:**

- **Accessing array elements:** If your playbook input is an array of objects, use $inputs.items\[0].id to get the id of the first item.
- **Accessing nested objects:** If your playbook input contains nested objects, use $inputs.config.settings.timeout to access deeply nested properties.
- **Dynamic array access:** Use expressions like $inputs.inputs\[$inputs.selectedIndex].value to dynamically select array elements based on other input values.

**Note:** Expression evaluation occurs at runtime, allowing you to dynamically access playbook input data based on the structure you provide when running the playbook.

## Add Object Sub-properties

The property types Object and Array have sub-properties. You can map the sub-properties as a static value, playbook property, or dot notation expression.

To add an object sub-property:

1. Navigate to the action inputs.
2. Navigate to the **Object** property type.
3. Click **Add object properties**.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/NWYP3gVQAayZHAz7qXIKk_object-sub-property.png" size="82" width="1775" height="747" darkWidth="800" darkHeight="336" position="center" indent="2" showCaption="false"}

4. Select a sub-property from the drop-down.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/A2WfV26RObLnU40mH_8yY_dropdown-sub-properties.png" size="72" width="1131" height="761" darkWidth="800" darkHeight="538" position="center" indent="2" showCaption="false"}

2. Repeat steps 3 and 4 if you want to add more than one sub-property.
3. Map the property type by selecting from *Static value*, *Playbook property*, or *Expression*.
4. The *Dynamic value* option defaults for string property types.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/4mVCr2rFxQ0Gjd1l-mB10_map-the-property-type.png" size="78" width="1141" height="763" darkWidth="800" darkHeight="535" position="center" indent="2" showCaption="false"}

8. If desired, you can also change the name of the sub-property.
9. To enable editing, click in the sub-property field and enter a new name.
10. The new name and selected mapped option display.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/YsPG9DWYJgjoBashpnXws_sub-property-name-change.png" size="76" width="1151" height="763" darkWidth="800" darkHeight="530" position="center" indent="2" showCaption="false"}

## Add Array Sub-properties

1. Navigate to the action inputs.
2. Depending on the connector, array types might be available.
3. Navigate to the array property type.
4. Click **Add array items**.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/cWtKi6GelTohK9k2KMkt6_array-sub-property.png" size="76" width="1151" height="763" darkWidth="800" darkHeight="530" position="center" indent="2" showCaption="false"}

5. Click **Add an item**.
6. Click **Add**.
7. A **Dynamic value** field displays that allows you to add context and/or select a property.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/bOredvHuQCo51QNlDACKL_add-item-only.png" size="72" width="1151" height="763" darkWidth="800" darkHeight="530" position="center" indent="2" showCaption="false"}

8. Repeat steps 4–6 if you want to add more than one sub-property.
9. Configure the array sub-property.
10. Click **Apply**.

## Clear a Sub-Property Entry

To clear the information for the sub-property:

1. Click the **Clear value** icon.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/eZDCv56nAG8yw4YJQXKwm_delete-text-field-entry.png" size="68" width="1058" height="317" darkWidth="800" darkHeight="240" position="center" indent="2" showCaption="false"}

2. Click **Apply** to save the changes.

## Delete a Sub-Property Entry

To delete the information for the sub-property:

1. Click the **Delete** vertical ellipsis.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/xsD0wr3z-6Tni_5mshC-m_delete-sub-property-entry.png" size="74" width="1062" height="321" darkWidth="800" darkHeight="241" position="center" indent="2" showCaption="false"}

2. Click **Apply** to save the changes.
