About YAML

This is an feature of Pipelines that can help an advanced user:

  • Make a copy of a pipeline
  • Change the owner of a pipeline
  • Hold a backup copy of a pipeline in case they want to revert a change

YAML is a coding standard you can use with programming and use to write configuration files. YAML uses a data format that is easy-to-read. YAML isn't a programming language - YAML files store information, but don't include actions and decisions.

Unlike XML or JSON, YAML presents data in a way that makes it easy for a human to read. The simple syntax does not impact the language’s capabilities. You can store any data or structure added to an XML or JSON file in YAML.

Quickbase Pipelines uses YAML to import and export pipelines. From My Pipelines, the export feature shows the YAML of any given pipeline, for example:

When you create a new pipeline you can import from a YAML.

YAML sections

Within YAML for Pipelines, there are these section:

  • TRIGGER - This is the trigger that starts your pipeline.
  • ACTION - These are the actions that are performed when the trigger starts your pipeline.
  • META - This is the meta tag that helps describe your app.

YAML Tips

You can edit your Pipeline YAML directly. For example:

  • To rearrange a pipe, you can edit the YAML directly, for example, by changing the order of the ACTION steps.
  • You can use a different account by editing the Account slugs section directly.

A typical Pipelines YAML export

The following is an example of a typical export from the Bucket pipeline:

# Bucket App
#
# Account slugs:
#  - quickbase[userxyz]: My Quickbase app <None>
#  - gmail[user id]: Lois Lane <None>
#  - google-calendar[userxyz]: Lois Lane <None>
---
- META:
    name: Bucket App
- TRIGGER quickbase[userxyz] record on_create -> a:
    export_fields: 8, 11, 14, 13, 12, 9, 10, 34, 46, 38, 33, 23, 32, 24, 41, 28, 6,
      37, 15, 18, 21, 20, 19, 16, 17, 49, 22, 7, 48, 31, 36, 44, 43, 26, 35, 42, 39,
      40, 25, 47, 27, 45
    table: bqexx2ivj
    ___: ___
- ACTION bucket row create -> b:
    table: '5876036948459520'
    ___: ___
- ACTION gmail[userxyz] message send -> c:
    ___: ___
    to: '{{a.record_owner.email}}'
- ACTION google-calendar[userxyz] event create -> d:
    calendar: en.bulgarian#holiday@group.v.calendar.google.com
    ___: ___
    end_at: 2021-03-03T17:00:00+0200
    start_at: 2021-03-03T16:00:00+0200
    summary: '{{a.first_name}} {{a.last_name}}'
...

YAML resources

For more information about using YAML, see:

YAML reference card