Jump to content

Enhancement: New Hornbill Automation function/task to "Link Request"


Berto2002

Recommended Posts

We have the concept of Standard Changes and each goes through fast-path build and authorisation stages based on a prior-implemented, successful, full Change Request. We store the list of agreed std chgs in a simplelist with the Value as the original CH record.

When we raise the new std chg (by selecting the type from the drop-down simplelist), I want the BPM to link the new CH record to the original CH record (value from the simplelist).

This could be achieved if there was a "Link Request" option in the menu below. Similarly, you might like to have an "Unlink Request" option. In short, there are no options in BPM to link requests so we rely on the "create linked request" in BPM and action button in the UI.

image.png.fdff9907564adb2eb138c9f81ccb4a38.png

  • Like 5
Link to comment
Share on other sites

5 minutes ago, Jim said:

This would benefit our MI Process also

Just out of interest - how would you expect to automate that?
You can't know ahead of time what the Reference of the MI is, nor of any of the Incidents that need linking to it, so how would you put that into a BPM? You'd have to enter the reference of the linked request somewhere, so I can't see how you would save anything over using the "Link Request" action.
 

Link to comment
Share on other sites

From my perspective there is clearly value in being able to link requests/assets via the BPM in that if you have a task that requires the analyst to link something, there is no easy way to confirm that they have in fact done so before moving on in the business process. If there was a Hornbill automation node to do this, you can have a mandatory question on the task asking for the request/asset ID (ideally a live lookup of existing assets/requests, which also is still not currently an option - to my knowledge only users and group lookups in task fields at time of writing), and then have the next node link that request/asset using the ID provided in the task.

Having the "Link Request" option in the UI is fine for ad-hoc situations where a call is related to another one, but if you actually want to link requests/assets for the purpose of automation (e.g. Resolve/Update Linked Requests and Update Assets nodes), then surely you need to be able to make 100% sure that the request/asset was linked in the first place (i.e. not rely on someone to remember to manually do it).

+1

  • Like 2
Link to comment
Share on other sites

@CraigP yes. Our other use case is that we have an automatic inbound email from the HR system that logs a Request and the Sdesk are asked to search for a match it with a Leaver ticket the manager has raised. If they don't find one they chase the manager (relentlessly!) but if they find one I want to get SDesk to explicitly enter the ref and use that to link it; but I have to rely on them just declaring they have done so which is less robust from an audit perspective.

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

I have a parent request which adds itself to a Simple List via a HTTP Request Cloud Automation:
image.thumb.png.21e8308a72b80f08301b8d890a6fbf6b.png

In the child request, there is a human task that grabs the details from the Simple List. The ability to link the two requests together using Hornbill Automation would be most beneficial. I'm not having any luck setting this up to work in a HTTP Cloud Automation (I copied the request payload from the F12 developer tools, but to no avail) unlike the listAddItem one and listDeleteItem ones which always works.

So I've already +1 this idea above but I'm hoping my update will bring about its attention again.

Link to comment
Share on other sites

@samwoo Can I just check that this is used in a Test Workflow and not in Production?

Experimental features are subject to change without notice, or even removal from the Platform. While this is unlikely we would always caution against relying on any feature or setting marked as experimental.

Link to comment
Share on other sites

Hi @Steve Giller 
I am aware of advice regarding experimental features.

I have been told internally this needs to be automated as much as possible so I provided this as a solution, and I am aware the experimental features could change however unlikely, it is still a possibility, hence the reason I have bumped up this request for this feature to be added to the Hornbill Automation, as well as the other post I raised not too long ago regarding having Hornbill Automation for Simple Lists.

  • Like 1
Link to comment
Share on other sites

On 8/30/2023 at 12:43 PM, samwoo said:

I have a parent request which adds itself to a Simple List via a HTTP Request Cloud Automation:
 

In the child request, there is a human task that grabs the details from the Simple List. The ability to link the two requests together using Hornbill Automation would be most beneficial. I'm not having any luck setting this up to work in a HTTP Cloud Automation (I copied the request payload from the F12 developer tools, but to no avail) unlike the listAddItem one and listDeleteItem ones which always works.

So I've already +1 this idea above but I'm hoping my update will bring about its attention again.

Give this a go - for experimental purposes only, of course:

image.png.6fabf01a113abaf06dc79972a9e617ad.png

Body:

<methodCall service="apps/com.hornbill.servicemanager/Requests" method="linkRequests">
<params>
  <parentRequestId>&[global["inputParams"]["requestId"]]</parentRequestId>
  <childRequestId>&[functions.getTaskAnswers("task-5f7649b8").field_2]</childRequestId>
</params>
</methodCall>

URL is https://mdh-p01-api.hornbill.com/instance/xmlmc/apps/com.hornbill.servicemanager/Requests?op=linkRequests

Make sure the API key has access to apps/com.hornbill.servicemanager/Requests:linkRequests

Link to comment
Share on other sites

Hi @Met,

Thanks for that. I did figure out the issue out in the end, it turned out that the linkedEntityId requires an array of values (I use JSON over XML, experimental I know).

However, I used the "RelationshipEntities" service and "add" method instead, however I shall have a look at the one you used, as that seems straight forward.


Here is what the "apps/com.hornbill.servicemanager/RelationshipEntities" service and RelationshipEntities method currently looks like:

{
  "@service": "apps/com.hornbill.servicemanager/RelationshipEntities",
  "@method": "add",
  "params": {
    "entityId": "&[global["inputParams"]["requestId"]]",
    "entityName": "Requests",
    "linkedEntityId": [
        "&[global["flowcoderefs"]["getReqInformation"]["externalRefNumber"]]"
    ],
    "linkedEntityName": "Requests"
  }
}

 

This is what the "apps/com.hornbill.servicemanager/Requests" service with the "linkRequests" method would look like with JSON:

{
  "@service": "apps/com.hornbill.servicemanager/Requests",
  "@method": "linkRequests",
  "params": {
    "parentRequestId": "&[global["inputParams"]["requestId"]]",
    "childRequestId": "&[global["flowcoderefs"]["getReqInformation"]["externalRefNumber"]]"
  }
}

Thanks,

Samuel

Link to comment
Share on other sites

  • 5 months later...
  • 3 weeks later...
  • 3 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...