Need to send customized response

Hi Everyone,

My requirement is to trigger the process in Appian from external systems. From documentation, it can be achieved through few ways.
1. Exposing pm as web service but we can return only process id as the response.
2. Exposing pm as web service using "Synchronous Web Service" plug-in but the plug-in is compatible only till version 7.11. Referring the below post , the plug-in seems to be shown as deprecated in Appian Health Check. I checked in 17.1 version and it's working. As it is showing as deprecated in Appian health check, can we use this to expose web service?
forum.appian.com/.../e-158097
3. Calling process using Web API - Start process method and it will also be returning process id.

What could be the best approach to send customized response back to the external system. Please suggest.

Thanks in advance.

OriginalPostID-270164

  Discussion posts and replies are publicly visible

  • It should be compatible with 17.1 also - although the plugin page does not mention it. It was last updated in Feb 2016(about a year ago), and hence it may not be showing 17.1. You can use it if it works as expected, and you always have the option to comment on the news feed of the plugin.
    You can use it to get the output(customized response) back rather than just the process id.

    That said - you can think of other patterns which can avoid the use of this plugin.
    Option1: Let the external system have some web service. Once you trigger a process in Appian, that process can call the external web service after the processing finishes. You can have a external webservice(either SOAP or a RESTful one with HTTP POST method)

    Option2: See if you can make use of web api to get the response back. Example: Once you trigger the process in Appian, and once that process completes, do not delete it immediately. Then, create a web api which uses queryProcessAnalytics() function to expose the data from that process(lets call this webAPIToReturnProcessingResult). There are some functions/portal report which can be used to get the values from PVs of a process.
    At the external system side, once you trigger the Appian process, keep calling the web api webAPIToReturnProcessingResult at regular intervals. If the processing is not yet finished (i.e the process triggered is not yet in 'completed' status), then the external system knows that the processing is not yet done. It can then wait for some time and call this web api again. This way you can get the response back from Appian.