Quickbase Automation Developer Lab · Lesson 12

Passing Data Through a Pipeline

Lesson 11 taught us how to read a Pipeline run after it happens. Now we use that evidence to answer a new question: how does information available in one step become usable by a later step?

A Pipeline is not merely a row of independent instructions. Earlier steps can expose runtime information, later steps can reference it, and those references resolve to concrete values during each run.

Lesson 12 is about data flow between steps.

Conditions and filters are intentionally deferred to Lesson 13. Activity from Lesson 11 is now our experimental instrument, not a topic we need to reteach.

Part 1

From Runtime Evidence to Runtime Data Flow

As we learned in Lesson 11, Activity can show what a step received, targeted, returned, and knew during a run. Lesson 12 uses that evidence to follow values from one step into another.

Earlier Step

Produces or exposes runtime information

Later Step Reference

Points to selected earlier-step information

Runtime Resolution

The reference resolves to a concrete value for this run

Later-Step Input

The resolved value becomes usable by the later action

Remember This

Definition contains references. Runtime produces values.

That sentence is the mental anchor for the entire lesson.

Part 2

What We Already Know

This lesson is cumulative. We will use earlier concepts without reteaching them.

A Pipeline belongs to the realm.

Steps have Ref IDs such as aa and ab.

Triggers and actions execute at runtime.

Activity records what actually happened.

Target step, Input, Output, and Metadata can expose runtime evidence.

Part 3

Build a Fresh Pipeline for Lesson 12

We preserve the Lesson 10 and Lesson 11 Pipeline as historical evidence and create a new laboratory specimen.

Pipeline Name

Lesson 12 - Passing Data

aa — Quickbase: Record Updated

Trigger

ab — Quickbase: Update Record

Action

Before Every Test

Confirm that the Pipeline is ON.

We observed the Pipeline OFF when we expected it to be ON after making changes. We did not establish the cause, so we do not claim that editing always turns a Pipeline off.

Never assume the toggle is still ON just because it was ON during the previous experiment.

Part 4

One Field Can Trigger While Several Fields Travel Forward

Step aa gives us two settings that look related but answer different questions.

Fields

Which changes matter for initiation?

Selected: Status

Status is the business field being watched for a qualifying record update.

Fields for subsequent steps

Which business fields should later steps be able to use?

  • Task Name
  • Status
  • Due Date
  • Assigned To
  • Later: Pipeline Results

Remember This

Do not say “only these fields are passed.”

These are the business fields we explicitly selected for subsequent use. Runtime evidence can expose additional built-in and system-generated information as well.

Part 5

Activity Lets Us See the Configuration

The successful run gave us a direct pairing between the Pipeline configuration and the runtime evidence.

Trigger runtime evidence
trigger_fields: 8
export_fields: 6, 8, 7, 12
Struct mapping
6  = Task Name
7  = Due Date
8  = Status
12 = Assigned To

trigger_fields: 8

FID 8 corresponds to Status, the field watched for the Record Updated Trigger.

export_fields: 6, 8, 7, 12

These correspond to Task Name, Status, Due Date, and Assigned To.

OBSERVED

Remember This

Trigger field and downstream business-field availability are different jobs

They can overlap, but one setting controls what change matters for initiation while the other controls what business information is made available later.

Part 6

A Later Step Needs a Destination and a Source

Step ab targets the record represented by Record Updated. Inside that action, two separate decisions must be made.

Decision 1 — Destination

Where should ab place a value?

This is the job of Fields to update.

Possible destinations included Task Name, Due Date, Status, Assigned To, and Pipeline Results.

Decision 2 — Source

What earlier-step information should supply that value?

This is the job of the reference/value control.

Remember This

Destination field ≠ runtime reference

Mapping is not merely “copy this field back to the same field.” Source and destination are separate decisions.

Part 7

Fields for Subsequent Steps Affect the Downstream Field List

This was one of the strongest controlled UI discoveries in the lesson.

Before

Pipeline Results existed in the Tasks table but was not offered under ab → Fields to update.

Change aa

Add Pipeline Results under Fields for subsequent steps.

After

Pipeline Results became available in the downstream Quickbase Update Record configuration.

OBSERVED

In this Quickbase → Quickbase configuration, the business fields selected in aa → Fields for subsequent steps affected which business fields Quickbase offered in the downstream Update Record configuration.

Troubleshooting habit

If a field exists in the table but does not appear where expected in a later Quickbase step, first inspect the earlier step's Fields for subsequent steps.

Part 8

References Are the Bridge Between Steps

Once earlier-step information is available, a later step needs a way to point to it.

DestinationReferenceJinja / Code View
Task Nameaa.task_name{{aa.task_name}}
Due Dateaa.due_date{{aa.due_date}}
Statusaa.status{{aa.status}}
Assigned Toaa.assigned_to.id{{aa.assigned_to.id}}
Step Ref ID
aa
Identifies the earlier step whose runtime information we want to reference.
Field / value
status
Identifies the runtime value exposed by that step.
Nested property
assigned_to.id
Selects a property inside a structured value.
Full reference
{{aa.assigned_to.id}}
From step aa, use Assigned To, then select its id property.

Part 9

The Same Value Can Appear in Different Reference Syntax

This experiment became confusing for an important reason: Quickbase does not show references in exactly the same form everywhere.

We were looking at reference notation from one Quickbase context and tried to use it in another. The result taught us that understanding the value being referenced is only half the job. We also have to use the syntax expected by the place where we are typing it.

First Separate Three Different Things

1 — Quickbase Field Label

Task Name

This is the human-readable field name we see in the Quickbase table, form, and field configuration.

2 — Reference Name

task_name

Pipeline references may use a machine-friendly runtime name rather than the field's displayed label.

3 — Reference Syntax

The wrapper depends on where the reference is being used.

Similar runtime information can appear with brackets, one set of braces, or Jinja's two sets of braces depending on the Quickbase surface.

Context Matters

Similar Reference — Different Representation

Where We Encounter ItExample FormWhat to Notice
Quickbase field labelTask NameHuman-readable field name. This is not itself Pipeline syntax.
Activity / runtime reference display[aa.taskname]A reference representation encountered while inspecting runtime information. Seeing this form does not mean the same notation can simply be typed into every Pipeline control.
Other Quickbase reference contexts{aa.task_name}Some Quickbase surfaces can represent a reference with a single set of braces.
Jinja expression{{aa.task_name}}In Jinja, the runtime expression uses two sets of curly braces.

Remember This

Do not memorize a reference without remembering where you saw it

A reference that is valid or displayed in one Quickbase surface is not automatically valid syntax in another.

Before typing a reference manually, ask two questions:

  1. What value am I trying to reference?
  2. What syntax does this particular control expect?

What Went Wrong

Task: [aa.Task Name]
Status: [aa.Status]
Assigned To: [aa.Assigned To.ID]

We mixed a human-readable field label and a reference style from a different context, then placed that text into a control that did not interpret it as the runtime expression we intended.

Quickbase therefore preserved the text literally.

What Worked in Jinja

{{aa.task_name}}
{{aa.status}}
{{aa.assigned_to.id}}

In the Jinja context we were using, these expressions referenced runtime information from step aa and resolved to concrete values during the run.

Read the Reference from the Inside Out

{{aa.assigned_to.id}}

aa

The Ref ID of the earlier Pipeline step.

assigned_to

The runtime reference name for the Assigned To value.

id

A nested property inside that structured User value.

The Naming Trap

Task Name, task_name, and a wrapped reference can all point toward the same underlying business value.

The visible Quickbase field is named Task Name. A Pipeline runtime/reference representation may use a normalized name such as task_name. Then the control or language adds its own reference syntax around that name.

That means a builder can understand exactly which field is intended and still type the wrong reference because the name and the syntax belong to different layers.

Remember This

Use the picker when it is available

The visual reference picker reduces the amount of syntax we have to remember manually. The code/Jinja view is valuable because it shows how Quickbase represents the selected reference, but manually typing from memory creates another opportunity to mix field labels, reference names, and syntax from different contexts.

OBSERVED

Part 10

First Full Runtime Data-Flow Experiment

Record #18 gave us a clean specimen containing populated values for Task Name, Status, Due Date, and Assigned To.

Baseline

Record #18 contained populated values for all four business fields.

One Variable

Change only Status.

Observed Transition

Previous: On Hold
Runtime/current: Open

aa → Output
task_name: Review Applications - Changed 7
due_date: 2026-11-02T00:00:00+00:00
status: Open

assigned_to:
  id: 61267378.b6qh
  first_name: Dariansweb G
  last_name: Gmail
  email: dariansweb@gmail.com
  screen_name: fizzix
ab → Input
task_name: Review Applications - Changed 7
due_date: 2026-11-02T00:00:00+00:00
status: Open
assigned_to: 61267378.b6qh
OBSERVED

The Pipeline definition stores references to earlier-step information. During a particular run, those references resolve to concrete runtime values that become inputs to the later step.

Part 11

Definition-Time Reference vs Runtime Value

This distinction will matter again when we reach conditions, searches, loops, and deeper Jinja work.

Pipeline Definition

Stored expression

{{aa.status}}

This is a reference. It is not permanently equal to Open.

Pipeline Runtime

Concrete value for this run

Open

Another run could resolve the same definition to On Hold or another legitimate Status value.

Remember This

The reference is stable in the definition. The value belongs to the execution.

Never confuse a stored expression with the particular value it happened to resolve to during one run.

Part 12

Structured Values: Assigned To Carries More Than One Property

Not every Quickbase field behaves like a single plain value. Some field types expose a richer structure containing several related properties.

Our Assigned To field is a Quickbase User field, so the Pipeline did not expose only the text that happened to appear in the table. It exposed information describing the user itself.

Simple Value

One field → one primary runtime value

A field such as Status may behave conceptually like a simple value:

status: Open

The later step usually needs the value itself.

Structured Value

One field → several related runtime properties

A User field can expose multiple pieces of information describing the same Quickbase user.

assigned_to:
  id
  first_name
  last_name
  email
  screen_name

Contact Card Mental Model

Assigned To is the card. The properties are pieces of information on the card.

Assigned To

ID

61267378.b6qh

Quickbase identity for this user.

First Name

Dariansweb G

A descriptive property of the user.

Last Name

Gmail

A descriptive property of the user.

Email

dariansweb@gmail.com

Another property that may also identify the user in controls that accept email.

Screen Name

fizzix

Another user property exposed by the structured value.

Choosing the Property for the Downstream Job

We selected the User ID because the next step needed user identity.

{{aa.assigned_to.id}}

In our experiment, the downstream Quickbase User control accepted a User ID or User Email. We chose the ID:

61267378.b6qh

That lets the downstream Quickbase field identify the same user without depending on how that user happens to be displayed.

Pipeline Responsibility

Carry the identity or property needed by the next operation.

If the next Quickbase action needs to identify the Assigned To user, a value such as the User ID is appropriate.

assigned_to: 61267378.b6qh

Table / Field Responsibility

Decide how that user should be displayed.

The Quickbase table may display the User field as something like:

Gmail, Dariansweb G

That presentation belongs to the Quickbase field's display configuration. The Pipeline does not need to recreate that formatting simply to identify the user.

Remember This

Identity and display are different responsibilities

The Pipeline may pass a User ID while the table later displays Last Name, First Name.

That does not mean the Pipeline passed the wrong value. The Pipeline supplied identity. Quickbase used that identity to resolve the User field and then displayed the user according to the table's own field settings.

Choosing Among User Properties

The right property depends on what the next step needs.

PropertyWhat It RepresentsPossible Downstream Use
IDQuickbase identity for the userStrong choice when another Quickbase User field or control needs to identify that user.
EmailUser's email addressUseful when a control explicitly accepts email or when the workflow needs an email address.
First NameDescriptive user informationUseful for composing human-readable text.
Last NameDescriptive user informationUseful for composing human-readable text.
Screen NameAnother user propertyUse only when a downstream requirement specifically needs it.

Builder Habit

When a field exposes several properties, choose the property that matches the next operation's need.

Do not automatically choose the property that looks nicest to a person. Ask what the next step actually requires:

Identity? Email address? Display text? Another property?

Remember This

For Quickbase User-to-User data flow, ID is often the safest first choice

In the Quickbase → Quickbase experiment we performed, the User ID gave the downstream field the identity it needed, and Quickbase handled the field's display presentation afterward.

Keep that statement bounded to controls that accept User ID. Other channels or actions may ask for a different property.

OBSERVED

Part 13

Field Properties Are Not Pipeline Metadata

This distinction is easy to blur because both appear as nested runtime structures.

Remember This

Field properties describe the value being carried. Metadata describes context surrounding the step, execution, or event.

Assigned To → Email is a field property. It is not Pipeline Metadata.

Explained in Part 14 below

Part 14

Data, Field Properties, Metadata, References, and Mapping

Lesson 12 introduces several closely related ideas. Keeping them separate prevents a large amount of future confusion.

Of these terms, metadata may sound the most technical. Fortunately, the idea is much simpler than the word makes it sound.

A Plain-Language Model

Think About a Package Moving Through a Shipping System

The contents of the package are important, but the shipping system also needs information about the package and its journey. That surrounding information is a useful way to think about metadata.

The Contents

Data

The actual information being carried.

In our Pipeline, that could be:

  • Task Name
  • Status
  • Due Date
  • Assigned To

Details About One Item

Field Properties

One item inside the package may have several details of its own.

Assigned To, for example, can expose:

  • ID
  • Email
  • First Name
  • Last Name
  • Screen Name

The Shipping Label

Metadata

Information describing the surrounding context rather than the business value itself.

It can help describe things such as where information came from, what happened, who was involved, or where an item sits inside a larger batch.

Remember This

Metadata is data about the data or its journey

If Status = Open is the business value, metadata is not another Status.

Metadata helps describe the surrounding event, execution, source, record, user, position, or processing context.

Data
Actual runtime values exposed by a step, such as Task Name, Status, Due Date, and Assigned To.
Field Properties
Parts of a structured value, such as Assigned To → ID or Assigned To → Email.
Metadata
Additional information describing the runtime context, event, record, source, user, batch, or processing state surrounding the data.
Reference
{{aa.status}}
An expression pointing to earlier-step runtime information.
Mapping
The configuration that decides where the resolved value is used.
Destination
The field or control in the later step that receives the resolved value.

How Quickbase Uses the Idea

A Step Can Return More Than Just the Business Values We Selected

Quickbase documentation explains that later Pipeline steps can use information from earlier steps, including metadata. That information can be selected through reference controls or accessed through Jinja.

Connected systems can also return additional information alongside their primary data. In other words, the result of a step may contain both the thing we wanted and information describing that thing or how it was produced.

Business Data

task_name: Review Applications - Changed 7
status: Open
due_date: 2026-11-02
assigned_to:
  id: 61267378.b6qh

These values describe the Task and the User associated with the Task.

Metadata / Runtime Context

Metadata
  context
    app_name
    app_id
    table_name
    table_id
    realm_host
    realm_id
    occurred_at
    user

  record
    action

  previous
    ...

This information helps describe the execution and event surrounding the record data.

Remember This

The value and the context are both useful, but they answer different questions

Data asks: What value are we working with?

Metadata asks: What do we know about where this came from, what happened around it, or how it is being processed?

Metadata Becomes Even More Useful with Multiple Records

Sometimes metadata describes where one item sits inside a larger group.

Quickbase documentation describes steps that can return arrays or batches of information. When a Pipeline later processes those items, metadata can help identify information such as the current item's position and the size of the collection.

Current Item

3

Total Items

10

Meaning

Item 3 of 10

We are not learning loops or batch processing here. The important idea for Lesson 12 is simply that metadata can describe the processing context around a value, not merely the value itself.

Then the Reference Tells the Next Step What to Use

aa.status

Source reference

ab → Pipeline Results

Destination

The reference identifies the earlier information we want. The mapping determines where the resolved value will be used.

The Lesson 12 Dictionary

Six Ideas — Six Different Jobs

DATA

What is the actual value?

FIELD PROPERTY

Which part of a structured value do I need?

METADATA

What describes the surrounding context?

REFERENCE

Which earlier information am I pointing to?

MAPPING

How am I connecting that information to the next step?

DESTINATION

Where should the resolved value go?

Remember This

Metadata is supporting information, not mysterious Pipeline magic

The word sounds technical, but the idea is ordinary: when Quickbase moves information through a workflow, it may also carry useful information about the record, event, source, user, execution, or collection.

Just like a shipping label helps us understand a package's journey, metadata helps us understand and sometimes control what is happening around our Pipeline data.

Part 15

System-Generated and Automatically Available Information

This is a quick-reference index, not a separate experiment.

TypeExamples
Explicit business fieldsTask Name, Status, Due Date, Assigned To, Pipeline Results
Built-in/system record informationRecord ID, Date Created, Date Modified
User-valued system fieldsRecord Owner, Last Modified By
Structured User propertiesID, First Name, Last Name, Email, Screen Name
Separate Pipeline MetadataContext, Record action, Previous record

Remember This

Explicitly selected business fields are not the entire runtime picture

Activity also exposed values such as id, created_at, updated_at, record_owner, and last_modified_by. Structured User values can then expose their own properties.

Part 16

Build a New Value from Several Earlier-Step Values

Data passing becomes much more interesting once we stop doing one-to-one copying.

Task Name

{{aa.task_name}}

Status

{{aa.status}}

Assigned To.ID

{{aa.assigned_to.id}}

Pipeline Results configuration
Task: {{aa.task_name}} | Status: {{aa.status}} | Assigned To: {{aa.assigned_to.id}}

Observed Quickbase Result

Task: Prepare November Reports - Changed 7 | Status: On Hold | Assigned To: 61267378.b6qh

OBSERVED

Remember This

A later step does not have to put an earlier value back into a field with the same name

Several earlier-step values can be combined with literal text and used for an entirely different downstream purpose.

Part 17

What Actually “Passes” Between Steps?

This is where precise language matters because casual wording can imply an undocumented internal transport model.

1

aa exposes runtime information that later steps can reference.

2

ab contains references to selected earlier-step information.

3

At runtime, those references resolve to concrete values.

4

Activity shows those concrete values inside ab → Input.

Remember This

Avoid saying “aa sends four fields to ab.”

Our evidence supports a safer model: earlier-step runtime information is exposed, later steps reference selected values, and those references resolve during execution.

INFERRED

Part 18

Target Step vs Input vs Output — Revisited

As we learned in Lesson 11, these are activity-specific areas. Lesson 12 uses them to prove the data-flow chain.

Target step
Shows the record/resource the action is acting upon and the visible target state exposed in that runtime evidence.
Input
Shows the concrete values supplied to the Update Record action after references resolve.
Output
Shows what the action returned after it executed.
Best comparison
aa → Output ↔ ab → Input
One of the strongest ways to verify that expected runtime information from the earlier step became concrete input to the later step.

Part 19

A Controlled Failure Is Still Evidence

The failed bracket-syntax experiment proved how literal text and runtime expressions differ.

Wrong

[aa.Task Name]

Quickbase stored the notation literally.

Correct

{{aa.task_name}}

Quickbase resolved the reference to the actual runtime Task Name.

Remember This

Runtime expressions are interpreted according to Pipeline syntax

Ordinary text remains ordinary text.

Part 20

The Final Lesson 12 Runtime Model

Pull the definition-time and runtime views together.

Definition Time

Step aa

Watches Status, exposes selected business fields, and makes additional system/runtime information available.

Step ab

Chooses destination fields and stores references to earlier-step information.

Runtime

Record update occurs

aa executes

Runtime values exist for this run

ab references are resolved

Resolved values become ab Input

ab performs the action

Output records the result

Quickbase reflects the resulting mutation

Definition contains references. Runtime produces values.

Part 21

Evidence Boundary

Separate what the UI/help tells us, what we directly observed, the teaching model we infer, and what we refuse to invent.

DOCUMENTED
  • Fields can be selected specifically to trigger the step.
  • Fields can be selected for subsequent steps.
  • Built-in fields such as Record ID and Date Created are automatically included according to the UI/help encountered in this lesson.
  • Reference mechanisms/Jinja can access runtime information.
  • User/action controls can require appropriate identity values such as ID or email.
OBSERVED
  • Status alone could be watched while several business fields were available downstream.
  • Activity exposed trigger_fields and export_fields.
  • Downstream Update Record field availability changed after we changed Fields for subsequent steps.
  • aa Output values became concrete ab Input values.
  • Assigned To was structured and exposed nested properties.
  • aa.assigned_to.id resolved to a User ID.
  • Multiple earlier-step references could be combined into Pipeline Results.
  • Bracket-style notation remained literal while correct runtime references resolved.
  • The Pipeline was unexpectedly OFF during testing and had to be turned ON.
INFERRED

Our teaching model is that a Pipeline definition stores references that are resolved against earlier-step runtime information during an execution.

That model does not claim undocumented internal transport or memory mechanics.

SPECULATIVE

We do not speculate about how Quickbase physically stores step output, whether values are copied between internal services, internal memory structures, or why the Pipeline toggle became OFF.

Part 22

Bridge to Lesson 13 — Conditions

Now that a later step can reach runtime information, the next question becomes unavoidable.

What if we want the Pipeline to make a decision based on one of those runtime values?

Is Status equal to Open?

Does Assigned To have a value?

Is a date before or after another date?

Does a User value match a particular user?

Different kinds of runtime values can expose different condition or filter choices. That belongs to the next lesson, not this one.

Remember This

Lesson 12 learned how to reach the data. Lesson 13 will learn how to test that data and decide what happens next.

Conditions and filters now have a reason to exist in the curriculum.

Part 23

Key Takeaways

Leave Lesson 12 with these distinctions firmly separated.

Earlier Pipeline steps can expose information for later steps.

A trigger field and a field available for subsequent use are not necessarily the same concept.

Later steps use references to earlier-step runtime information.

The Pipeline definition stores the reference; the run supplies the concrete value.

Structured values such as User fields can expose nested properties.

Structured field properties are not Pipeline Metadata.

Destination selection and source/reference selection are different decisions.

Multiple references can be combined with literal text into a new downstream value.

Activity can prove the chain by comparing earlier-step Output with later-step Input.

Before testing, make sure the Pipeline is ON.

Lesson 12 Quiz

Can You Follow the Data?

Test the distinctions that matter: trigger fields, downstream availability, structured values, references, destinations, metadata, and runtime resolution.

Progress

0/10

1

If Status is the only field selected under Fields, then Status is the only information a later step can use.

2

{{aa.status}} permanently contains the value Open.

3

{{aa.assigned_to.id}} accesses a property of the structured Assigned To value.

4

Assigned To → Email is Pipeline Metadata.

5

Typing [aa.Task Name] into a Pipeline field creates a runtime reference.

6

A later step can combine several earlier-step references with ordinary text and write the result into another field.

7

If Task Name from aa is referenced in ab, it must be written back to the Task Name field.

8

Comparing aa → Output with ab → Input can provide evidence that a reference resolved to the expected runtime value.

9

Seeing created_at, record_owner, or last_modified_by means those fields were necessarily selected manually under Fields for subsequent steps.

10

Before testing a Pipeline, it is worth confirming that the Pipeline is ON even if it was ON during an earlier test.

Ready to test the data-flow model?

Answer all ten questions, then grade the quiz.

Lesson 12 Complete

The Steps Are No Longer Isolated.

Earlier steps expose runtime information, later steps reference it, and the same Pipeline definition can resolve to different concrete values on every execution.

Next: Lesson 13 — Conditions / Filters

We now know how data becomes available downstream. Next we learn how a Pipeline evaluates that data and decides whether execution should continue down a particular path.