See the supported connectors for Application Integration.
The Approval task lets you configure approval-based integrations. It also lets you to control the flow of an integration.
You can use the Approval task to send approval request emails to one or more integration users. The email includes a link to the integration where the users can manually approve or reject the request.
During an integration execution, when the control reaches the Approval task, execution is halted, and all tasks after the Approval task are suspended. The integration resumes the execution only when a user manually approves or rejects the approval request.
An Approval task can be used for the following purposes:
- To suspend and branch an integration based on user approval or rejection.
- To suspend an integration until a specified duration.
- To use as a breakpoint to debug the integration.
Configure the Approval task
To configure the Approval task:
- In the Google Cloud console, go to the Application Integration page.
- In the navigation menu, click Integrations.
The Integrations List page appears.
- Select an existing integration or create a new integration by clicking Create integration.
If you are creating a new integration:
- Enter a name and description in the Create Integration dialog.
- Select a Region for the integration from the list of supported regions.
- Click Create.
This opens the integration in the integration designer.
- In the integration designer navigation bar, click +Add a task/trigger > Tasks to view the list of available tasks.
- Click and place the Approval task element in the integration designer.
- Click the Approval task element on the designer to view the Approval task configuration pane.
- Configure the displayed fields using the Configuration properties for the task
as detailed in the table below.
All changes to the properties are saved automatically.
The following table describes the configuration properties of the Approval task.
||String Array||Email addresses to which notification is sent when the task is suspended. Enter multiple email addresses separated by a comma.|
||String||Custom message to include in the email notification when the task is suspended. The value
can be a literal or a variable. If the custom message is available in a variable,
||Integer||Frequency of reminder notifications.
If the suspension is in an unresolved state, you can send reminder email notifications requesting authorized users to resolve the suspension.
||Integer||Time period of the suspension.
If the suspension is not resolved within the time, the suspension is rejected by default.
||Boolean||Action to be taken after the suspension has expired.
You can choose either to reject the suspension or lift the suspension. By default the suspension is rejected.
||Boolean||Output variable which has the status of the suspension after resolution.
Compare Approval task, Suspend task, and Timer task
All the three (Approval, Suspend, and Timer) tasks perform a similar function of pausing and resuming an integration. However, there are subtle differences among them. The following table describes the differences amongst the three tasks.
|Approval task||Suspend task||Timer task|
|Doesn't support automatic resumption of an integration and requires manual intervention to resume the integration.||Supports both manual and automatic resumption of an integration. If there is no manual intervention to revoke the suspension, the integration will automatically resume execution after the expiry of the suspension time limit.||Supports only automatic resumption of an integration. The integration execution automatically resumes after the exipry of the suspension time limit.|
|Can't resume an integration via an API call. You must manually resolve the suspension by using the Integrations UI.||Can resume an integration by using the
||Supports only automatic resumption of an integration.|
|Users receive notification when an integration pauses (suspended).||Users don't receive any notification when an integration pauses (suspended).||Users don't receive any notification when an integration pauses (suspended).|
|Supports a output variable (boolean), which allows you to perform conditional checks
before resuming an integration. However, the output variable can only have
the value as either
||Supports a output variable (string), which allows you to perform conditional checks before resuming an integration. You can set any value to the output variable.||Doesn't support any output variables.|
Retry on failure
You can configure various retry strategies to handle errors in a task. The retry strategies allow you to specify how to rerun the task or integration in case of an error. For more information, see Error handling strategies.