# Inflight Migration Hi, We have a requirement where we have to migrat

# Inflight Migration
Hi,
We have a requirement where we have to migrate instances which are there in some other BPM tool to Appian. i.e, We have few requests which are in the middle of the flow, those requests we need to migrate into Appian and have to continue from same point where they have left in that BPM tool.

Can you please suggest a feasible solution.

Thanks in advance

OriginalPostID-162573

OriginalPostID-162573

  Discussion posts and replies are publicly visible

  • This is always challenging. It's very difficult to get every flow to continue excatly from where it is. I would suggest to create 2/3 milestones in the new flow and then load the data and take the flow to the meaningful milestone and let the users take it from there.
  • Keep all information in Database in normalized forms and create Records. Create a process from the point where you want to start and start from you record as Related Action so basically two things. Save all data in Database and Take related action
  • @Vikas, Thanks for your reply, but the issue is the requests are in different different stages. If you create Related action it is standard for entire Record and it wont differentiate where exactly the other request. i.e the stage of each request is different from other..

  • Agree. but this is the challenge which you need to resolve. One more idea is to have statuses for stages and keep in Database also ( extra column or table) and then apply logic for each requests. For an example , if one of request in on 3rd stage then you can skip first two steps by reading from DB so by this you can stick with one process
  • 0
    Certified Senior Developer
    As you are trying to shift from a different tool and maintain the state of the process, you will need to put in a bit extra effort during designing. The approach stated by Rajat in the first comment will work. Although, there is one more approach.
    But to make this approach work, you need to put in a bit extra effort while designing.

    Create a table in db with name of the task which you want active per application id.
    Now create an PM which will only have a script task. Input parameter for this PM will be application Id & a task name.
    Script task output tab will query the db which has the active task data by application id and get the active task name (which you want to be active) and compare the value which will be passed from the main process. If same set the pv!reachedDesitnation = true, otherwise false.
    Use this PM, before every task in your whole process and pass the application id & task name (task name which is just after this sub process node) & take out the pv!reachedDesitnation in main process by using output of subprocess node. Now if the next task is the active task for this application Id you will get result as true.

    Use a XOR gateway between the subprocess node & task re-route accordingly.
    I hope this would make your work easier even if you don't have milestones for each task.

    This is not everything you would need to shift the processes.
    You still have think about the folder hierarchy & documents transfers.
    Also, you have to think out a way to save the active tasks name from the previous tool into db.