diff --git a/crates/manager-core/src/triggers_api.rs b/crates/manager-core/src/triggers_api.rs index ab7ee45..06816e6 100644 --- a/crates/manager-core/src/triggers_api.rs +++ b/crates/manager-core/src/triggers_api.rs @@ -1027,9 +1027,12 @@ mod tests { ) -> Result, TriggerRepoError> { let g = self.inner.lock().await; Ok(g.get(&trigger_id) - .filter(|t| t.kind == TriggerKind::Email) + // Mirror the production guard (`email_inbound_target` filters + // `AND t.app_id IS NOT NULL`): a group-owned email TEMPLATE is + // never a valid inbound target. + .filter(|t| t.kind == TriggerKind::Email && t.app_id.is_some()) .map(|t| EmailInboundTarget { - app_id: t.app_id.expect("email trigger is app-owned"), + app_id: t.app_id.expect("filtered to app-owned above"), script_id: t.script_id, enabled: t.enabled, dispatch_mode: t.dispatch_mode,