By: Bethany Avery & Pavan Nayini
Have you ever needed to grant a user permission to run just one particular queue in Blackbaud CRM™, without giving them access to all queues in the list? Contrary to what many assume after browsing the queue permissions, this is possible with just a few simple Page Designer steps.
Since the feature permissions for “running a queue” pertain to all queues, and cannot be partitioned one by one, the basic approach to this solution is to work around that fact by granting your user permission to run queues, but- rather than permissioning the standard datalist (which would, in turn, give them rights to all queues), you will configure a new task (named whatever you like) that points to the Recent Status page of just the queue you have in mind. For example:
This task will take the user, not to the full queue list you’d typically see when clicking on “Queue” in Administration, but instead the instance of the queue you have in mind.
So let’s break that down. To start, you’ll want to create a base system role to contain the basic Queue permissions. Typically this would include the “Business Process” feature which essentially allows someone to click start and run, and the View forms for the queues. Notably, this role should *not* include access to the main queue “task” (only the feature permissions), as the regular queue would in turn give them access to the full list. Here is a sample:
From there you need to create a new task that your user(s) will launch the standalone queue from, and add this to the system role created above.To start, navigate to and drill into the desired queue; at the very end of the URL for that queue you will see a “record ID.” Copy that value to your clipboard as shown below as you’ll need to paste it into your configuration momentarily:
To create the task go to Administration > Application > Shell Design >Tasks > Add. Enter the
basics such as the name of the task, icon to display, and which functional area. Then, to point the task to the single queue, enter the following in the “Page” section:
Page = Queue Process Page
Tab = Recent Status
ContextType = Expression
Expression = the Record ID of the queue you copied above
After saving the task, click “Refresh Shell Navigation” in the left-hand menu of Shell Design so that the new task becomes visible in the UI. You’re now 90% of the way there. All that’s left to do is add permissions! Simply go back to the System Role you created in Step 1, and on the “Tasks” tab of the role, add the task you just created. In my example I’d placed my task in the “Constituents” functional area, and named it “Customer Service Queue” which I find here:
With that, you are all set and can assign the new role to the appropriate users. It’s always a good idea to test running as their use to ensure it’s visible and completes as you expect before handing it over. For my users their task looks like this:
And takes them to this page:
With this simple configuration, you can rest easy that teams have access to only the queues required for their daily responsibilities, without overexposing the full queue functionality that is so critical to most organizations' database integrity. For any questions with this solution, please reach out to our team.