After our recent teamsite/opendeploy/livesite upgrade to 7.2.1 (which was horrible to do, but that's besides the point) our workflows stop deploying.
This seems to be because the user executing the workflow doesn't have any rights to use us Open Deploy. If an user is an od-admin or od-user (with the right deployment group) in OD it will work fine. that could work but adding every TS user to OD is a pain in the arsch. So isn't a option.

Making owner of the workflow deploy task a default OD user/admin will work as well. However that way we won't (easily) be able to see who did the deployment and kick that persons'**** if there's a mistake.

So what do we want? To give the deployment rights to a group (and/or role) and add users to that group. The same way as other rights work (or another way) to give all current and future TeamSite users the rights for OD. Can anyone point me in the right direction?

The error when an user doesn't have deploy rights:
2011-06-28 15:50:32,188 [http-0.0.0.0-8080-49] ERROR com.interwoven.ui.teamsite.workflow.task.URLExternalTaskCommand () - Exception when excuting URL external task com.interwoven.ui.teamsite.workflow.task.urltask.DeployURLExternalTask
java.lang.NullPointerException
at com.interwoven.cssdk.sci.workflow.WorkflowServiceSciImpl.chooseTransition(WorkflowServiceSciImpl.java:632)
at com.interwoven.cssdk.workflow.java.WorkflowServiceAdapterImpl.chooseTransition(WorkflowServiceAdapterImpl.java:68)
at com.interwoven.cssdk.workflow.impl.CSTransitionableTaskImpl.chooseTransition(CSTransitionableTaskImpl.java:34)
at com.interwoven.ui.teamsite.workflow.task.urltask.DeployURLExternalTask.startDeployment(DeployURLExternalTask.java:257)
at com.interwoven.ui.teamsite.workflow.task.urltask.DeployURLExternalTask.execute(DeployURLExternalTask.java:133)
at com.interwoven.ui.teamsite.workflow.task.URLExternalTaskCommand.execute(URLExternalTaskCommand.java:109)
at com.interwoven.ui.base.impl.command.CommandHandler.doExecuteCommand(CommandHandler.java:915)
at com.interwoven.ui.base.impl.command.CommandHandler.tryRunCommandDescriptor(CommandHandler.java:748)
at com.interwoven.ui.base.impl.command.CommandHandler.tryRunForward(CommandHandler.java:645)
at com.interwoven.ui.base.impl.command.CommandHandler.tryRunCommandID(CommandHandler.java:589)
at com.interwoven.ui.base.impl.command.CommandHandler.runCommandLoop(CommandHandler.java:228)
at com.interwoven.ui.base.impl.command.CommandServlet.doGet(CommandServlet.java:163)
at com.interwoven.ui.base.impl.command.CommandServlet.doPost(CommandServlet.java:263)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:654)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:445)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:379)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:292)
at com.interwoven.ui.base.impl.command.CommandServletMapper.doGet(CommandServletMapper.java:90)
at com.interwoven.ui.base.impl.command.CommandServletMapper.doPost(CommandServletMapper.java:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.interwoven.ui.base.impl.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:203)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.interwoven.ui.base.util.SetRequestEncodingFilter.doFilter(SetRequestEncodingFilter.java:106)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)