---
title: Components
slug: components
docTags: 
createdAt: 2025-08-11T11:13:48.000Z
---

Components are reusable workflow building blocks that combine actions, inputs, outputs, and interfaces so they can be reused across playbooks.
Components, also known as vendor interaction components (VICs), standardize vendor-specific actions and data for use across playbooks.

Components support two common use cases:

- Ingestion: Retrieve and transform third-party data into OCSF/TEDS objects for use throughout a playbook.
- Enrichment: Retrieve and normalize additional context from external systems to support investigations, threat hunting, and response workflows.

## Choose Your Path

| **I want to...**                                                    | **Go to...**                                                                                                                              |
| ------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| Create a new component from the Components library                  | Components Listing Page                                                                                                                   |
| Create a reusable component from actions on a playbook canvas       | [Create a Component from Playbook Actions](https://docs.swimlane.com/components#create-a-component-from-playbook-actions) (use **Group**) |
| Work with canvas tools on a playbook (select, cut, paste, Group)    | [Organizing Playbook in the Canvas](docId\:ds_geaoGH--2ujXg-ROYS)                                                                         |
| Install a Swimlane Content component                                | Swimlane Content Components                                                                                                               |
| Configure inputs, outputs, and interfaces                           | Data and Interfaces                                                                                                                       |
| Export, duplicate, or delete a component                            | Components Listing Page                                                                                                                   |
| Mark a component as an AI Agent or use the AI Agents library        | [AI Agents in Orchestration](docId:4ER81s1TgEMT4h2RVruaw)                                                                                 |
| Build or modify a component with Hero AI                            | [Create and Modify Components with Hero AI](docId\:ikUKoTgCOrZumuwb-JDsb)                                                                 |
| Run a component from Hero AI chat                                   | [Hero AI Companion](docId\:crQKFVnGpCz_wJ8xtHDs7)                                                                                         |
| Understand how Hero AI executes components                          | [How Hero AI Executes Components](docId\:MGZX3dKiIv_vi2MHOynEV)                                                                           |
| Learn naming and interface best practices for AI-enabled components | [AI-Friendly Component Best Practices](docId:3pKnx5VXkQsJlLTojRO7b)                                                                       |

## Components Listing Page

The **Components Listing** page provides a centralized view of all available components in your environment. From this page, you can search for components, apply filters, review component details, and perform common management actions.

To access the Components Listing page:

1. Log in to Turbine.
2. From the left navigation pane, select **ORCHESTRATION**.
3. Click **Components**.

### Search Components

Use the **Search** bar in the upper-right corner of the page to quickly locate components.

You can search by:

- Component name
- Component description

The component list updates to display matching results as you type.

### Filter Components

Use the filters at the top of the page to narrow the list of components.

### Created

The **Created** filter displays components based on when they were created.

Select one of the available relative time ranges, including:

- Last 15 minutes
- Last 30 minutes
- Last 1 hour
- Last 5 hours
- Last 10 hours
- Last 24 hours
- Today
- Yesterday
- Last 2 days
- Last 3 days
- Last 7 days
- This week
- Last week
- This month
- Last month
- This year

You can also select **Custom range** to specify a start date and end date. After selecting a range, click **Apply** to update the list.

### Created By

The **Created By** filter displays components created by specific users.

You can:

- Search for a user by name.
- Select one or more users.
- Select **All** to display components created by every user.

### Last Updated

The **Last Updated** filter works the same way as the **Created** filter. Filter components based on when they were last modified by selecting a predefined relative time range or a custom date range, then click **Apply**.

### Last Updated By

The **Last Updated By** filter works the same way as the **Created By** filter. Search for one or more users and select them to display components last updated by those users.

### Source

Use the **Source** filter to display components based on their source.

Available options include:

- **Custom** — Components created by users.
- **Swimlane Content** — Components provided by Swimlane.

You can search for a source and select one or more options.

### Interface

Use the **Interface** filter to display components associated with specific interfaces.

You can:

- Search for an interface.
- Select one or more interfaces.
- Select **All** to display components with any interface.

### Visible to Hero AI

Use the **Visible to Hero AI** filter to display components based on whether they are available for Hero AI.

Available options include:

- **Yes**
- **No**

Select one or more values to filter the component list.

### Sort Components

Click the **Last Updated** column heading to sort the component list by the date the components were last modified. Click the column heading again to reverse the sort order.

### Component List Columns

The Components Listing page displays the following information for each component.

| Column                 | Description                                                                                                        |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Name**               | Displays the component name. The component source (for example, **Custom**) is displayed below the component name. |
| **Created**            | Date the component was created.                                                                                    |
| **Created By**         | User who created the component.                                                                                    |
| **Last Updated**       | Date the component was last modified.                                                                              |
| **Last Updated By**    | User who last modified the component.                                                                              |
| **Interface**          | The interface assigned to the component.                                                                           |
| **Visible to Hero AI** | Indicates whether the component is available for use with Hero AI.                                                 |

### Component Actions

Each component includes a **More options** (⋮) menu that provides additional management actions.

| Action        | Description                       |
| ------------- | --------------------------------- |
| **Export**    | Export the component.             |
| **Duplicate** | Create a copy of the component.   |
| **Delete**    | Permanently delete the component. |

Use **+** to open the **New Component** dialog and create a component.

:::hint{type="info"}
By default, all filters are set to **All**, and the page displays all components that you have permission to view. You can apply multiple filters at the same time and use **Search** with filters. The **Search** bar searches only the component **name** and **description**. To reset a filter, select **All** from the corresponding filter dropdown.
:::

## Component Builder and Canvas Tools

There are several ways to work with Turbine components. From the **Components** listing page, you can create a new component from scratch or open an existing one in the **Component Builder**. From a **playbook** canvas, you can turn a set of actions into a reusable component.

This section covers the **component** canvas UI. For playbook canvas tools (multi-select, **Edit Menu**, **Group**, cut, copy, paste, and zoom), see [Organizing Playbook in the Canvas](docId\:ds_geaoGH--2ujXg-ROYS).

The Component Builder uses a drag-and-drop canvas where you add actions and nested components from the **Add** panel on the left.

The Add panel allows you to view, search, filter, sort, and drag actions and components onto the canvas.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/yec8_D1EYc6Y_YpCQke3s_canvas-components.png" size="36" width="800" height="1121" darkWidth="800" darkHeight="1121" position="center" showCaption="false"}

**Components can be**:

- Filtered by user-made
- Sorted by Source or Interface

The Component default view is alphabetical by User-made, where you can easily expand or collapse the list. To add a component, click on the desired component, then drag to the plus icon to the expanding responsive drop zone. Repeat to add additional components.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/gmgF1kaJGFwL24HqNaYak_canvas-drag-drop-component.png" size="22" width="800" height="306" darkWidth="800" darkHeight="306" position="center" showCaption="false"}

### Canvas Tool Panel and Editor Controls

The Component Builder uses the same floating **canvas tool panel** as playbooks. See [Organizing Playbook in the Canvas](https://docs.swimlane.com/components#organizing-playbook-in-the-canvas) for **Build with Hero AI**, **Toggle Add Panel**, **Add Annotation**, **Edit Menu**, and **Undo** / **Redo**.

| **Control**           | **Location**             | **Purpose**                                                                                                                                                                           |
| --------------------- | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Test**              | Editor header (top)      | Opens the **Test Console** at the bottom of the window. Shortcut: **⌘⇧D** (Mac) / **Ctrl+Shift+D** (Windows).                                                                         |
| **Save**              | Editor header (top)      | Saves the component.                                                                                                                                                                  |
| **Component Details** | Right side of the canvas | Shows **Summary**, **Assets**, **Data**, and **Associations** when you select the canvas or a node. Use **Edit** on a node or **⌘⇧E** / **Ctrl+Shift+E** to toggle the details panel. |
| **Zoom**              | Bottom of the canvas     | Zoom in, zoom out, or fit the view.                                                                                                                                                   |

To turn playbook actions into a component from a playbook canvas, use **Group** in the **Edit Menu** — not a separate toolbar control. See [Create a Component from Playbook Actions](https://docs.swimlane.com/components#create-a-component-from-playbook-actions).

### Test a Component

You can validate component behavior using the Test Console.

To test a component:

1. Open the component in the Component Builder.
2. Click **Test** in the editor header (or press **⌘⇧D** / **Ctrl+Shift+D**).
3. Configure the required inputs.
4. Run the test.
5. Review the execution results and outputs.

### Create a Component from Playbook Actions

From a playbook canvas, you can turn selected actions into a user-made component. Use the same set of steps in the current playbook or drag the new component from the **Add** panel into other playbooks.

**Scenario:** You built a playbook that lists emails, then runs two VirusTotal actions (**Analyze a URL** and **Get Analyses**). You want to reuse only the VirusTotal steps as **VirusTotal\_Analyze\_URL**.

### Group Selected Actions

Use **Group** when you already have actions on the canvas and want to componentize them in one step.

1. Open the playbook in the canvas editor.
2. In a single flow, hold **Shift** and drag across the canvas to select a region that includes the actions you want.
3. Open the canvas **Edit Menu** and click **Group**, or press **⌘ G** (Mac) / **Ctrl+G** (Windows).
4. In the **New Component** dialog, enter a **Name** (up to 50 characters; letters, numbers, and underscores only). See [Limitations](https://docs.swimlane.com/components#limitations).
5. Click **Save**.

The grouped actions become one component node on the playbook. The component is also available under **Components** in the **Add** panel and in your user content library.

:::hint{type="info"}
**Group** works on actions selected **within one flow**. You cannot group across flows, playbook headers, or triggers. If **Group** is disabled, confirm you have at least one action selected and that the selection is valid for componentization.
:::

### Ungroup a Component

To split a component back into individual actions on the canvas:

1. Select the component node on the playbook canvas.
2. Open the **Edit Menu** and click **Ungroup**, or press **⌘⇧G** (Mac) / **Ctrl+Shift+G** (Windows).
3. In the warning dialog, click **Continue**.

Ungroup removes the component from the library attachment for that playbook, splits the steps on the canvas, and may remove interface, input, or output mappings where applicable.

## Create Component from Homepage

To create a new, user-made component, follow these steps:

1. From the Components listing page, click the **plus** icon.
2. The **New Component** dialog opens where you must enter a **Name** and can add a **Description**. The name can be up to 50 characters and must contain only letters, numbers, and underscores. See [Limitations](https://docs.swimlane.com/components#limitations) for the full rules.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/ubwOYW2SAz_wx6EtRgXik_components-new-comp.png" size="62" width="362" height="348" darkWidth="362" darkHeight="348" position="center" indent="2" showCaption="false"}

3. Click **Save** to create the component and open the Component canvas.
4. Referring back to step 2, now that the component canvas is open, use the **Add panel** to find the two CrowdStrike vendor-actions: *Get IDs* and *Get Incident Details*. The example below walks you through the process of finding and adding the actions to the canvas.
5. From the **Add panel**, ensure the **Actions** tab is selected and the **Sort** drop-down has **Vendor**.
6. For a quick search, filter by vendor.
7. Click the **filter** icon and select **CrowdStrike**.
8. The results show only the CrowdStrike actions. Scroll through and select the desired actions, then click and drag each action onto the canvas.

You've successfully added actions to the component. From here you can add/delete actions, configure, and/or modify them later. The component is always accessible under **User-Made Components** and in your **Content Library**.

:::hint{type="info"}
Save your work frequently!
:::

### Duplicate a Component

To duplicate a component:

1. Navigate to ORCHESTRATION > Components.
2. Locate the component.
3. Click the ellipsis menu.
4. Select Duplicate.

### Export a Component

To export a component:

1. Navigate to ORCHESTRATION > Components.
2. Locate the component.
3. Click the ellipsis menu.
4. Select Export.

### Delete a Component

To delete a component:

1. Navigate to ORCHESTRATION > Components.
2. Locate the component.
3. Click the ellipsis menu.
4. Select Delete.
5. Confirm the deletion.
   Deleted components cannot be recovered.

## Swimlane Content Components

Swimlane Content components provide prebuilt ingestion and enrichment workflows that transform vendor-specific data into standardized OCSF/TEDS formats.

Using Swimlane Content components can:

- Accelerate playbook development.
- Reduce implementation effort with preconfigured workflows.
- Support large-scale data ingestion.
- Improve investigation and response workflows through reusable enrichment patterns.

### Install a Swimlane Content Component

To install a Swimlane Content component:

1. Navigate to LIBRARY > Swimlane Content.
2. Locate the component you want to install.
3. Click Install.
4. Access the component from your content library or from the Components tab in the Add panel.

## Component Details

When creating a component, anytime you click on the Canvas, the Component details panel displays in the right-hand side.

The table below describes the individual component detail tabs.

| Tab          | Details                                                                                                              |
| ------------ | -------------------------------------------------------------------------------------------------------------------- |
| Summary      | Contains the component name, description, source type, schema information, copy functionality, and Hero AI settings. |
| Assets       | Displays available connector assets and allows assets to be assigned to connectors used by the component.            |
| Data         | Displays interfaces, inputs, outputs, and configuration options for the component.                                   |
| Associations | Shows the number of dependent playbooks or components.                                                               |

### Summary Tab

When Visible to Hero AI is enabled, a component description is required before the component can be saved.

Components that use Attachment inputs cannot be saved when Visible to Hero AI is enabled.

### Hero AI Settings on a Component

:::hint{type="info"}
Hero AI settings are available only when Hero AI is enabled for your tenant.
:::

| **Setting**                      | **Effect**                                                                                                                                                                                    |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Visible to Hero AI               | Allows Hero AI Companion to discover and run the component from chat. A description is required when enabled. Components with Attachment inputs cannot be saved when this setting is enabled. |
| Requires Confirmation to Execute | Prompts users to confirm execution before Hero AI runs the component. This setting is enabled automatically when Visible to Hero AI is enabled, but it can be disabled.                       |
| Mark as AI Agent                 | Adds the component to the AI Agents library. Full AI Agent setup and usage instructions are documented in AI Agents in Orchestration.                                                         |
| Component Building Mode          | Allows Hero AI to help create and modify components while working on the canvas.                                                                                                              |

### Visible to Hero AI vs Component Building Mode

- Visible to Hero AI and Component Building Mode are different capabilities.
- Visible to Hero AI allows Hero AI Companion to discover and execute the component from chat.
- Component Building Mode allows Hero AI to help create and modify components while working on the canvas.
  Components that use Attachment inputs cannot be saved when Visible to Hero AI is enabled.

:::hint{type="info"}
* Components that use Attachment inputs cannot be saved when Visible to Hero AI is enabled.
* For guidance on names, descriptions, and interfaces that work well with Hero AI and AI SOC, see [AI-Friendly Component Best Practices](#).
:::

Hero AI settings are configured from Component Details > Summary.

**Related Topics**

- [How Hero AI Executes Components](docId\:MGZX3dKiIv_vi2MHOynEV)
- [Create and Modify Components with Hero AI](docId\:ikUKoTgCOrZumuwb-JDsb)
- [Hero AI Companion](docId\:crQKFVnGpCz_wJ8xtHDs7)
- [AI Agents in Orchestration](docId:4ER81s1TgEMT4h2RVruaw)

## Data and Interfaces

Interfaces define the expected data structure for a component. Components that use the same interface can be substituted without breaking existing input and output mappings. When two components use the same interface, you can replace one with the other and preserve all mapped input and output fields.

Each interface specifies what inputs a component accepts and what outputs it produces, promoting consistency and simplifying reuse across the canvas. For example, a remediation interface might require fields such as `observable` and `action_type`, ensuring that compatible components can be used interchangeably.

| **Term**            | **Definition**                                                                                                                    | **Defining Characteristics** |
| ------------------- | --------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
| Component Interface | An interface defines the inputs and outputs expected by a component and enables compatible components to be used interchangeably. | - Used with components       |

To assign an interface:

1. Navigate to **ORCHESTRATION** and select **Components**.
2. Create or open a component in the Component Builder.
3. Click the **Data** tab in the Component Details panel.
4. Under the **Interface** section, choose from available interfaces like *Object to Alert v1.0.2* or *Error to Enrichment v1.0.2*.

:::hint{type="warning"}
If you switch from a predefined interface to *User Defined*, a dialog appears prompting you to either:

- **Transfer available mappings** into custom-defined fields, or
- **Clear all mappings** and start with a blank configuration.

This action cannot be undone, so review your current mappings before confirming.
:::

### User Defined

If none of the predefined interfaces match your use case, select **User defined** to manually configure the inputs and outputs using the **Component Inputs Manager**. This gives you full control over the data your component receives and returns.

Supported input types include:

- **String** – hostnames, file names, or email addresses
- **Number** – severity scores, thresholds
- **Boolean** – true/false flags
- **Object** – structured fields with nested properties
- **Array** – lists of strings, numbers, or objects
- **Attachment** – file payloads or binary data

Once you save your configuration, these inputs appear under the **Inputs** tab in the Data panel and can be mapped like interface-defined fields.

::Image[]{src="https://api.archbee.com/api/optimize/511c8QBH-VHiwWnyzIwUb/eHdTH6jfIjuqbbHRArdL4_canvas-interface-inputs.png" size="34" width="412" height="472" darkWidth="412" darkHeight="472" position="center" alt="User-defined inputs visible in interface" showCaption="false"}

## Limitations

| Limit                               | Value                                                                        |
| ----------------------------------- | ---------------------------------------------------------------------------- |
| Actions on the canvas               | No fixed maximum; add as many actions as your workflow requires              |
| Component nesting depth             | Up to 10 levels deep                                                         |
| Loop nesting depth                  | Up to 5 levels deep                                                          |
| Component run timeout (default)     | 4 hours total from start; extends by up to 1 hour per period of job activity |
| Component run timeout (maximum)     | 24 hours when set in the component manifest                                  |
| Individual action timeout (default) | 15 minutes for connector and most native actions                             |
| Action input and output size        | 20 MiB per action                                                            |
| Component name length               | 50 characters maximum                                                        |
| Component name characters           | Letters, numbers, and underscore only (`A–Z`, `a–z`, `0–9`, `_`)             |
| Component description length        | 255 characters maximum                                                       |

For the full timeout and limit reference, see [Timeouts and Limits](#).

:::hint{type="info"}
If a component name exceeds 50 characters or includes characters other than letters, numbers, or underscores, save can fail with an error. Shorten the name or replace spaces and special characters with underscores before you save. You can edit the name on the **Component Details** panel **Summary** tab at any time.
:::

## See Also

- [Organizing Playbook in the Canvas](docId\:ds_geaoGH--2ujXg-ROYS) — multi-select, **Group**, cut, copy, paste, and other playbook canvas tools
- [AI Agents in Orchestration](docId:4ER81s1TgEMT4h2RVruaw)
- [How Hero AI Executes Components](docId\:MGZX3dKiIv_vi2MHOynEV)
- [Create and Modify Components with Hero AI](docId\:ikUKoTgCOrZumuwb-JDsb)
- [Hero AI Companion](docId\:crQKFVnGpCz_wJ8xtHDs7)
- [AI-Friendly Component Best Practices](docId:3pKnx5VXkQsJlLTojRO7b)
- [Timeouts and Limits](docId:3OfEvWJNekRk_DSSCBqnx)
