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

# Contact or Custom Field Changed

> Start a workflow when a contact or one of its custom fields is created, updated, or changes value.

## What is this?

**Contact or Custom Field Changed** fires when a contact is created, or when a field you select — a standard field or a [custom field](/workspace/contacts/custom-fields) — is set or its value changes. It's the trigger for reacting to data changes rather than messages, such as re-qualifying a lead the moment its `budget` field is filled in.

## How to use it

<Steps>
  <Step title="Create the custom field first">
    If you're watching a custom field, create it in [Custom Fields](/workspace/contacts/custom-fields) before you build the workflow — the trigger can only select fields that already exist.
  </Step>

  <Step title="Create the workflow">
    Go to **Automation → Create Automation**, choose the channel, and pick **Contact or Custom Field Changed** as the **Trigger Type**. See [Create a Workflow](/workspace/automation/create-a-workflow).
  </Step>

  <Step title="Select what to watch">
    Choose the contact event or the specific field. Narrowing to one field avoids firing on unrelated changes.
  </Step>

  <Step title="Add the follow-up steps">
    Update a label, notify a teammate, start a sequence, or send a message using the new value as a variable.
  </Step>

  <Step title="Test, then activate">
    Change the field on a test contact, confirm the flow fires, then activate — see [Manage Live Flows](/workspace/automation/manage-live-flows).
  </Step>
</Steps>

| Goal                              | Setup                                                                |
| --------------------------------- | -------------------------------------------------------------------- |
| Tag contacts when a field changes | Trigger on `requirement`. Step: **Update Label** to add *Qualified*. |

### Tips

* **Watch one field, not "any field."** A broad trigger fires on changes you don't care about and makes debugging harder.
* **Order matters.** If another automation sets the field, make sure that flow runs — and finishes — before this one needs the value.

## Troubleshooting / Technical Notes

* **It fires too often.** You're likely watching a field that changes for unrelated reasons — pick a more specific field, or add a **Condition Logic** step to filter.
* **It doesn't fire.** Confirm the field name matches exactly, and that the change happened through a path the platform tracks (an ask step, an import, an API update).
* **A message shows the old value.** The step reading the value ran before the field was actually set — check the order of steps.

## Related docs

* [Triggers](/workspace/automation/triggers/overview)
* [Custom Fields](/workspace/contacts/custom-fields)
* [Create a Workflow](/workspace/automation/create-a-workflow)
* [Manage Live Flows](/workspace/automation/manage-live-flows)
