How to start the transaction from specific point?

Hi Team,

Suggest me the best suitable solution on below mentioned scenario.

Suppose, there are multiple steps (1-6) in automation with 10 transaction. Bot process 5 transaction successfully and stop the execution for 6 transaction in 3steps , how to run bot start from the step 4 for 6 transaction

Thanks

hii @Mr.Sanket

You can handle this by saving the last completed step for each transaction and restarting the bot from that point if it fails.
The easiest way is to break the process into small steps and log which step was finished last. When you rerun the bot itreads the log and contiues directly from the next step instead of starting from the beginning.

1 Like

@Mr.Sanket
You can’t resume from step 4 automatically unless your process is designed with checkpoints.
The usual solution is:

  • Split the process into Step1–Step6 workflows.
  • Store LastCompletedStep per transaction (Queue Progress/Output, DB, Excel, etc.).
  • In Process.xaml, before each step check if it’s already completed; if yes, skip it, if no, execute it and update the stored value.

Then when transaction 6 fails at step 3, you just re-run that transaction. The logic will see LastCompletedStep = 3 and automatically continue from Step4.

1 Like

@Mr.Sanket

Use Dispatcher , Performer architecture for transaction tracking. For step processed tracking, you can use Status of the queue item or you can maintain an asset which will be storing the last performed step.

1 Like

Hi @Mr.Sanket

You can try with REFramework

Split steps into separate workflows

Track step progress

Retry the same transaction from next step

Cheers

1 Like

For each transaction:

  1. Store which step was completed last (Step 1, 2, 3…).
  2. On every run, read that value and start from the next step.
  3. Make each step idempotent (safe to run again if needed).

So for your case:

  • 10 transactions.
  • For transaction #6, bot failed after finishing Step 3.
  • You want to restart only transaction #6 from Step 4.

You do this by saving “LastCompletedStep = 3” somewhere and, when you re-run, your logic says:

If LastCompletedStep = 3 → start at Step 4.

  1. Design your queue item

In the Queue item’s SpecificContent (or separate table), have fields like:

{
“BusinessData”: “…”,
“LastCompletedStep”: 0,
“Status”: “New”
}

  1. After each business step, update the checkpoint Inside Process.xaml:

Example pseudo-code
Select Case CInt(in_TransactionItem.SpecificContent(“LastCompletedStep”).ToString)

Case 0
’ Step 1
Step1()
UpdateLastCompletedStep(1)

Case 1
’ Step 2
Step2()
UpdateLastCompletedStep(2)

Case 2
’ Step 3
Step3()
UpdateLastCompletedStep(3)

Case 3
’ Step 4
Step4()
UpdateLastCompletedStep(4)

…and so on
End Select

Where UpdateLastCompletedStep(stepNo) does something like:

  • Use Set Transaction Progress or Update Queue Item (through Orchestrator API)
    OR
  • Write LastCompletedStep in some external storage (SQL, Excel, Data Service, etc.).

Important: Do this update immediately after each step succeeds.

  1. What happens when transaction #6 fails at Step 3?
  • Steps 1–3 run.
  • After Step 3, you set LastCompletedStep = 3.
  • Suppose the bot throws an error in Step 3 after the checkpoint or in Step 4 before updating.
  • Transaction #6 ends in Failed (or gets retried).

Now, when you want to re-run:

First Option – Use retry

If you use Auto-Retry on the queue:

  • On retry, the same transaction item comes back to Process.xaml.
  • You read LastCompletedStep = 3.
  • Your Select Case block jumps directly to Step 4.

Second Option – Create a new queue item with resume point

If you don’t want auto-retry:

  • Create another queue item with same business key + LastCompletedStep = 3.
  • When that item comes to processing, code starts from Step 4.

Either way – you are not resuming the job, you are re-processing the transaction from a saved checkpoint.

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.