Approval Task
TheApproval task lets you configure approval-based integrations. It also lets you control the flow of an integration.
You can use theApproval 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 theApproval task, execution is halted, and all tasks after theApproval task are suspended. The integration resumes the execution only when a user manually approves or rejects the approval request.
AnApproval 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.
Compare Approval task, Suspend task, and Timer task
All the three (Approval,Suspend, andTimer) 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 theSuspensions API for integrations. | 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 eithertrue orfalse. | 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. |
Configure the Approval task
To configure theApproval task:
- In the Google Cloud console, go to theApplication Integration page.
- In the navigation menu, clickIntegrations.
TheIntegrations page appears listing all the integrations available in the Google Cloud project.
- Select an existing integration or clickCreate integration to create a new one.
If you are creating a new integration:
- Enter a name and description in theCreate Integration pane.
- Select a region for the integration.Note: TheRegions dropdown only lists the regions provisioned in your Google Cloud project. To provision a new region, clickEnable Region. SeeEnable new region for more information.
- Select a service account for the integration. You can change or update the service account details of an integration any time from theIntegration summary pane in the integration toolbar.Note: The option to select a service account is displayed only if you have enabled integration governance for the selected region.
- ClickCreate. The newly created integration opens in theintegration editor.
- In theintegration editor navigation bar, clickTasks to view the list of available tasks and connectors.
- Click and place theApproval task element in the integration editor.
- Click theApproval task element on the designer to view the Approval task configuration pane.
- Configure the displayed fields using theConfiguration properties for the taskas detailed in the table below.
All changes to the properties are saved automatically.
Configuration properties
The following table describes the configuration properties of theApproval task.
| Property | Data type | Description |
Recipients | String Array | Email addresses to which notification is sent when the task is suspended. Enter multiple email addresses separated by a comma.Note: In your Google Cloud project, you must grant theApplication Integration Approver IAM role to all the email addresses provided in theRecipients field. For information on granting IAM roles, seeGranting, changing, and revoking access. |
Custom notification message | 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, clickVAR and select the variable. |
Reminder frequency (in hours) | 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. |
Time until expiration (in hours) | Integer | Time period of the suspension. If the suspension is not resolved within the time limit, the suspension is rejected by default. |
On expiration | 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. |
isApproved (Approval) | Boolean | Output variable which has the status of the suspension after resolution. The Following is a sample edge condition configured using the $TASK_ID_isApproved$ = TRUE |
Error handling strategy
An error handling strategy for a task specifies the action to take if the task fails due to atemporary error. For information about how to use an error handling strategy, and to know about the different types of error handling strategies, seeError handling strategies.
Quotas and limits
For information about quotas and limits, seeQuotas and limits.
What's next
- Learn aboutall tasks and triggers.
- Learn how totest and publish an integration.
- Learn abouterror handling.
- Learn aboutintegration execution logs.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-19 UTC.