Actions

Usage

Actions are admin-designed sequential workflow operations triggered against individual collection entries. When an action is assigned to a collection, a trigger button appears per row in the entry list. Actions require a MongoDB connection (pro mode).

  1. Navigate to Data → Actions and click New Action.
  2. General tab — enter a title and select the target collection.
  3. Trigger tab — configure the button label, icon, and optional confirmation message.
  4. Steps tab — add steps in order. Each step runs sequentially; if one fails the action stops.
  5. Access tab — select which roles can trigger this action.
  6. Click Save Action. The button will appear on the collection's entry list.
Step What it does Config fields
updateField Set a field on the entry to a new value field, value
deleteEntry Permanently delete the entry None
moveToCollection Create the entry in a target collection then delete it from the source targetCollection
webhook HTTP request to an external URL url, method, body (JSON)
email Send an email via the configured SMTP transport to, subject, template

Step config fields support {{variable}} interpolation:

Variable Resolves to
{{entry.data.fieldName}} A field value from the current entry
{{entry.id}} The entry's ID
{{now}} Current timestamp (ISO 8601)
{{user.name}} Name of the user who triggered the action
{{user.email}} Email of the triggering user
{{env.CMS_PUBLIC_*}} Environment variables prefixed CMS_PUBLIC_ only

Example — approve an application and notify by email:

Step 1: updateField  field=status      value=approved
Step 2: updateField  field=approvedAt  value={{now}}
Step 3: email        to={{entry.data.email}}
                     subject=Your application has been approved
                     template=Congratulations {{entry.data.name}}, your application is approved.

Actions are not transactional. If a step fails, the action stops and returns the number of steps completed so far (stepsCompleted). Steps that already ran are not rolled back. Design step order with this in mind — put irreversible steps (delete, email) last.

If an action contains a deleteEntry step, subsequent steps will fail because the entry no longer exists. Place deleteEntry as the last step.