Developing an Automatic Scheduling script

I know this is really common for scheduling employees, but I’m looking to auto-schedule tasks based off:

  1. deadlines
  2. priority values on tasks
  3. available time
  4. fixed time blocks

I consider myself quite familiar with python, but not so much in javascript. I’m interested to hear if anyone else would find this useful or if anyone else has written scripts for this purpose?


Can you provide a bit more detail about what you’re trying to achieve.
What does auto-scheduling a task mean to you?
Does it mean that you want to create a new task with a due date calculated based on the parameters listed?
Or do you mean that you want to prioritise/sort tasks based on some formula function that uses these parameters?

I imagine you can possibly achieve it without any javascript, but it rather depends on your objective(s)

I think it can be a versatile feature. I’m not thinking about it in as much as due dates, but as shifts or time blocks dedicated to the task, whether the task has a due date or not. So in that sense it can have a wide range of uses. More specifically for me however I’m just looking to block time to work towards projects, but some are higher priority than others and some need to be finished before others. Each time block is a set amount of time (say 1.5 hours) and are repeated as many times until the project is labeled finished. The script would at that point update to replace all future-created time blocks for the now finished project with other project time blocks.

So your two questions are related. Tasks need to be sorted by something (due dates, priority, or both) else they would be time blocked randomly. I already have formulas for calculating priority based on due dates, so this is a little beyond that.

Is it right that you would predefine the available time slots, e.g. 9-10.30, 10.30-12, 13-14.30, 14.30-16 for Monday to Friday?
If not, how should Fibery know what time slots are available?

Once all slots are defined, a Task would be assigned to all future slots until it’s completed? At which point, the next highest priority Task would be assigned to all future slots, and so on?

If I have understood it, I’m not sure where the value comes. It sounds like you just need to know which Task should be worked on until further notice (i e. until it’s flagged as completed).

Perhaps you need to know how many hours in total were worked on a Task?