Skip to content

Managing Enrollments

An enrollment represents one subscriber's journey through an automation. Every time a trigger fires for a subscriber, a new enrollment is created. This page covers enrollment statuses, rules that control re-enrollment, and how to handle problems.

Enrollment Statuses

Each enrollment moves through a lifecycle:

Pending ──► Executing ──► Completed
                ├──► Failed     (something went wrong)
                ├──► Cancelled  (you stopped it manually)
                └──► Exited     (exit condition was met)
Status What It Means
Pending The enrollment has been created but hasn't started executing yet. The first action is scheduled and waiting for its turn.
Executing The automation is actively working through nodes for this subscriber. At least one action has run and more remain.
Completed All nodes executed successfully. The subscriber reached the end of the automation.
Failed A node encountered an error it couldn't recover from. The error_message field contains details about what went wrong.
Cancelled You (or the system) stopped the enrollment before it finished. All remaining scheduled nodes are skipped.
Exited An exit condition was met before the subscriber reached the end. The exit_reason field describes which condition triggered the exit.

Note

Pending and Executing are considered "active" statuses. Completed and Exited count toward enrollment history for rules like max_enrollments.

Enrollment Rules

Enrollment rules control how often a subscriber can go through the same automation. Configure these in the automation's settings.

No Concurrent Enrollments

This rule is always enforced — you don't need to configure it. A subscriber can only have one active (Pending or Executing) enrollment per automation at a time. If the trigger fires while they're already in the automation, the new enrollment is skipped.

Max Enrollments

Limits the total number of times a subscriber can complete the automation.

{
  "max_enrollments": 3
}

Once a subscriber has 3 completed or exited enrollments, they won't be enrolled again — even if the trigger fires. This is useful for automations you want subscribers to experience a limited number of times.

Cooldown Period

Prevents re-enrollment for a set amount of time after the subscriber's most recent enrollment finishes.

{
  "cooldown_seconds": 604800
}

The example above sets a 7-day cooldown (604,800 seconds). After a subscriber completes or exits the automation, they can't be re-enrolled until 7 days have passed. This prevents subscribers from being bombarded by frequently-triggered automations.

Tip

You can combine max_enrollments and cooldown_seconds. For example, allow up to 3 enrollments total, but with at least 30 days between each one.

Subscriber Status Checks

At execution time, MailJawn checks whether the subscriber is still active (not bounced, unsubscribed, or removed). If the subscriber is no longer active, the node is skipped and the enrollment is marked as completed — not failed. This prevents wasted sends and keeps your analytics clean.

Cancelling Enrollments

Single Enrollment

You can cancel an individual enrollment at any time. Cancelling:

  • Sets the enrollment status to Cancelled
  • Marks all remaining scheduled nodes as Skipped
  • Does not undo actions that already executed (emails already sent stay sent, tags already applied stay applied)

Bulk Cancel

If something goes wrong — a bad draft, a misconfigured automation — you can cancel all active enrollments for an automation at once. This is an emergency action that immediately stops all in-progress work.

Warning

Bulk cancel is not reversible. Cancelled enrollments cannot be resumed. If you need subscribers to go through the automation again, they'll need to be re-enrolled by the trigger firing again (subject to enrollment rules).

Auto-Cancellation

MailJawn automatically handles subscribers who should no longer receive emails:

  • Bounce — If a subscriber's email bounces, their status changes and subsequent automation nodes are skipped at execution time.
  • Unsubscribe — Same behavior. The enrollment completes gracefully rather than failing.

In both cases, the enrollment is marked Completed (not Failed or Cancelled) because the system handled it as expected. The subscriber simply wasn't eligible for the remaining steps.

Node Execution Audit Trail

Every node execution is recorded with its own status and timestamp. This gives you a detailed audit trail for each enrollment:

Field What It Shows
Node Which automation node was executed
Status Scheduled, Executing, Completed, Failed, or Skipped
Scheduled For When the node was scheduled to execute
Executed At When the node actually ran
Result Outcome data (e.g., email send confirmation)
Error Message Details if the node failed

This is especially useful for debugging. If a subscriber reports they didn't receive an email, you can check the audit trail to see whether the node executed, when it ran, and whether it succeeded.

Tip

If a node shows Skipped status, it means the enrollment was cancelled or the subscriber became inactive before that node's turn came.

What's Next