3 Replies Latest reply on Apr 30, 2018 10:37 AM by AlasdairRobertson

    Creating multiple tasks from a Request offering List

    sgillard Apprentice

      I have a team of 20 people.  They want to be able to pick the members from a request offering.  Once you pick any combination they want Generic tasks assigned to each person picked. and then once they all complete their tasks, auto fulfill the ticket.

       

       

      Request offering list:

      X  Steve

           Mary

      X  Tom

          Joe

       

       

      Steve and Tom would get a task to work on that Service request.   They know what they each have to do on the ticket based on the other questions.  It's just a matter of tying them to a ticket via a task. 

       

      I know how to do the auto fulfill piece.  But I really don't want to build 20 task boxes off of a switch and then have to manage them anytime someone joins/leaves the team.  If Steve is true create a task box off of each person.. that would be painful.

        • 1. Re: Creating multiple tasks from a Request offering List
          AlasdairRobertson ITSMMVPGroup

          So if I understand this right you can do this I think:

           

          • Create a list box in a service request and add it it your team members via a pick list use LoginId for the field value in your pick list.
          • Create 2 new fields on the request offering
          • Use the RO workflow copy the list box results to a field on the SR object
          • Use a workflow to parse the field to obtain each team member one at a time using delimiters to the other field you create
          • Now you have a field value you can now insert a child object (task) with the owner being the value parsed from the previous step.
          • Loop the workflow until the list is empty.
          • The add the last invoke workflow block that will fulfil the service request once all the tasks are complete (watch out the ootb version will time out in 10 days after it starts but yo can increase this to 999 days or alternatively put in some on hold logic)

           

          When you complete your service request you select all the team members you want task for and the workflow will create tasks for each one in turn, once they are completed the SR will fulfil as normal.

           

          There is a 10 loop limit on workflow but this can be worked around (there is an article on the community on how to do it) so you can scale to your 20.

          1 of 1 people found this helpful
          • 2. Re: Creating multiple tasks from a Request offering List
            Jonathan.Schmidt SupportEmployee

            That's quite a workaround Alasdair.  I like it.  Can you enlighten us on how the looping workflow would be built?  I'm not sure how it would be set up to pull the team members out of the delimited field and create Tasks from them.  How do you avoid the same name being pulled through twice?

            • 3. Re: Creating multiple tasks from a Request offering List
              AlasdairRobertson ITSMMVPGroup

              Here is a short overview/example pleasen ote that I have just cobbed some notes together for you so may need a bit of playing with to work fully.

               

              So if you pull the names form a list in to a field it comes out either ^ or ; separated (depending on ISM version).  you can process these values from one field to another using an expression

               

              An example workflow would look like this:

               

               

              The Grab Values Block runs 2 quick actions:

              Extract a single value to process, parse the list of team members and pull out each one in turn to a new field.

              AC_TeamMembertoLink = $(if Find(";",  AC_TeamMembers) > 0  then Substring(AC_TeamMembers,  1,  Find(";",  AC_TeamMembers))  else AC_TeamMembers)

               

              In your original data grab field replace the content less the value we have just extracted

              AC_TeamMembers = $(if len(AC_TeamMembers) > 0  then if Find(";",  AC_TeamMembers) > 0       then replace(AC_TeamMembers,  AC_TeamMembertoLink + ";",  "")       else replace(AC_TeamMembers,  AC_TeamMembertoLink,  "")  else "")

               

              Then I have another quick action (Link DataType )which performs a search and link on my AC_TeamMembertoLink or you can use in a create child object statement.

               

              This loops until the original AC_TeamMembers field is empty assuming sub 10 records, for more than 10 records you need to use a workflow and design around this looping article. https://community.ivanti.com/docs/DOC-62340

               

              Unless you know of a way/switch/flag to override the 10 loops and it quits.