Whenever a Job is created in Cove, the Job needs to be added to a Queue. But what if you have multiple Queues - in which Queue should the Job end up? That's where routing comes in!

How Routing Works in Cove

When you first create your Cove account, it'll start with one default Queue, conveniently named "Default Queue". (You can see your Queues in the Queues Dashboard). All new Jobs will be automatically added to that default Queue.

Once you start adding other Queues, you'll need to decide which Jobs should be routed to your new Queues instead of going straight to the default Queue. The way you make those decisions is through Routing Rules. Routing Rules are pieces of logic that you configure in Cove's Routing Dashboard. They are very similar to Automated Rules, and in fact, the UI and data model is almost exactly the same, so if you're familiar with how Automated Rules work, then you're 90% of the way to understanding Routing Rules. If you're not familiar with Automated Rules, we strongly encourage you to read this page first, and then come back here and continue reading.

Waterfall Logic of Routing Rules

The core difference between Automated Rules and Routing Rules is that while Automated Rules are all executed in parallel, Routing Rules are executed in order. For example, let's say you have the following three Routing Rules:

  • Rule 1: "If the Item on this Job was reported by a user as Hate Speech, send this Job to the Hate Speech Queue"
  • Rule 2: "If the Item on this Job has Spanish text in it, send it to the Spanish Queue"
  • Rule 3: "Otherwise, send the Job to the Default Queue"

For every incoming Job, we'll run the Job through the following logic:

  • If the Job matched Rule 1's criteria, (i.e. the Item was indeed reported reported as Hate Speech), then we send the Job to the Hate Speech Queue, and we stop.
  • If the Job did not match Rule 1's criteria, then we move onto Rule 2.
  • We continue evaluating the rules in order, one at a time, until the Job matches a rule, at which point we send the Job off to the relevant Queue and stop evaluating the subsequent rules.
  • The very last Routing Rule in the list will always be "Otherwise, send the Job to the Default Queue", and you cannot edit/delete that rule. So no matter what, every Job will always end up in one of your Queues.