Hi, Has anyone created a solution that allows for delegation of tasks?

Hi,
Has anyone created a solution that allows for delegation of tasks?
For instance, a user can specify a start and end date and a user and then any tasks during that period that is assigned to this user will go to the delegated user.

Thanks

OriginalPostID-157995

OriginalPostID-157995

  Discussion posts and replies are publicly visible

  • We use an out-of-office process. Where the dates and designate is recorded in a table. Then you use a query before the task is assigned to check to see if the person is away, if they are then assign the task to that person. If you want sample code I can send. :)
  • Yes, we've created similar functionality in past using Appian System Task Report, Process Analytics Smart Service available out of the box and Task Reassignment Smart Service plug-in. We created an Appian System task report listing tasks assigned to a user context and a task assignment date column. We then used the process analytics smart service to run this system report with user context whose tasks were to be delegated with additional filter criteria such as task assignment date between start date and end date to get all relenant task ids. The task reassignment smart service was then used to reassign tasks with these task ids to a different user.
  • I did something like this once. I created a delegate table which the user could update via an Action. This would allow the user to manage their delegate(s). Then on the UI tasks we were allowing the user to delegate, I wrote an expression that queried the delegate table. If any entries were found for the original assignee, it assigned the task to those delegates in addition to the original assignee. Would that work for your case? I don't know of any out of the box capability which would be better.
  • Out of my experience and to add to other valuable suggestions, I would like to put forward few suggestions from the areas (so far I remember) where the chances of reassignment of tasks to the user (who has set his status to unavailable) occur :

    1. What if the task is assigned using OOTB functionality 'Reassign Task' available in the left hand pane? For instance let's say an user has updated his availability status and alternate assignees. But if a reassignment is made by an other User in the system (to the user who has set his status to Unavailable) in the places where 'Reassign Task' is available in the left hand pane, I guess we don't have a control over this feature, neither in case of picker list nor in case of assignment(i.e. we can't capture the reassignment event and take an action accordingly). So still some tasks can be seen in the user's task list who has set his status to unavailable by using the Actions built by us.
    Solution: A batch process against the unavailable users to check if they have tasks could be one of the solutions.
    2. What if the task is assigned using OOTB functionality 'Reassign' available in the portal report? I guess we don't have a control over this feature, neither in case of picker list nor in case of assignment(i.e. we can't capture the reassignment event and take an action accordingly). Users who work on the Production support/ or the Super Users who takes care of the task delegations should have a knowledge that they should check the objects which lets them know about a User's status so that task reassignment is made carefully. Else this may lead to the tasks being assigned to the user irrespective of the status set by him.
    Solution: Probably by educating the User about the entities that stores availability of the User or forcing the Users to work on a common SAIL interface which excludes the unavailable users in the pick list and thereby assigns the tasks to right person.
    3. What about an user interface (SAIL interface (Tempo Tasks, Tempo Reports, Task Reports, Record Dashboards) or task forms) that re-assigns the tasks by using the Users available in the pickers? I guess we need to implement a platform level check in these cases so that the the User picker component excludes the users by making necessary checks against the objects that stores the availability status of the Users.
    Solution: By implementing a check which is carried across the platform in case of User pickers
  • michaelm410, yes that would fit our needs. In your assignments, were you using just individuals or did you use groups as well?
  • We only did this with individuals, but I'm sure you could alter it to work with groups.

    mjmallet's description above sounds like it works pretty similarly to ours. I like the idea of adding a date range if it makes sense for your case.
  • mjmallet - Sure,if you don't mind, I would appreciate seeing some sample code. Thanks.