Hi @Suleyman_Eleman,
In platform 7, this can be achieved by implementing a generic task listener on create event in which a check for assignee’s status is done so in case he/she is out of office and he/she has a replacement then assignee value can be set to the replacement’s user.
For already created tasks, reassignment can be done programmatically