Skip to main content

Re-run, re-submit and retry a workflow

Migrate data and run on the latest version (migration run)

This is a powerful feature that allows you to take the data in an existing workflow session and use that to run a new session in the latest production version of your workflow. This is also referred to as a migration run. It uses the force start feature in combination with loading the data from the session you are currently on to set the inputs for re-running a workflow from a certain point.

When should I perform a migration run?

There are two major use cases for this:

Correcting data entry mistakes and errors

it allows you to edit placeholder values before re-running a component. This allows you to correct data entry mistakes. For example, if someone has entered in their email incorrectly, you can manually correct this and then re-run the workflow while preserving all other data from that session

Upgrading your workflow sessions from one version to the latest version

This method also allows you to migrate a workflow session from one version to the latest production version. For example, you have starting running a workflow on version 1. Since then, you have made multiple changes so that the latest version of the workflow is version 3. These changes are critical, so you now want to migrate or upgrade those earlier workflow sessions you started running on version 1 into running version 3.

What happens when I perform a migration run?

When a migration run is performed in a workflow session, the following occurs:

  1. The placeholder values and data from the original workflow session ("session 1") is saved
  2. these values are used to start a new session running on the latest production version ("session 2")
  3. you now have two sessions ("session 1" and "session 2"). These are running completely independently of each other
  4. all tasks, scheduled events and time delays in session 1 are still active - if session 1 is no longer required, you can manually terminate that session.

A migration run does NOT have any impact on the original session (session 1 in this case) in contrast to re-running a component explained below, and so is generally considered a safer option.

caution

A migration run will always run on the latest production version i.e. if you perform a migration run on a component on version 1, but version 5 is the latest production version, then the migration run will be run on version 5. B cautious of any major changes or breaking changes between the session where the migration run is being performed and the current production version of the workflow.

How to re-run a session in latest production version

To perform a migration run, navigate to the session where you want to perform the action. Select the component where you want to start the re-run from and click the Re-run on latest version button. In the example below, we have a session and want to perform a migration on this session from the Assign Task component (which has been terminated).

img

This will navigate you to the force start page with a panel open on the right, and all the data from your existing session loaded in.

img

You can manually edit the data at this point if you need to (for example, to correct errors) or leave it as is.

img

Then click run to start the new session. A link to the new session that was created will appear.

img

You can now see that a new session has been created, running from the assign task onwards and with the data from the previous session.

img

Re-run a component

When a workflow is run, it creates a session run. This session can also be re-run from any component to create additional session runs.

What happens when I re-run a workflow session?

warning

Re-running a component performs actions that cannot be undone. Make sure you understand the impacts on your session before performing this action. If you are unsure, it is safer to perform a migration run.

  1. The current session and all downstream data will be saved and archived as a session run. It will not continue to run.
  2. All tasks in the current session run will be terminated and cannot be submitted
  3. All time delays or schedules in the current session run will be terminated and will not run
  4. A new session run will be created and the workflow will run from this component onwards in this new session run

How to re-run a component

Once a workflow session has been started, it can be re-run from any point via progress view. Click on the component in the workflow where you want to re-run the workflow from to bring up the component data panel:

img

Click the re-run button to start the re-run.

img

THis will create a new session run from the selected component onwards. You will know a new session run has been created because a dropdown will appear showing multiple session runs:

img

The original session run is marked accordingly, and any additional session runs or re-runs can also be found here as well.

important

Remember that re-running a component re-runs that specific component AND all components after it as well.

Retry a failed component

If a component has encountered an error, a Retry button will appear that will allow you to manually retry a run of that component again.

img

This can be useful to retry components that have failed due to temporary availability or capacity issues (e.g. an API request failed because too many requests were made in a certain amount of time).

However, if a component has failed due to a issue in the data (e.g. the value of a placeholder is incorrect) or configuration (e.g. the component was set up incorrectly), then you will want to correct this issue and then re-run this session on the corrected version using the re-run session on latest production version feature

Re-submitting a task

Re-submitting a task vs re-running a task

Tasks and Form Sections can be re-run or re-submitted.

For most use cases, you will want to resubmit a form or task. Re-submitting a task occurs when a user clicks the re-submit button inside of an existing task or form link:

img

If a task is re-submitted, it will save any existing data in the workflow session as a session run, and then re-run all components AFTER the assign task component again. The task itself will not be regenerated, reminder emails will not get resent etc.

Re-running a task occurs via the re-run function described here, and will restart that task from the beginning - it will terminate the existing task (making this task not able to be submitted), create a new task and task link, and send out that new task to the assigned users including any email notifications.