Hello Team,
I have a requirement to take action when an action center form task action has not been taken past certain working time range (i.e. shift time). I was planning to put an entry in the queue and use the DueDate field to populate the DueDate post some calculations (i.e. add x hours if falls during the working time range else move it to next day time).
I was planning to use the integration service custom connector to get the queueitems that are past the DueDate and create a trigger using it to invoke an automation based on it. I was able to create the custom connector using the /odata/QueueItems API but when I use the filter criteria of DueDate gt now() , it will not result any records. I wanted to trigger my automation when the item is past the DueDate ( which is effectively when I get no records ) . Can I have a trigger for this case ( which is not going to return any records ).
I understand that I can get queue items after every scheduled internal and check this every X minutes but wanted to check if Integration Service could be used here?
It won’t solve your use case here, but did want to give you an FYI that they are adding a feature to the Action Center so that, if a task isn’t completed within a specified time, the task is re-assigned. This might help in some issues, but since its not there yet lets work with what we have.
I think the Queue Idea is on the right track, but I wouldnt use the DueDate.
I would consider the queue item to be a ‘check if the action is complete’ and that it gets ‘Postponed’ unti the datetime you want.
In this way, the queue item will happily sit in the queue, until the postpone time, and then a regular queue trigger react to it and start an automation. In this automation you can then do whatever handling or escalation you wish.
However, an even better solution in my opinion.
I assume you have a job somewhere that is pending on this task and sitting in a suspended state, ready to resume once the action is completed.
You can very easily extend this so that in a parallel activity you have it wait for the Action Center Task, and on a ‘Wait Until’ activity which will wake the job up after x hours.
This would work really neatly cause, if your action is finished on time, you can cancel the other parallel thread, but if the action isn’t completely, then you can do something about it directly there.
Now that is based on assumptions. I have seen some weird usage of the action center where they don’t use the ‘Wait for Task’ etc activities, if you aren’t using those wait activties I’d strongly suggest changing your design to do so.
Firstly what @Jon_Smith gave is a right approach to the scenario as that makes more sense and easier
now coming to integration services connector and trigger few things here
As per what you need ideally the filter should be status as new and duedate is less than now() and not greater than as you want the duedate to be passed
Till getting items via api call is good but coming to triggers you cannot define less than and greater than…a trigger needs a parameter which could filter as greater than or less than specified time and get queueitems does not have a parameter like that so a trigger cannot be created for this case