7 Replies Latest reply on Mar 9, 2017 3:29 PM by chad.arjoon

    If - Task - Join workflow

    Gazz Apprentice

      I am struggling to get this work flow to complete completely. One of the tasks completes and fulfils the request however even though the other tasks have completed they never reach the switch/or fulfil update block...

      I have followed the Heat If/Join guide but am still missing something.

      I have moved blocks around...redesigned it but I cannot get the very bottom Join block to complete. Not sure if I need the switch but ran out of options do gave it a go.

      Help will be appreciated 

       

        • 1. Re: If - Task - Join workflow
          AlasdairRobertson ITSMMVPGroup

          Hi Gary

           

          It should be If/Switch not If/Join

           

          There is an example here : https://community.heatsoftware.com/message/4761?commentID=4761#comment-4761 

          1 of 1 people found this helpful
          • 2. Re: If - Task - Join workflow
            AlasdairRobertson ITSMMVPGroup

            Here is a worked example which looks that it should cover your requirement:

             

            Each Task has to group its exits and the task block can only exit at one point.  Grouping all the exits the first to fire then will progress, as ll the tasks run in parallel we can group them with a join so the workflow only progresses once all takes complete.  That then feeds the final switch block which handles the If- false element prior to joining it in to the rest of the workflow.

            3 of 3 people found this helpful
            • 3. Re: If - Task - Join workflow
              Gazz Apprentice

              That logic works with the switches.

              What about if I have 5 task which could be trigger based on what type of device is selected e.g.

               

              If "Computer" selected then create task

              1. Remove from AD

              2. Removed licenced Software

              3. Update SD

              4. Update The Egg

               

              else if "Other selected" then create tasks

              3. Update SD

              4. Update The Egg

               

              else if "Printer" selected create tasks

              3. Update SD

              4. Update The Egg

              5. Remove from Weber

               

              The problem I have now run into is that I cannot get the workflow to wait until all the tasks have been completed, it fulfils when the first task has been completed and does not wait for all the tasks to be completed.

              I have tried getting around this with join blocks however this becomes perpetual cycle of conditions.

              • 4. Re: If - Task - Join workflow
                Gazz Apprentice

                Example below

                 

                • 5. Re: If - Task - Join workflow
                  AlasdairRobertson ITSMMVPGroup

                  OOTB there is a run workflow block and a pre configured workflow for checking all task are complete or 10 days have passed:

                   

                   

                  Workflow that is run

                  Wait for child config block

                   

                  • 6. Re: If - Task - Join workflow
                    AlasdairRobertson ITSMMVPGroup

                    Each of these elements is required to be wrapped up in its own if/switch section here is an example of what one would look like.  then duplicate each master decision switch block gather the exits with another switch and feed to a join block so all workflow streams have to be completed before it hits the workflow completion block.

                     

                    • 7. Re: If - Task - Join workflow
                      chad.arjoon Rookie

                      There is another way to do what I think you are trying to accomplish. If the reasoning here is to have a block that will continue the workflow after the tasks are completed, this can be done with a Wait For Child block. This suits my needs in the same way I think you are trying to accomplish. I use many workflows where all tasks are not always created.

                       

                      The Wait For Child block basically waits for all tasks to reach an end state before continuing the workflow. Have all of your task exits point to the Wait For Child block, then have your Wait block continue the workflow. Below is the setup of that block: