Skip to content

Draft: Document the "Change contact's stage" Point Trigger event - #918

Draft
promptless-for-oss wants to merge 2 commits into
mautic:7.2from
Promptless:promptless/pr-17041-change-stage-point-trigger
Draft

Draft: Document the "Change contact's stage" Point Trigger event#918
promptless-for-oss wants to merge 2 commits into
mautic:7.2from
Promptless:promptless/pr-17041-change-stage-point-trigger

Conversation

@promptless-for-oss

Copy link
Copy Markdown
Contributor

Open in Promptless

Mautic 7 adds a new Point Trigger event, 'Change contact's stage', which lets you move a Contact to a Stage — or clear their current Stage — when the Contact reaches a Point Trigger's minimum Point total, without needing a Campaign.

This documents the new event on the Points page under Contact triggers (how to select an activated Stage or 'Remove existing stage', the forward-only weight rule, the no-op when the Contact is already in the selected Stage, and the 'Stage changed' timeline entry). It also corrects the Stages page, which previously stated that moving Contacts between Stages requires a Campaign action, and now cross-links the two pages.

Source: mautic/mautic PR #17041.

Trigger Events

promptless Bot added 2 commits August 11, 2026 01:25
Add the new 'Change contact's stage' Point Trigger event to the Points
page under Contact triggers, and correct the Stages page which stated
that moving Contacts between Stages requires a Campaign action.

Documents mautic/mautic PR #17041.
Comment thread docs/points/points.rst
.. image:: images/modify_contacts_tags.png
:alt: Screenshot of Modify Contact's Tags

**Change contact's stage** - Move the Contact to a Stage you select when the trigger fires. Choose an activated Stage to move the Contact into, or choose **Remove existing stage** to clear the Contact's current Stage. A Contact can only move forward. Mautic won't move a Contact to a Stage with a lower weight than their current Stage, and if the Contact is already in the selected Stage, nothing changes. Mautic records a 'Stage changed' entry on the Contact's timeline. For more information on Stages and weights, see :ref:`moving contacts between stages`.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verifies the new "Change contact's stage" Point Trigger event: label text ("Change contact's stage") and group ("Contact triggers") come from existing mautic.lead.lead.events.changestage / mautic.lead.point.trigger translation keys, now registered by PointSubscriber::onTriggerBuild for event type lead.changestage. The Stage dropdown offers published/user-owned Stages (StageModel::getUserStages -> StageRepository::getStages filters isPublished=true) plus a "Remove existing stage" option (0) added via new translation key mautic.lead.stage.remove="Remove existing stage". LeadModel::changeStage enforces forward-only movement (throws mautic.stage.campaign.event.stage_invalid when current weight > target weight) and no-ops/fails silently when already in the selected stage (mautic.stage.campaign.event.already_in_stage), and both add/remove paths write a stageChangeLogEntry audit record (type label "Stage changed", mautic.stage.event.changed) to the Contact's timeline.

Source: mautic/mautic#17041

Comment thread docs/stages/stages.rst
.. vale on

Moving Contacts between Stages requires a Campaign action.
You can move Contacts between Stages with a Campaign action or with a Point Trigger. A Point Trigger's **Change contact's stage** event moves a Contact to the Stage you choose once they reach the trigger's minimum Point total. For more information, see :ref:`contact triggers`. To move Contacts with a Campaign action:

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verifies that a Point Trigger's "Change contact's stage" event is now a valid alternative to a Campaign action for moving Contacts between Stages: PointSubscriber registers a new lead.changestage trigger event that calls LeadModel::changeStage, the same centralized method now also used by the Campaign Stage-change action (StageBundle CampaignSubscriber::changeStage), so both paths share identical weight/duplicate-stage validation and audit logging.

Source: mautic/mautic#17041

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant