Thank for the Role info. I was able to set that up. I gave the Role entitlements to do approvals through the workflow (step #1) per this ref: http://syncope.apache.org/docs/reference-guide.html#approval.
I have a group defined and that group is in the candidateGroups in the user approval step per step #2. I get an error related to the alerts widget when the user assigned to this role tries to log into the admin console. Is candidateGroups looking at syncope groups or somewhere else? The admin user can log in without any errors. I do not have any users pending approval. I'm using Apache Syncope version 2.1.1. The error is: 13:49:03.548 ERROR org.apache.syncope.client.console.SyncopeConsoleRequestCycleListener - Exception found org.apache.wicket.WicketRuntimeException: An error occurred while getting the model object for Component: [Component id = alerts, page = org.apache.syncope.client.console.pages.Dashboard, path = body:approvalsWidget:alerts, type = org.apache.wicket.markup.html.basic.Label, isVisible = true, isVersioned = true, markup = [markup = jar:file:/Users/crowderp/apache-tomcat-9.0.10/webapps/syncope-console/WEB-INF/lib/syncope-client-console-2.1.1.jar!/org/apache/syncope/client/console/widgets/AlertWidget.html , index = 0, current = '' (line 0, column 0)]] at org.apache.wicket.Component.getDefaultModelObject(Component.java:1581) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.syncope.client.console.widgets.AlertWidget$3.onComponentTag(AlertWidget.java:86) ~[syncope-client-console-2.1.1.jar:2.1.1] at org.apache.wicket.Component.internalRenderComponent(Component.java:2428) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.markup.html.WebComponent.onRender(WebComponent.java:60) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.internalRender(Component.java:2287) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.render(Component.java:2218) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1453) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1653) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1628) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.renderAssociatedMarkup(MarkupContainer.java:797) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.markup.html.panel.AssociatedMarkupSourcingStrategy.renderAssociatedMarkup(AssociatedMarkupSourcingStrategy.java:77) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.markup.html.panel.PanelMarkupSourcingStrategy.onComponentTagBody(PanelMarkupSourcingStrategy.java:112) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.internalRenderComponent(Component.java:2487) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1592) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.internalRender(Component.java:2287) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.render(Component.java:2218) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1453) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1653) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.renderComponentTagBody(MarkupContainer.java:1628) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.onComponentTagBody(MarkupContainer.java:1586) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.markup.html.panel.DefaultMarkupSourcingStrategy.onComponentTagBody(DefaultMarkupSourcingStrategy.java:70) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.internalRenderComponent(Component.java:2487) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1592) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.internalRender(Component.java:2287) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.render(Component.java:2218) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1453) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1653) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Page.onRender(Page.java:858) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:126) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.internalRender(Component.java:2287) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.render(Component.java:2218) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Page.renderPage(Page.java:998) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:124) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:236) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) ~[wicket-request-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.protocol.ws.AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70) ~[wicket-native-websocket-core-8.0.0.jar:8.0.0] at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[catalina.jar:9.0.10] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[catalina.jar:9.0.10] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) ~[catalina.jar:9.0.10] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) ~[catalina.jar:9.0.10] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:491) ~[catalina.jar:9.0.10] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) ~[catalina.jar:9.0.10] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) ~[catalina.jar:9.0.10] at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668) ~[catalina.jar:9.0.10] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) ~[catalina.jar:9.0.10] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) ~[catalina.jar:9.0.10] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) ~[tomcat-coyote.jar:9.0.10] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) ~[tomcat-coyote.jar:9.0.10] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764) ~[tomcat-coyote.jar:9.0.10] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388) ~[tomcat-coyote.jar:9.0.10] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) ~[tomcat-coyote.jar:9.0.10] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:1.8.0_131] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:1.8.0_131] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) ~[tomcat-util.jar:9.0.10] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_131] Caused by: org.apache.syncope.common.lib.SyncopeClientException: Workflow [Currently unavailable. Please try later.] at org.apache.syncope.common.lib.SyncopeClientException.build(SyncopeClientException.java:37) ~[syncope-common-lib-2.1.1.jar:2.1.1] at org.apache.syncope.client.lib.RestClientExceptionMapper.checkSyncopeClientCompositeException(RestClientExceptionMapper.java:143) ~[syncope-client-lib-2.1.1.jar:2.1.1] at org.apache.syncope.client.lib.RestClientExceptionMapper.fromResponse(RestClientExceptionMapper.java:53) ~[syncope-client-lib-2.1.1.jar:2.1.1] at org.apache.syncope.client.lib.RestClientExceptionMapper.fromResponse(RestClientExceptionMapper.java:42) ~[syncope-client-lib-2.1.1.jar:2.1.1] at org.apache.cxf.jaxrs.client.ClientProxyImpl.checkResponse(ClientProxyImpl.java:315) ~[cxf-rt-rs-client-3.2.6.jar:3.2.6] at org.apache.cxf.jaxrs.client.ClientProxyImpl.handleResponse(ClientProxyImpl.java:880) ~[cxf-rt-rs-client-3.2.6.jar:3.2.6] at org.apache.cxf.jaxrs.client.ClientProxyImpl.doChainedInvocation(ClientProxyImpl.java:786) ~[cxf-rt-rs-client-3.2.6.jar:3.2.6] at org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:238) ~[cxf-rt-rs-client-3.2.6.jar:3.2.6] at com.sun.proxy.$Proxy1425.getForms(Unknown Source) ~[?:?] at org.apache.syncope.client.console.rest.UserWorkflowRestClient.countForms(UserWorkflowRestClient.java:34) ~[syncope-client-console-2.1.1.jar:2.1.1] at org.apache.syncope.client.console.widgets.ApprovalsWidget.getLatestAlertsSize(ApprovalsWidget.java:90) ~[syncope-client-console-2.1.1.jar:2.1.1] at org.apache.syncope.client.console.widgets.AlertWidget$1.load(AlertWidget.java:62) ~[syncope-client-console-2.1.1.jar:2.1.1] at org.apache.syncope.client.console.widgets.AlertWidget$1.load(AlertWidget.java:56) ~[syncope-client-console-2.1.1.jar:2.1.1] at org.apache.wicket.model.LoadableDetachableModel.getObject(LoadableDetachableModel.java:126) ~[wicket-core-8.0.0.jar:8.0.0] at org.apache.wicket.Component.getDefaultModelObject(Component.java:1574) ~[wicket-core-8.0.0.jar:8.0.0] ... 61 more -- Sent from: http://syncope-user.1051894.n5.nabble.com/