Question

Open child ticket when Parent Ticket Approval is completed

  • 19 February 2024
  • 15 replies
  • 139 views

Userlevel 4
Badge +10

I need to open a child ticket once the parent ticket is approved.  Or maybe just change the status of the child ticket to open (from awaiting approval) once the parent is approved.  

 

Scenario: we have some equipment in stock always and we pull from inventory and then order backfill.  So for those items, I need a child ticket to open to order the backfill.  I have the workflow to open the child ticket, but if the parent is in awaiting approval, i don’t want the backfill ordered in case the parent ticket is not approved.  

 

Make sense?  Any ideas?


15 replies

Badge +1

I believe that the easiest way to do it is by editing your workflow for creating a child ticket. When you create a child, you can assign the current status of the parent ticket to it. Then you send an approval in parent ticket and once it is approved to set status of associated child to open.

Badge +1

You can also just add a new condition that the child will be only created when the ticket is approved. :) 

Userlevel 7
Badge +13

I believe that the easiest way to do it is by editing your workflow for creating a child ticket. When you create a child, you can assign the current status of the parent ticket to it. Then you send an approval in parent ticket and once it is approved to set status of associated child to open.

Do you mean create the child ticket by hand or by the WFA?
Only way I have seen there is to use the API. 

Badge +1

I believe that the easiest way to do it is by editing your workflow for creating a child ticket. When you create a child, you can assign the current status of the parent ticket to it. Then you send an approval in parent ticket and once it is approved to set status of associated child to open.

Do you mean create the child ticket by hand or by the WFA?
Only way I have seen there is to use the API. 

"I have the workflow to open the child ticket" - I believe Shannon already has a workflow to create them but needs to edit it to make it work correctly. He probably used an API because, as far as I know, there is no other way to do it.

Userlevel 7
Badge +13

I believe that the easiest way to do it is by editing your workflow for creating a child ticket. When you create a child, you can assign the current status of the parent ticket to it. Then you send an approval in parent ticket and once it is approved to set status of associated child to open.

Do you mean create the child ticket by hand or by the WFA?
Only way I have seen there is to use the API. 

"I have the workflow to open the child ticket" - I believe Shannon already has a workflow to create them but needs to edit it to make it work correctly. He probably used an API because, as far as I know, there is no other way to do it.

Missed that thanks. 

Userlevel 4
Badge +10

I believe that the easiest way to do it is by editing your workflow for creating a child ticket. When you create a child, you can assign the current status of the parent ticket to it. Then you send an approval in parent ticket and once it is approved to set status of associated child to open.

Do you mean create the child ticket by hand or by the WFA?
Only way I have seen there is to use the API. 

"I have the workflow to open the child ticket" - I believe Shannon already has a workflow to create them but needs to edit it to make it work correctly. He probably used an API because, as far as I know, there is no other way to do it.

 

 

I am using the APi to create the child ticket and that works great.  I don’t see in the API document how to tell the child ticket to use the parent status.  Nor how to update that child ticket to reflect the parent status once it approves.  The body is just putting in the requestor and the parent ticket ID to associate the child ticket to.  I assume I would need to tell the status in the body of the web request, but i am not sure how to do that.  Also, i cannot create a child ticket if I need to wait for the parent to be approved because a workflow cannot kick off based off another workflow update.  

Userlevel 7
Badge +16

Hello @shannon.mejia, you could technically wait to do anything with child tickets until after the “parent” ticket is approved. You could set the workflow for creating the child ticket (via api) to trigger off of the event listed below.

When this workflow is triggered you can create the child ticket and pass in your JSON payload all the values for the necessary ticket fields. You just need to add a conditional block to make sure that this workflow only creates child tickets based off of the correct parent tickets. Hope that helps.

Userlevel 4
Badge +10

Hello @shannon.mejia, you could technically wait to do anything with child tickets until after the “parent” ticket is approved. You could set the workflow for creating the child ticket (via api) to trigger off of the event listed below.

When this workflow is triggered you can create the child ticket and pass in your JSON payload all the values for the necessary ticket fields. You just need to add a conditional block to make sure that this workflow only creates child tickets based off of the correct parent tickets. Hope that helps.

I didn’t think about that.  Cool!  

I did try it though and the JSON workflow didn’t trigger.  I think it is because another workflow is what prompts for the approval.  I thought a workflow couldn’t trigger based on the action of another workflow.  So now I am stuck with getting this workflow to trigger after the approval of another workflow.  Any ideas?

Userlevel 7
Badge +16

Hello @shannon.mejia, yes unfortunately. A workflow cannot trigger another workflow. So if the approval notification for a ticket is being sent via workflow, that workflow would be listening for the approval or rejection. In that case, you could tack on the creation of the child ticket in the first workflow on the “approved” branch. Meaning after the workflow send the approval notification, if the approver approves the request then the workflow creates a child ticket with all the necessary information.

Userlevel 4
Badge +10

Hello @shannon.mejia, yes unfortunately. A workflow cannot trigger another workflow. So if the approval notification for a ticket is being sent via workflow, that workflow would be listening for the approval or rejection. In that case, you could tack on the creation of the child ticket in the first workflow on the “approved” branch. Meaning after the workflow send the approval notification, if the approver approves the request then the workflow creates a child ticket with all the necessary information.

So confused now LOL.  So I added the approval process into this workflow so that it would trigger based on service item and include the approval.  after the approval, then the web request to open the child ticket.  This is the error now though for the web request.  Why won’t it allow a child ticket to be made for an already approved parent?  Maybe because the system is designed to not allow changes after the approval???

 

 

Userlevel 7
Badge +16

Hello @shannon.mejia, yes unfortunately. A workflow cannot trigger another workflow. So if the approval notification for a ticket is being sent via workflow, that workflow would be listening for the approval or rejection. In that case, you could tack on the creation of the child ticket in the first workflow on the “approved” branch. Meaning after the workflow send the approval notification, if the approver approves the request then the workflow creates a child ticket with all the necessary information.

So confused now LOL.  So I added the approval process into this workflow so that it would trigger based on service item and include the approval.  after the approval, then the web request to open the child ticket.  This is the error now though for the web request.  Why won’t it allow a child ticket to be made for an already approved parent?  Maybe because the system is designed to not allow changes after the approval???

 

 

You are on the right track. And yes, the system doesn’t want to allow you to make changes to a ticket that is awaiting approval or has been approved. In theory you would then need to get approval again for that change. A way to work around this is to create the child ticket ahead of the approval, set it to pending. If the parent ticket is approved, set the child ticket to open (I assume this would work but haven’t tested it). If the parent ticket is not approved, then you can simply close the child ticket indicating a backorder is not required.

Userlevel 4
Badge +10

I am making progress :), but now getting a new error.  I updated the workflow to have the child ticket open before the approval, but now am getting an error in the execution logs about the payload not being a valid JSON:

 

This is what i have in the web request in the WF for the body:

 

 

What am I missing?  

Userlevel 7
Badge +16

I am making progress :), but now getting a new error.  I updated the workflow to have the child ticket open before the approval, but now am getting an error in the execution logs about the payload not being a valid JSON:

 

This is what i have in the web request in the WF for the body:

 

 

What am I missing?  

Hello @shannon.mejia my guess is that the value that your are getting for parent_ticket_id placeholder is the issue. Try adding a note to the ticket with that value to make sure you are getting what you expect and in the right value type the field is looking for according to the API documentation.

Userlevel 4
Badge +10

Morning all.  I talked with FS support and they were able to find the JSON placeholder to use.  I think I have the workflow working now.  Thanks so much!

Userlevel 7
Badge +16

Morning all.  I talked with FS support and they were able to find the JSON placeholder to use.  I think I have the workflow working now.  Thanks so much!

Fantastic!!! Glad its working :)

Reply