Capture task accepted user in process model and pass username into database

Is there a way to capture task accepted user in process model and pass user name to another backend system for storing... This requires for downstream system or report when tasked assigned to group and accepted by user

OriginalPostID-154896

OriginalPostID-154896

  Discussion posts and replies are publicly visible

  • 1. If you want to store the accepted user details, store the tp!owner value in a process variable . You can capture tp!owner value only once the task is completed.
    2. If you want to capture before the completion of task, use task report and extract the task owner value from Execute Process Report smart service in the process.
  • Both options will not work out for us because user yet to complete task ( may be 5 mins, 10 mins or day).. Other application needs to get data and build analytics who is working on the tasks.
  • Execute process report smart service will work in this case. Using this we can extract the task owner irrespective of task status.
  • Execute report will work if we are running standalone in another process. My requirement is, we need to invoke another system via web service (subprocess preferred) to send accepted user real-time, so that target system report will reflect the correct data.

    The actual question is how to capture accepted user and create an event or another design to call web service during the task is assigned to the user and not yet completed.
  • If you're using Appian 7.9, you can create a report on this and expose the report data using WebAPI. This will allow you to access the Appian analytics data at the point of invocation from the external system. In 7.6 upwards, you can utilise the servlet plugin to expose the same data that can return the Analytics service info. I would recommend using the Web API as the preferred approach.
  • We thought about it, unfortunately we are in 7.8. And even the option you have suggested is not real-time data push from process where task is assigned and accepted by user. We are looking for real-time option from process model to capture data and pass it to external system such as task metrics, task id etc.. There are two options pull data or push data.. Web API or servlets are pull option -- external system from Apian, I am looking for push data design pattern -- Appian to external system during node execution.
  • Saravanan, architecturally you may be looking at an increased traffic should you push info every time a task is assigned/accepted etc., and this may adversely affect your performance and scalability.
    If you do want a push option, your options are timer process that runs a report and exports the data. Even this needs to be thoroughly tested for scalability. Push option benefits fetching data as on demand. I hope this helps.

  • Agreed, if you do this for every user task. And the timer based option is not real-time though (near real-time based on timer frequency), This could also impact performance if your timer running frequency is less.. say 5 minutes, 10 minutes etc. and it does push all data whether data is changed or not..

    Anyhow, thanks Satya for your suggestion. It would be good, if Appian supports extract metrics (process / task) stored in Appian during process execution rather than building separate solution to extract data via Web API, or report etc..