Hi,
is there any way we could start the process model with start form and pass some input parameters from external URL. We have a request where we will have to search some customers in external system, and pass the related customerId to appian process model which should open a start form. So the similar behavior as appian actions, but being called by using URL in external system and being able to pass some parameters to a start form which should be displayed on a link click.
For example, we have to search for a customer in external system. When we find a customer we need, we have to start an appian process for that particular customer only by clicking the http link in external system. Another requirement is to avoid starting the process instance if start form for particular customer is not submitted. So, for example, we find a customer with custId=1 in external system, we would like to generate some URL like http://appian.host/start_process/processModelId=2&custId=1 . Link should be opened in a new tab offering a process start form with the customerId being passed as a rule input. If we expose the process model as a web service, is there a way the endpoint opens the start form of the process model? What about security and authorization?
Discussion posts and replies are publicly visible
OK. Thanks. I think this is an edge case of how a process model reacts on the end of the chain and ehan that task becomes active.
Can you try to extent the chain after the task.
We tried, but unfortunately it didn't work. Still same error.
Peter Lewis, do you have any ideas?
I think my issue is solved in the other post I opened to highlight it https://community.appian.com/discussions/f/integrations/28612/start-process-via-api-and-put-task-url-in-the-response/112392 .
The issue seems to be that the process report has a little delay in fetching updated data. Using the function getactivetaskidsforprocess() instead of the process report seems to have solved the issue (I will test it extensively).
Thank you very much for your support, anyway. You are a great community.
I don't think there's really a way to prevent race conditions - even with the plug-in I would guess that you could end up with scenarios where the task was not created yet by the time you run the process.
Can you just link to a start form or is it actually necessary to start a process for this scenario?
I would need to pass input parameters from the external system in that form. I don't think I would be able to do that with a start form process. Is there a way?
Would it be possible to implement that in an asynchronous way? One call to start the process, and a second to get the task id?
You mean that the external system should make a call to start the process and then a second one to retrieve the task? I don't think that this would be totally safe too. What should ensure the task would be created in the moment of the second call, if the start process api can respond before the task is created?
Nothing, but in case the task is still not there, you can return a status code to tell that system to try it again later.
The process would be started, however, and so I should find a way to know that this happened and stop it somehow... It sounds very tricky. It feels strange to me that there is no way to achieve this. It sounds as a reasonable request that Appian should satisfy in a simpler way.