Regarding the above with the integration service crashing. It was due to an authentication, which was being listed as valid and correct, infact not being valid and correct and causing an error that really didnt show that. I had to sniff the network traffic to get any clue.
I have a list of other issues, now with the Service Now one, the filters on it are broken for more complex fields.
For example via the API an ID will look like this
"id": {
"link": "https://foobar.service-now.com/api/now/table/sc_req_item/a26d5e8087763d10892f32a40cbb353c",
"value": "a26d5e8087763d10892f32a40cbb353c"
},
The integration service will flatten this out to just have id as a string, which is kinda nice but on fields like this the filtering then doesn’t work if you use the activities to ‘Get Records’.
Triggers also don’t work on all the fields.
I set two triggers, on one I think I said the State != 3 on another State !=2, neither fired, even though one always should. If I don’t try to filter on that field in the trigger, but do on others, then it works.
Then updating a ticket status. In the API there are two ways to update it, a PUT or a PATCH.
The Integration Service lets me update the fields in the ticket using Patch it seems, but if I try to change the status it ignores me as the request is not sent as a PATCH.
Then there is the Download Attachment activity, which is a dedicated activity so you’d hope it works well.
Well it doesn’t sadly. There is a arbitrary file size limit on it that I cannot change, no such limit existsing via the API and I can download the same file with it.
Whats worse though is that it uses the iResource thing to automatically save the file to the temp location (which I hate) rather than asking me where to save it, this is a problem because it cannot handle any valid special characters in the filename. For example if you upload a file in Service Now that contains an accented e in the filename (perfectly valid) it just cannot be downloaded via the integration as that e is turned into an invalid character and you get an error.
The activities are also frustrating to use often cause of them being ‘dynamic’. They will often nuke stored values, if you have a filter on you can click advanced editor by accident and even if you press cancel its cleared your values.
I feel like I am only scratching the surface here.
I love the integrations managing the connection, but the activities with them just don’t work.
Please please please please give me a way of making my own API call using the Integration connection, I’d love to manage my connection that way but have more control of the APIs and cover the gaps where the integration service is still lacking.
Edit: oh, and if you restart a job triggered by the Integration service it doesn’t pass over the arguments from the trigger, meaning you cannot effectively start one of those jobs.