Skip to main content

Custom Attribute Updated Trigger

Start a workflow when a custom attribute value changes on a booking, customer, resource, partner, or user.

Written by Jerome Bajou
Updated today

Overview

The Custom Attribute Updated trigger starts a workflow whenever a custom attribute value changes on a booking, customer, resource, partner, or user. It provides the entity, the attribute definition, and both the previous and new values — so you can automate responses to any data change.

When It Triggers

  • A custom attribute value is created or updated on any supported entity type

  • The trigger fires once per value change (one attribute, one entity)

  • Both the old and new values are captured at the moment of the change

Use Cases

  • Send a welcome email when a customer's "VIP Status" is set to "Yes"

  • Notify a manager when a booking's "Follow-up Status" changes to "Needs Review"

  • Update a CRM or external system when a partner's "Tier" changes

  • Log attribute changes for auditing purposes via a webhook

  • Automatically set related attributes when a specific value is selected

  • Send an SMS when a resource's "Availability Status" changes to "Unavailable"


Configuration

This trigger requires two configuration fields:

1. Model

Select which entity type to watch for attribute changes:

  • Booking

  • Customer

  • Partner

  • Resource

  • User

2. Attribute

After selecting a model, choose which specific custom attribute to monitor. The dropdown shows all custom attributes defined for the selected entity type in your business unit.

If no custom attributes exist for the selected model, a message will prompt you to create one first via the Attributes page.

Note: Each trigger instance watches one specific attribute on one entity type. To monitor multiple attributes, create separate workflows for each.


Available Data

When this trigger fires, it provides context data from the entity plus attribute-specific fields.

Custom Attribute Fields

Field

Description

custom_attribute_definition.id

ID of the attribute definition

custom_attribute_definition.name

Display name of the attribute (e.g. "VIP Status")

custom_attribute_definition.slug

Slug identifier (e.g. "vip-status")

custom_attribute_definition.type

Attribute type (text, number, select, status, etc.)

old_value

The previous value before the change (null if newly set)

new_value

The new value after the change

Entity Context

Depending on the model you selected, the trigger also includes the full entity context. For example:

  • Booking — all booking fields (booking.id, booking.status, booking.date, customer info, product info, etc.)

  • Customer — all customer fields (customer.id, customer.name, customer.email, customer.phone, etc.)

  • Partner — all partner fields (partner.id, partner.name, partner.email, etc.)

  • Resource — all resource fields (resource.id, resource.name, etc.)

  • User — all user fields (user.id, user.name, user.email, etc.)

These are the same context objects used by other triggers (e.g. Booking Confirmed, Customer Created), so you have access to all the same fields for conditions and actions.

Accessing Data in Workflows

{custom_attribute_definition.id}
{custom_attribute_definition.name}
{custom_attribute_definition.slug}
{custom_attribute_definition.type}
{old_value}
{new_value}
{customer.name}
{customer.email}
{booking.id}
{booking.status}


Example Workflows

1. VIP Welcome Email

Workflow Steps:

  1. Trigger: Custom Attribute Updated (Customer → "VIP Status")

  2. Condition: If {new_value} equals "Yes"

  3. Action (True): Send Notification — welcome email to {customer.email}

2. Follow-Up Status Alert

Workflow Steps:

  1. Trigger: Custom Attribute Updated (Booking → "Follow-up Status")

  2. Condition: If {new_value} equals "Needs Review"

  3. Action (True): Send Notification — alert the operations team

3. Sync Changes to External System

Workflow Steps:

  1. Trigger: Custom Attribute Updated (Customer → "Tier")

  2. Action: Send Webhook with {customer.id}, {new_value}, and {old_value} to your CRM endpoint

4. Auto-Tag Repeat Guests

Workflow Steps:

  1. Trigger: Custom Attribute Updated (Customer → "Visit Count")

  2. Condition: If {new_value} is greater than 2

  3. Action (True): Update Customer — set "Loyalty Tier" to "Repeat Guest"


Testing

When testing this trigger in the workflow editor:

  1. Select the entity type (must match the trigger configuration).

  2. Select the attribute definition to test with.

  3. Select a specific entity (e.g. a particular customer or booking) by ID.

  4. The workflow runs using the entity's current attribute value as both old and new value (simulated change).

Review the execution logs to verify that the context data (entity fields, attribute info, old/new values) appears as expected before activating the workflow.


Best Practices

  1. One attribute per workflow — each trigger watches a single attribute. Create separate workflows for different attributes to keep logic clean.

  2. Use conditions on new_value — filter on the new value to only act on meaningful changes (e.g. only when status changes to a specific option).

  3. Compare old and new — use both {old_value} and {new_value} in conditions to detect specific transitions (e.g. from "Pending" to "Approved").

  4. Combine with Update actions — pair this trigger with Update Customer or Update Booking to set related attributes automatically.

  5. Test before activating — always test with a real entity to confirm the context data matches your expectations.


Related Documentation

Did this answer your question?