Skip to content

When a user is updated

Sends a notification when an existing User is saved. Covers profile edits, password changes, group reassignment, and any programmatic re-save of an existing User.

Activation is a separate trigger, the two notifications never fire together for the same save (see "When a user is activated").

User Group Filters

Choose which user groups should fire this notification. Only users belonging to one of the selected groups will trigger it, and a user in multiple selected groups still receives only a single notification.

Ungrouped Users are users who belong to no group at all.

Selection is required

Check at least one group (or Ungrouped), or the notification won't fire.

Hidden if no groups exist

If no user groups are set up, this filter is skipped and every valid user will receive the notification.

Field Conditions

Field conditions restrict the notification based on the element's content, using Craft's native conditions framework. Build a rule set against the element's attributes and field values, and the notification will be sent only when every rule matches.

Must match all conditions

The condition builder evaluates every rule with AND semantics, so each rule must pass for the notification to be sent.

The "has changed" operator

Field rules now include an additional "has changed" operator, alongside the existing standard options.

When the element is saved, the "has changed" operator checks whether the field's value has changed during the save, (regardless of what the new value is). The notification will only be sent when the specified field's value has changed.

Twig variables

The object variable (and its user alias) is the updated User. The pre-save copy is available as original, which is useful for change-detection.

twig
{{ user.fullName }}'s profile was just updated.

Examples

Notify the user when their own profile changes

twig
Hi {{ user.firstName }},

Your account details were just updated.

If you didn't make this change, please contact support.

Alert admins when a group assignment changes

twig
{% set oldGroups = original.groups|map(g => g.handle) %}
{% set newGroups = user.groups|map(g => g.handle) %}

{% if oldGroups == newGroups %}
    {% skipMessage "Group assignment unchanged." %}
{% endif %}

{{ user.fullName }}'s groups changed:

- Before: {{ oldGroups|join(', ') ?: 'none' }}
- After: {{ newGroups|join(', ') ?: 'none' }}

Highlight email address changes

twig
{% if user.email == original.email %}
    {% skipMessage "Email address unchanged." %}
{% endif %}

Security notice: {{ user.fullName }}'s email address just changed.

- Before: {{ original.email }}
- After: {{ user.email }}