Parameters in QBL

Prev Next

Parameters in Quickbase Language (QBL) help make schemas reusable, organized, and easy to maintain. This article explains the different types of parameters and how they’re used in QBL.

Overview

Parameters represent values that can be referenced throughout your QBL schema in pipelines and connected tables. They help you reuse values across multiple resources.

  1. Built-in parameters—created and managed by Quickbase
    Examples of built-in parameters:

    • ConnectionId—identifies a connected tables connection

    • DataSourceId—identifies a connected tables connection

    • Alias—identifies a pipeline alias

    • BucketId—identifies a pipeline bucket

  2. External resources—references to data sources outside Quickbase
    Quickbase treats these as “external” if:

    • They are not Quickbase or bucket channels

    • Their type is annotated-reference

Parameter definitions

Parameters are defined before resources at the beginning of a QBL file with the syntax:

Version: 0.12
ParameterDefinitions:
  Property_Parameter:
    Type: String
    Description: Parameter for $PropertyQBLTypeParamLogicalPath-Property

They are referred to through the QBL file with the syntax:

Property: !Var
  Name: PropertyParameter

Override parameter values

You can optionally define a value for parameters to override what’s exported in the QBL. To do so, edit the QBL directly. Values are defined with the syntax:

ParameterDefinitions:
    Name: Pipeline_Alias_1
    Type: String
    Description: Parameter for $PipelineChannelAccount_Google_drive_1-Alias
    Value: param-value

Example

This example shows how parameters are defined and used within QBL.

Version: 0.12
ParameterDefinitions:
  QuickbaseConnectionId:
    Type: String
    Description: Parameter for $DataSource_Variables_connection
    Value: MyQuickbaseConnectionId # if the param isn't passed, use the default value
Resources: 
  $App: 
    Type: QB::Application
    Properties:
ExternalResources:
  $DataSource_Variables_connection:
    Type: QB::ConnectedDataSource::Quickbase
    Id: !Var 
      Name: QuickbaseConnectionId
Parameters: 
  QuickbaseConnectionId: 17823137812