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).
- Navigate to Data → Actions and click New Action.
- General tab — enter a title and select the target collection.
- Trigger tab — configure the button label, icon, and optional confirmation message.
- Steps tab — add steps in order. Each step runs sequentially; if one fails the action stops.
- Access tab — select which roles can trigger this action.
- 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.