Trying to come up with a task priority system - has anyone accomplished this?

I’m trying to implement task priorities that clients could set, but those priorities should have a gradual system - as an example:

There are 4 tasks created, and each of them assigns “priority 1”, “priority 2”, “priority 3”, and “priority 4”.

When the client changes the priority of a task from “priority 3” to “priority 1”. I need the task that was previously assigned with “priority 1” automatically either change move to “priority 2” or switch places with “priority 3”.

Any thoughts on how I can automate this?

Have you checked out the application template called “Project Management”? In there you’ll find an example of how to manage prioritized tasks. The template does not sort tasks by priority out of the box, but if you wanted to do that, you could configure the sort. For example, on the my-tasks page, you could set the sort to Priority // A-Z:

You would also need to rename the priorities from High/Medium/Low to 1/2/3 or something else where an alphabetical sort of the names will function as a sort of the priorities.

1 Like

@dcoletta, thanks for the suggestion. That’s pretty much what I have implemented so far. But, still trying to figure out how to achieve excluding priority value. Meaning the user/client can not have two or more tasks in the queue.

Sorry, not quite understanding. What does “can not have two or more tasks in the queue” mean?

@dcoletta Sorry for vague description, I’ll try to make it clear with example:

I’m building a client portal, where tasks would be executed according to their priority.

The client will assign priorities to his tasks to designate the execution queue.

The task priority should be unique and shouldn’t overlap (doubling).

Example:

Priority values are: “1st in queue”, “2nd in queue”, “3rd in queue”, and “4th in queue”

Three tasks in the pipeline:
Task_X has priority “1st in queue”
Task_Y has priority “2nd in queue”
Task_Z has priority “3rd in queue”

A client created Task_AAA and prioritized it to “2nd in queue”

The new tasks order would look following:

Task_X has priority “1st in queue”
Task_AAA has priority “2nd in queue”
Task_Y has priority “3rd in queue”
Task_Z has priority “4th in queue”

OK, I think I see what you’re saying. I got confused because of the word “priority.”

If I am understanding correctly, what you want is to display a list of tasks, and for each task you want to display an ordinal number. So when you have tasks 1, 2, 3, and 4, and task 1 gets completed, the tasks that were 2, 3, and 4 will become 1, 2, and 3.

In any case, I think it’s going to cause all kinds of trouble to try to display the tasks numbered from 1 to n. If there’s any way you can avoid this requirement, it’ll be better.

But if you absolutely have to display the tasks with ordinal numbers, then I’d still try to avoid storing those numbers in Airtable, where you’ll have to renumber them with some sort of automation when records are modified or deleted.

Are these numbers what you actually are using internally in Airtable to sort the list of tasks? Or do you have some other internal representation of ordering?

You understood the concept correctly. Here is some more info on my project, maybe it will give a better understanding of what and why I’m trying to achieve:

I’m building a client portal where Clients can assign tasks to Performers.

The client can submit only one task in work at a time but can create as many tasks as needed.

To avoid a need for manual work, I need to implement this (in queue) function so that the Performer knows which task to take in work and the client understands in what order the tasks will be performed and can manage the order.

Yes, they used to sort tasks in both Airtable and the client portal. Currently, they are set manually in Airtable and displayed in the list view in the client portal.

Thank you for trying to help me with this!


Is the priority of a task determined only by when it was created? Or is it possible to create new tasks that are higher priority than previous tasks? And is it possible to re-order the tasks?

Currently, every new task will be manually assigned priority. Users will have the ability to re-order tasks.

Now, I’m trying to find a formula to assign every new task priority “in-queue+1”.

The next step would be - to solve the problem of having all the tasks in one table in Airtable. Because, even after I find this formula “in-queue+1”, it would create an order for all tasks, including those created by other users.