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

# Populate custom field

**Populate custom field** sets a [custom field](/custom-fields) value on the store that triggered the run, or clears it. It's how a flow records what it observed, so the rest of Meridian can act on it.

## Configuring the action

Pick the field to write, then say where the value comes from: **a fixed value**, or **from the trigger**.

The action always writes to the **triggering store**: the run already knows which store it's for. A flow with no store behind it (some test runs) traces the write as skipped.

### A fixed value

The same value on every run. The value editor matches the field's **type**: a checkbox offers true/false, a select offers its options, a date offers a date picker, a number takes a number.

* **Leave the value empty to clear the field** on that store.
* For a checkbox, unchecked writes **false**, not an empty value. Clearing and setting-to-false are different states, and segments can tell them apart.
* A value that doesn't fit the field's type is refused rather than stored loosely.

### From the trigger

Write the value *this run* was fired with, instead of one you decided in advance. The picker offers exactly what a [variable condition](/condition-variable) on the same flow could branch on: the same [variables](/automation-variables), because the same resolver reads them:

* the crossing that fired a [usage view threshold](/usage-view-threshold-crossed) (`usage_view_value`, `usage_view_threshold`, and the window it was measured over),
* the [tracked event](/usage-event-tracked) behind the run: its `event_quantity`, or any `properties.` property your app sent,
* the store's own details (its plan, its revenue, when it installed).

This is what turns usage into something the CRM can work with. "When a store's GMV passes 10,000, write the GMV onto the store" gives you a number on the store card, in [segments](/segments), and in [reports](/report-builder). No export, no second system.

<Note>
  The value takes the **same coercion** as a typed one: `usage_view_value` of `10450.5` lands in a number field as the number 10450.5, and a reading the field can't hold is refused exactly as a typed value would be.
</Note>

**A variable with no value writes nothing.** If the run doesn't carry it (the event didn't include that property, the store has no value for that detail) the field is **left exactly as it was**. It is never cleared. An absent reading is not zero and not an empty string, and blanking a field on one would destroy the very history you're recording. Test runs report this as a skipped step naming the variable, rather than as a write.

The builder only lets you pick variables the flow's trigger actually provides. Point the trigger somewhere else afterwards and the step is flagged, because a variable that trigger never sends could only ever do nothing.

## Writing is an event

This action goes through the same writer as the dashboard and the [values API](/custom-fields-api), which is what fires the [Custom field changes](/custom-field-changed) trigger. So a populate step can start another flow, deliberately useful and bounded by two guards:

* an automation never re-runs on the change it caused,
* automation-to-automation chains stop after three hops.

Writing the value a store already has changes nothing and fires nothing.

## Why write a field from a flow

Because a custom field is readable everywhere else. Set an onboarding stage from an install flow, or record the GMV that crossed a threshold, and you can [segment](/segments) on it, [report](/report-builder) on it, show it on the store [profile](/profile-1), print it in an [email](/automation-variables), and read it from your app through the SDK.

## Deleted fields

If the field is deleted after you wire it in, the step is marked and the flow can't be activated until you pick another one.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.