diff --git a/src/lib-sieve/cmd-discard.c b/src/lib-sieve/cmd-discard.c
index 847550e4a74a28691298df21c08563b7a5fd4cb5..9c59e581dc221ab8853e542c23cb32b9a0413790 100644
--- a/src/lib-sieve/cmd-discard.c
+++ b/src/lib-sieve/cmd-discard.c
@@ -161,9 +161,7 @@ act_discard_commit(const struct sieve_action_exec_env *aenv,
 
 	eenv->exec_status->significant_action_executed = TRUE;
 
-	struct event_passthrough *e =
-		event_create_passthrough(aenv->event)->
-		set_name("sieve_action_discard");
+	struct event_passthrough *e = sieve_action_create_finish_event(aenv);
 
 	sieve_result_event_log(aenv, e->event(),
 		"Marked message to be discarded if not explicitly delivered "
diff --git a/src/lib-sieve/cmd-redirect.c b/src/lib-sieve/cmd-redirect.c
index 5ce0e31053b8098185fe932a191263140e78ceb1..efe50408613bc52f8c4dbc0df0ab89c9dfc773ba 100644
--- a/src/lib-sieve/cmd-redirect.c
+++ b/src/lib-sieve/cmd-redirect.c
@@ -587,8 +587,7 @@ act_redirect_commit(const struct sieve_action_exec_env *aenv,
 		eenv->exec_status->significant_action_executed = TRUE;
 
 		struct event_passthrough *e =
-			event_create_passthrough(aenv->event)->
-			set_name("sieve_action_redirect")->
+			sieve_action_create_finish_event(aenv)->
 			add_str("sieve_redirect_target",
 				smtp_address_encode(ctx->to_address));
 
diff --git a/src/lib-sieve/ext-reject.c b/src/lib-sieve/ext-reject.c
index 268d7913991cd711110cbe1ba9e9b682e82f1b84..527541e54a8e31c6b263e82c96d32ecb69b2103b 100644
--- a/src/lib-sieve/ext-reject.c
+++ b/src/lib-sieve/ext-reject.c
@@ -547,9 +547,7 @@ act_reject_commit(const struct sieve_action_exec_env *aenv,
 
 	eenv->exec_status->significant_action_executed = TRUE;
 
-	struct event_passthrough *e =
-		event_create_passthrough(aenv->event)->
-		set_name("sieve_action_reject");
+	struct event_passthrough *e = sieve_action_create_finish_event(aenv);
 
 	sieve_result_event_log(aenv, e->event(),
 			       "rejected message from <%s> (%s)",
diff --git a/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c b/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c
index 1d9e3c2d0f03858ccd432859a1184fde638ef613..17648a0aa6e960cef6014aaa4c9e650ca8b6967f 100644
--- a/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c
+++ b/src/lib-sieve/plugins/enotify/mailto/ntfy-mailto.c
@@ -719,8 +719,7 @@ static int ntfy_mailto_send
 		}
 	} else {
 		struct event_passthrough *e =
-			event_create_passthrough(nenv->event)->
-			set_name("sieve_action_notify")->
+			sieve_enotify_create_finish_event(nenv)->
 			add_str("sieve_notify_target", str_c(all));
 
 		sieve_enotify_event_log(nenv, e->event(),
diff --git a/src/lib-sieve/plugins/notify/cmd-notify.c b/src/lib-sieve/plugins/notify/cmd-notify.c
index 2f58b95a2f4dc6eb835d6ce95d17694724044e2c..7c820d634e445d471327f9e77915ca2c951e24ef 100644
--- a/src/lib-sieve/plugins/notify/cmd-notify.c
+++ b/src/lib-sieve/plugins/notify/cmd-notify.c
@@ -836,8 +836,7 @@ act_notify_send(const struct sieve_action_exec_env *aenv,
 		}
 	} else {
 		struct event_passthrough *e =
-			event_create_passthrough(aenv->event)->
-			set_name("sieve_action_notify")->
+			sieve_action_create_finish_event(aenv)->
 			add_str("sieve_notify_target", str_c(all));
 
 		sieve_result_event_log(aenv, e->event(),
diff --git a/src/lib-sieve/plugins/vacation/cmd-vacation.c b/src/lib-sieve/plugins/vacation/cmd-vacation.c
index a31d756395005b12af02853394067c35343c723e..414f6f132a0f31d46558e44b8d3ff1e08eacc66a 100644
--- a/src/lib-sieve/plugins/vacation/cmd-vacation.c
+++ b/src/lib-sieve/plugins/vacation/cmd-vacation.c
@@ -1520,8 +1520,7 @@ act_vacation_commit(const struct sieve_action_exec_env *aenv,
 		eenv->exec_status->significant_action_executed = TRUE;
 
 		struct event_passthrough *e =
-			event_create_passthrough(aenv->event)->
-			set_name("sieve_action_vacation");
+			sieve_action_create_finish_event(aenv);
 
 		sieve_result_event_log(aenv, e->event(),
 				       "sent vacation response to <%s>",
diff --git a/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c b/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c
index 09cd1cbbd8027d77f52b52d8718f66a498139e62..e950307e6c6719af9c6bab9798d51bc1346df645 100644
--- a/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c
+++ b/src/lib-sieve/plugins/vnd.dovecot/report/cmd-report.c
@@ -654,8 +654,7 @@ act_report_send(const struct sieve_action_exec_env *aenv,
 		eenv->exec_status->significant_action_executed = TRUE;
 
 		struct event_passthrough *e =
-			event_create_passthrough(aenv->event)->
-			set_name("sieve_action_report")->
+			sieve_action_create_finish_event(aenv)->
 			add_str("sieve_report_target",
 				smtp_address_encode(act->to_address))->
 			add_str("sieve_report_type",
diff --git a/src/lib-sieve/sieve-actions.c b/src/lib-sieve/sieve-actions.c
index a2eafc8047c21f32ee7b6a3ef4b1683016f67db7..28f8d6935396968f6c0f3e26cb4d55a7a84a13c3 100644
--- a/src/lib-sieve/sieve-actions.c
+++ b/src/lib-sieve/sieve-actions.c
@@ -728,8 +728,7 @@ act_store_log_status(struct act_store_transaction *trans,
 	/* Succeeded */
 	} else {
 		struct event_passthrough *e =
-			event_create_passthrough(aenv->event)->
-			set_name("sieve_action_fileinto")->
+			sieve_action_create_finish_event(aenv)->
 			add_str("sieve_fileinto_mailbox", mailbox_name);
 		sieve_result_event_log(aenv, e->event(),
 				       "stored mail into mailbox %s",
diff --git a/src/plugins/sieve-extprograms/cmd-pipe.c b/src/plugins/sieve-extprograms/cmd-pipe.c
index bac37af3527831a417bf1f4637c2e7e0a28cf959..0adbef8977ad8cfbe54aac3d96fbe834234e3b49 100644
--- a/src/plugins/sieve-extprograms/cmd-pipe.c
+++ b/src/plugins/sieve-extprograms/cmd-pipe.c
@@ -361,8 +361,7 @@ act_pipe_commit(const struct sieve_action_exec_env *aenv,
 
 	if (ret > 0) {
 		struct event_passthrough *e =
-			event_create_passthrough(aenv->event)->
-			set_name("sieve_action_pipe")->
+			sieve_action_create_finish_event(aenv)->
 			add_str("sieve_pipe_program",
 				str_sanitize(act->program_name, 256));