Skip to main content

Interactive Mode

In complex processes unexpected errors can happen. The interactive mode allows you to define automation processes which, in different situations, can react different to errors.

Use Cases

Use interactive mode

  • When parts of an automated process sometimes fail.
  • An operator should be able to manually resolve errors and resume the processing.
  • The same process sometimes also runs unattended.

Concept

The interactive mode feature is implemented as a Wrapper.

Importing the Base functionality project will provide you with a wrapper called interactive.

When a flow which has the interactive wrapper attached is started:

interactivemodestart flowstart flowmonitor executionmonitor executionstart flow->monitor executionend successend successmonitor execution->end successexecution succeededcheck user activitycheck user activitymonitor execution->check user activityexecution failedend errorend errorcheck user activity->end errorno active userscreate message for userscreate message for userscheck user activity->create message for userscreate message for users->start flowretry button pressedcreate message for users->end errorfail button pressedcreate message for users->end errortimeout

As all wrappers, the interactive wrapper can be statically attached and configured. Please refer to Static Wrappers for more information.

Alternatively, the interactive wrapper can be dynamically attached and configured. Please refer to Dynamic Wrappers for more information.

info

The most common usage is to statically attach and configure the interactive wrapper to a flow or connector. This way all executions of the flow or connector will allow interactive operations in case an error occurs.

info

The interactive wrapper provided by Cloudomation is considered an example which can be extended or modified to your needs.

Parameters

The interactive wrapper accepts the following parameters:

NameTypeDescriptionRequiredDefault value
interactive_limit_minutesintAfter how many minutes without user activity the user is considered "offline".no30
archive_retriesbooleanIf executions of previous tries should be archived.noTrue

Examples

example

Starting a flow which can be restarted interactively

import flow_api

def handler(system: flow_api.System, this: flow_api.Execution):
this.using('interactive').flow('<name-of-a-flow>')
return this.success('all done')

Learn more

Wrappers
Import / Export and Upload
Base functionality