---
title: "Pipelines: QBL v0.12"
slug: "pipelines-qbl-v012"
updated: 2025-12-19T15:24:55Z
published: 2025-12-19T15:24:55Z
canonical: "help.quickbase.com/pipelines-qbl-v012"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://help.quickbase.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pipelines: QBL v0.12

This article contains information about a QBL (Quickbase language) object. QBL objects are the supported Quickbase schema elements you see textually represented in the YAML file generated by Quickbase when you [export a solution](https://developer.quickbase.com/operation/exportSolution). Each object has associated properties. Supported schema may differ by [QBL version](/v1/docs/about-qbl-versions).

To use this version, specify 0.12 when making requests with the API. No other activation is required.

> [!TIP]
> Tip
> 
> Quickbase strongly recommends using [service accounts](https://help.quickbase.com/docs/using-service-accounts-to-manage-pipelines) to manage pipelines. Although QBL v0.12 supports importing and exporting pipelines from different owners, service accounts simplify authentication and allow for improved collaboration and security.

## Supported channels

QBL v0.12 supports these pipeline channels:

- Quickbase
- FastField
- Callable pipelines
- Webhooks
- Clock
- Json-Handler
- CSV-Handler
- Text
- HTTP
- Microsoft Outlook
- Microsoft Sharepoint
- Gmail
- Google drive
- Dropbox
- Slack

Solutions containing pipelines with unsupported channels **cannot** be exported.

## Solution API rules for pipelines

This section explains rules for each solution API, including authentication handling, reference handling, and general behaviors.

> [!WARNING]
> Important
> 
> If the import or export of any resource in a solution fails, the request is stopped, and all resources revert to their original state.

### Export

#### Authentication

Each account connection is exported with the channel account ID and alias included in the QBL.

Learn more about [aliases](https://help.quickbase.com/docs/placeholder-accounts-and-aliases)

#### References

- Recognizable references within the solution are exported as Logical IDs in the QBL, including:
  - Quickbase app references
  - Quickbase table references
  - Quickbase field references
  - Callable pipeline references
- References outside the solution retain their real IDs. This includes references to Quickbase outside of the solution, as well as external references (like a Dropbox folder, for example).
- Jinja expressions are exported as plain text, which means references inside the Jinja are not recognized in QBL.
- Quickbase auth tokens are not exported for all channels. Channels that don’t use channel accounts (like Webhooks, for example) export passwords or tokens used to authenticate the pipeline as plain text. Instead, Quickbase recommends using the HTTP channel or the Quickbase Make Request step instead.

### Create

- The user performing the import will become the owner of the pipeline.
- Imported pipelines default to the "off" state.
- Imported pipelines retain the original schedule.

#### Authentication

- Pipeline creation is only permitted if the user has the necessary permissions to create pipelines.
- Quickbase attempts to match a channel account for each pipeline step based on the criteria: pipeline owner, channel, alias.

Note: Channel accounts used in the pipeline step can only belong to the owner of the pipeline. If user A owns the pipeline, they cannot use a channel account belonging to user B.

For example, if the QBL describes a Gmail channel account with alias “XYZ”, Quickbase looks for a Gmail account that belongs to the importing user with alias “XYZ”. If a match isn’t found, a placeholder account is used instead.
  - Placeholder accounts are managed by the pipeline owner, who is the user performing the import.
  - The placeholder account uses the same channel and alias as defined in the QBL.
  - If the channel account defined in the QBL matches an existing placeholder account, the same placeholder account is used.
- If the exported pipeline requires a tokenless account, the pipeline uses the tokenless account (otherwise known as realm default account) of the importing user to create the pipeline.
- If a different value is specified for the channel account alias parameter, Quickbase matches against the provided alias value, and not the one included in the QBL. This allows you to create channel accounts before creating a pipeline with QBL, and choose to use that account.

Learn more about [placeholder accounts and aliases](https://help.quickbase.com/docs/placeholder-accounts-and-aliases)

### Update

- The pipeline owner remains unchanged after update.
- The state of the pipeline (on/off) remains unchanged, unless a pipeline that was previously on is no longer valid after the update. In these cases, a message is returned.
- Pipeline updates may adjust the following if specified in QBL:
  - Name
  - Description
  - Type
  - Schedule

#### Authentication

- Quickbase attempts to match a channel account for each pipeline step based on the criteria: pipeline owner, channel, alias. All channel accounts must be matched, not only new additions.
  - For existing steps, the channel account remains unchanged during an update.
  - If a structural change is made to a step that requires a different channel account (for example, switching the authentication type from tokenless to token), the matching logic applies to select the correct account.
  - When a new step is created during an import, the matching logic is used to determine its channel account.

Note: During updates, Quickbase attempts to match the owner of the pipeline, not the user performing the update. For example, if the QBL describes a Gmail channel account with alias “XYZ”, Quickbase looks for a Gmail account that belongs to the pipeline owner with alias “XYZ”. If a match isn’t found, a placeholder account is used instead.
    - Placeholder accounts are managed by the pipeline owner, not the user performing the update.
    - The placeholder account uses the same channel and alias as defined in the QBL.
    - If the channel account defined in the QBL matches an existing placeholder account, the same placeholder account is used.
- If a different value is specified for the channel account alias parameter, Quickbase matches against the provided alias value, and not the one included in the QBL. This allows you to create channel accounts before updating a pipeline with QBL, and choose to use that account.

Learn more about [placeholder accounts and aliases](https://help.quickbase.com/docs/placeholder-accounts-and-aliases)

## Pipelines properties

The following tables list information about the properties of this object.

### Pipeline

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Name | Name of the pipeline | False | New pipeline | Any string |
| Description | Describes the pipeline | False | Your new pipeline | Any string |
| Owner | The Quickbase user set in this field will be the owner of the pipeline when it is published. Value is the email of the desired user account. | True | None | Any string |
| Tags |  | True | None | Array of items of type: Any string |
| Crontab | Cron schedule, if applicable | True | None | Any string |
| CrontabTimezone | Cron schedule, if applicable | True | None | Any string |

### Pipeline account

| Property Name | Description | Required | Allowed Values |
| --- | --- | --- | --- |
| Channel | Channel name | True | Any string |
| AccountId | Account ID | True | Any string |
| AccountType | Account type | True | Any string |
| Realm | Realm name | True | Any string |

### Pipeline bucket

| Property Name | Description | Required | Allowed Values |
| --- | --- | --- | --- |
| Label | The bucket name | True | Any string |
| Value | The bucket ID | True | Any string |

### Pipeline channel account

| Property Name | Description | Required | Allowed Values |
| --- | --- | --- | --- |
| Alias | Alias of the channel account used for placeholder account resolution | True | Any string |
| AccountId | Account ID | True | Any string |
| Channel | Channel name | True | Any string |
| AccountType | Account type | True | Any string |
| Realm | Realm name | True | Any string |

### Pipeline step

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Bucket

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Clock

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Cloudpipes Meta

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Condition

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Type | Type | True |  | Any string |
| Name | Name | True |  | Any string |
| Note | Condition step note | False | ““ | Any string |
| Filters | Filtering bound to the step | False |  | Any string |

### Pipeline step - CSV Handler

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Data source - App

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Name | Name | True |  | Any string |
| App | App | True |  | References: 1. App - Scope: Solution Any string |

### Pipeline step - Data source - Fields

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Name | Name | True |  | Any string |
| Source | The Quickbase table to use as a source for the fields | True |  | Reference to QB::PipelineStep::DataSource::Table |
| Fields | Fields | False |  | Array of items of type |

### Pipeline step - Data source - Table

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Name | Name | True |  | Any string |
| Table | Table | True |  | References: 1. Table - Scope: Root 2. Table - Scope: Solution Any string |
| Source | The Quickbase table to use as a source for the fields | True |  | Reference to QB::PipelineStep::DataSource::Table |

### Pipeline step - Dropbox

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - FastField

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Gmail

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Google Drive

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - HTTP

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - JSON Handler

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Loop

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Type | Type | True |  | Any string |
| Name | Name | True |  | Any string |
| Target | Target of step actions | False |  |  |
| Note | Loop step note | False | ““ | Any string |

### Pipeline step - Microsoft Outlook

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Microsoft Sharepoint

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Quickbase

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Slack

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Stop

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Type | Type | True |  | Any string |
| Name | Name | True |  | Any string |
| Note | Stop step note | False | ““ | Any string |

### Pipeline step - Text

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline step - Webhooks

| Property Name | Description | Required | Default | Allowed Values |
| --- | --- | --- | --- | --- |
| Id | Id | True |  | Any string |
| Name | Name | True |  | Any string |
| Type | Type | True |  | Any string |
| SubType | SubType | True |  | Any string |
| PipelineChannelAccount | Pipeline channel account | True |  | Reference to PipelineChannelAccount |
| Channel | A Pipelines channel bound to this step | False |  | See nested values |
| Resource | Resource type | True |  | Any string |
| Id | Channel ID | True |  | Any string |
| Selector | Selector type | True |  | Any string |
| Inputs | Pipelines channel input bound to this step | False |  |  |
| Filters | Filtering bound to the step | False |  |  |
| Target | Target of step actions | False |  |  |
| Link | Relates resources | False |  |  |
| Note | Pipeline step note | False | "" | Any string |

### Pipeline table

| Property Name | Description | Required | Allowed Values |
| --- | --- | --- | --- |
| Label | The table name | True | Any string |
| Value | The table ID | True | Any string |

### Placeholder record set

| Property Name | Required | Default | Allowed Values |
| --- | --- | --- | --- |
| ExternalSetID | True |  | Any string |
| Name | True |  | Any string |
| SetType | False | Table | One of: Table, Query |
