Currently I have a process builder flow that is built to assign a task to the case owner when a case comment is added by someone other than the case owner. 90% of the time this works great, but when the case is owned by a queue rather than a user, my process builder breaks when attempting to assign the task, as it sees the queue id as an incorrect ID when expecting a user ID.

Given that this is a process builder and not an apex function, I am not sure if there is a good way to dynamically check each case and somehow differentiate between the owner being a queue vs the owner being a user. I had considered making another block on my process builder, one for assigning to user and one for assigning to queues, but I am not sure how to differentiate between them and I am also not sure if you can even assign a task to a queue at all.

Any help would be appreciated. I've posted a couple screenshots of the process builder below.



  • You cannot assign a Task to a Queue. How would you address such situation? Would you assign the Task to a generic User? – Jayant Das Feb 13 '19 at 15:19
  • I suppose if we cannot assign a task to a queue as I fear then we would probably like to give it to either the comment creator or just default user. – Frank Evers Feb 13 '19 at 15:21
  • I have added an approach which should help you to identify a queue vs. an owner. Based on that, you can then assign the Task to whomever you choose. Hope this helps. – Jayant Das Feb 13 '19 at 15:37

You cannot assign a Task to a Queue.

In your PB, if you can identify a Case that is still assigned to a Queue, then you can choose a different User altogether to whom the Task can be assigned. And this is what I understand is, you need a way to distinguish the owner type.

I have limited experience around Process Builder, but the below approach should help you to distinguish between the owner (queue vs. user) for a Case.

To identify an Owner if it's a Queue or an Owner, you can create a simple formula on your Case object and then utilize that formula in your PB to verify and take further steps accordingly. Your formula let's say is named as IsOwnerQueue which returns a type checkbox, the formula would be as:

Owner:Queue.DeveloperName = "<Your Queue Name>"

So if the Case is assigned to any Queue, this will always be true. And then in your PB, you could verify if the value of the field IsOwnerQueue is true, then assign the Task to another User.

You could use this field elsewhere if you need to verify the owner on the Case utilizing this field.

But, as David suggested in the comments, if you only need it on a PB, then you can utilize the condition to verify if Owner Id Starts with 500, thus signifying that the Owner is a User without the change on the Object.

  • 2
    That will work, but you can also just look at the OwnerId in Process Builder Criteria to see if it "Starts With '500'" (=> User) to avoid making data model changes. – David Reed Feb 13 '19 at 15:40
  • That's a better approach I would say. I just don't have much experience with PB, so didn't know if there's a way to identify it right there. – Jayant Das Feb 13 '19 at 15:43
  • I have added your comment as another option. – Jayant Das Feb 13 '19 at 15:45
  • 2
    Thanks guys this is super helpful and exactly the kinda thing I am looking for! – Frank Evers Feb 13 '19 at 15:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.