The purpose of this note is to describe what the execution steps are when executing a workflow.


For each task in a workflow, several steps will be executed before and after the task.


Before all, you may decide to abort execution or to bypass it. 


If you decide to execute it, several call will be made before execution, if the execution succeeded and if an error occurred.


Here is the flow of execution for a single task. This flow will be executed for each task in your workflow.



Start only if

This is our first step: Should we even start the task execution. It defines under which condition a task will execute or not. If not, execution will stop.



We want to execute 1 out of 3 choices based on what the user has chosen as a cloud_service. 


Each task a Start Only if condition such as:


gc.cloud_service == "imagga"

gc.cloud_service == "google cloud vision"

gc.cloud_service == "aws rekognition"


Depending on the gc.cloud_service value the corresponding task will be executed of not.




If “Start Only If” condition is False then the task won’t be executed and on Task Abort callback will be triggered. This callback could be used for cleanup for example.



Where to setup:

In the main tab of each task.






The second step defines whether a task will be executed or bypassed. If bypassed, execution will then continue to the next task.



Use Bypass if you want an optional task execution and you want your workflow to continue execution.





Where to setup:

In the main tab of each task.



Task Execution:

Execution of the task itself. Several callbacks will be triggered on Initialize, error and success.



On Initialize

Some code executed before the task execution. Useful to initialize some values.


On Error

Executed if an error occurred. 


On Success

Executed if your task succeeded.



Where to setup:

In the Callbacks tab of each task. 



You may notice that each task may have different callbacks available.

  • Iterator such as Folder scan has 2 specific callbacks: On Start Iterate and On After Iterate
  • Send to twitter task has On Max Try callback.




During these execution steps, you may use webhooks to communicate the status of your task execution to external systems. Webhooks (also called a web callback or HTTP push API) is a way for your app to provide other applications with event based information.



Enter the URL to call and the events you want to trigger and you’re done.