@Bean
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        @ConditionalOnMissingBean(name = "slackNotificationSender")
        public NotificationSender slackNotificationSender(
            final ConfigurableApplicationContext applicationContext,
            final CasConfigurationProperties casProperties) {
            return BeanSupplier.of(NotificationSender.class)
                .when(CONDITION.given(applicationContext.getEnvironment()))
                .supply(() -> new SlackNotificationSender(casProperties.getSlackMessaging()))
                .otherwise(NotificationSender::noOp)
                .get();
        }
This is {@link CasSlackMessagingAutoConfiguration}.

@author Misagh Moayyed
@since 6.3.0
support/cas-server-support-notifications-slack/src/main/java/org/apereo/cas/config/CasSlackMessagingAutoConfiguration.java