The Approval task lets you configure approval-based integrations. It also lets you 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.
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 Suspensions 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 either true or false.
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 the Approval task:
In the Google Cloud console, go to the Application Integration page.
The Integrations page appears listing all the integrations available in the Google Cloud project.
Select an existing integration or click Create integration to create a new one.
If you are creating a new integration:
Enter a name and description in the Create Integration pane.
Select a region for the integration.
Select a service account for the integration. You can change or update the service account details of an integration any time from the infoIntegration summary pane in the integration toolbar.
Click Create. The newly created integration opens in the integration editor.
In the integration editor navigation bar, click Tasks to view the list of available tasks and connectors.
Click and place the Approval task element in the integration editor.
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.
Configuration properties
The following table describes the configuration properties of the Approval 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.
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,
click VAR 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 isApproved variable is set to True if the suspension is approved and set to False if the
suspension is rejected.
Error handling strategy
An error handling strategy for a task specifies the action to take if the task fails due to a temporary error. For information about how to use an error handling strategy, and to know about the different types of error handling strategies, see Error handling strategies.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-29 UTC."],[[["\u003cp\u003eThe Approval task allows you to configure integrations that require manual approval, giving you control over the integration flow by sending approval request emails to specified users.\u003c/p\u003e\n"],["\u003cp\u003eWhen an integration reaches the Approval task, execution pauses, suspending subsequent tasks until a user approves or rejects the request via a link provided in the email.\u003c/p\u003e\n"],["\u003cp\u003eUnlike Suspend and Timer tasks, the Approval task requires manual intervention to resume an integration and does not support automatic resumption or resumption via an API call.\u003c/p\u003e\n"],["\u003cp\u003eThe Approval task can be used to branch an integration based on approval/rejection, pause it for a set duration, or serve as a breakpoint for debugging.\u003c/p\u003e\n"],["\u003cp\u003eConfigurable properties for the Approval task include specifying recipients, a custom message, reminder frequency, expiration time, and action upon expiration, and it outputs a boolean variable (\u003ccode\u003eisApproved\u003c/code\u003e) that indicates the approval status.\u003c/p\u003e\n"]]],[],null,["# Approval Task\n\nSee the [supported connectors](/integration-connectors/docs/connector-reference-overview) for Application Integration.\n\nApproval Task\n=============\n\nThe **Approval** task lets you configure approval-based integrations. It also lets you control the flow of an integration.\n\n\nYou 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.\n\nDuring an integration execution, when the control reaches the **Approval** task, execution is halted, and all tasks after the **Approval** task are suspended.\nThe integration resumes the execution only when a user manually approves or rejects the approval request.\n\n\nAn **Approval** task can be used for the following purposes:\n\n- To suspend and branch an integration based on user approval or rejection.\n- To suspend an integration until a specified duration.\n- To use as a breakpoint to debug the integration.\n\nCompare Approval task, Suspend task, and Timer task\n---------------------------------------------------\n\nAll the three ([Approval](/application-integration/docs/approval-task),\n[Suspend](/application-integration/docs/run-suspend-task),\nand [Timer](/application-integration/docs/run-timer-task)) tasks perform a similar\nfunction of pausing and resuming an integration. However, there are subtle differences\namong them. The following table describes the differences amongst the three tasks.\n\nConfigure the Approval task\n---------------------------\n\nTo configure the **Approval** task:\n\n1. In the Google Cloud console, go to the **Application Integration** page.\n\n [Go to Application Integration](https://console.cloud.google.com/integrations)\n2. In the navigation menu, click **Integrations** .\n\n\n The **Integrations** page appears listing all the integrations available in the Google Cloud project.\n3. Select an existing integration or click **Create integration** to create a new one.\n\n\n If you are creating a new integration:\n 1. Enter a name and description in the **Create Integration** pane.\n 2. Select a region for the integration. **Note:** The **Regions** dropdown only lists the regions provisioned in your Google Cloud project. To provision a new region, click **Enable Region** . See [Enable new region](/application-integration/docs/enable-new-region) for more information.\n 3. Select a service account for the integration. You can change or update the service account details of an integration any time from the info **Integration 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.\n 4. Click **Create** . The newly created integration opens in the *integration editor*.\n\n\n4. In the *integration editor* navigation bar, click **Tasks** to view the list of available tasks and connectors.\n5. Click and place the **Approval** task element in the integration editor.\n6. Click the **Approval** task element on the designer to view the Approval task configuration pane.\n7. Configure the displayed fields using the [Configuration properties](#params) for the task as detailed in the table below.\n\n\n All changes to the properties are saved automatically.\n\nConfiguration properties\n------------------------\n\n\nThe following table describes the configuration properties of the **Approval** task.\n\nError handling strategy\n-----------------------\n\n\nAn error handling strategy for a task specifies the action to take if the task fails due to a [temporary error](/application-integration/docs/error-handling). For information about how to use an error handling strategy, and to know about the different types of error handling strategies, see [Error handling strategies](/application-integration/docs/error-handling-strategy).\n\nQuotas and limits\n-----------------\n\nFor information about quotas and limits, see [Quotas and limits](/application-integration/docs/quotas).\n\nWhat's next\n-----------\n\n- Learn about [all tasks and triggers](/application-integration/docs/all-triggers-tasks).\n- Learn how to [test and publish an integration](/application-integration/docs/test-publish-integrations).\n\n- Learn about [error handling](/application-integration/docs/error-handling-strategy).\n- Learn about [integration execution logs](/application-integration/docs/introduction-logs)."]]