Private triggers enable you to break large flows into various subflows. You can invoke private triggers only from other integration flows within Application Integration. Being invokable only from other integrations increases security and reduces the risk. You can view the execution logs for a private task in the execution logs of the invoker integration.
The following list states the benefits of using private triggers:
Minimize cost: Private triggers are not counted towards execution run pricing.
Increases security: Restrict flows to be invoked only from other integrations as private triggers cannot be triggered independently from public APIs.
Improve performance: Private triggers reduces the latency between sub-integration callout.
Add a Private trigger
To add a private trigger, perform the following steps:
In the Google Cloud console, go to the Application Integration page.
The Integrations List 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 Triggers to view the list of available triggers.
Click and place the Private element to the designer.
Configure a Private trigger
Click the Private Trigger element in the integration editor to view the trigger configuration pane.
The configuration panel displays the Trigger ID, which is a
machine-generated ID in the format private_trigger/TRIGGER_NAME.
No further configuration is required for this trigger.
Test Private trigger
You cannot test a published private trigger workflow. You must unpublish the integration to test the private trigger workflow.
Invoke Private trigger from another integration
After you have published an integration that has a private trigger configured, you can invoke this trigger from another integration. You can have more than one private trigger in your integration. Each private trigger is assigned a unique Trigger ID.
You can view the execution logs for a private trigger in the logs of the main execution workflow.
Private triggers can be invoked from the following flow control tasks:
The execution of private triggers shares the Maximum cumulative size of all the integration data limit, which is set to 25 MB, with the parent integration. For more information about limits, see Usage limits.
Limitation
If your private trigger workflow contains any of the following async tasks, then you can't trigger the private workflow from the main workflow with the SYNC execution strategy:
[[["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\u003ePrivate triggers allow you to divide large integration flows into smaller, manageable subflows that are only invokable by other integrations.\u003c/p\u003e\n"],["\u003cp\u003eUsing private triggers can minimize costs, as they do not count towards execution run pricing, while also increasing security by restricting invocation to other integrations.\u003c/p\u003e\n"],["\u003cp\u003ePrivate triggers improve performance by reducing latency in sub-integration callouts, and their execution logs are visible within the invoker integration's logs.\u003c/p\u003e\n"],["\u003cp\u003ePrivate triggers must be tested in unpublished integrations, and they can be invoked from other integrations using specific flow control tasks such as 'Call Integration', 'For Each Loop', 'For Each Parallel', or 'While Loop'.\u003c/p\u003e\n"],["\u003cp\u003ePrivate triggers have a size limit of 25MB that they share with their parent integration, and the private workflow can not be called with a SYNC strategy if it includes async tasks such as 'Timer task', 'Suspend task' or 'Approval task'.\u003c/p\u003e\n"]]],[],null,["# Private triggers\n\nSee the [supported connectors](/integration-connectors/docs/connector-reference-overview) for Application Integration.\n\nPrivate triggers\n================\n\nPrivate triggers enable you to break large flows into various subflows. You can invoke private triggers only from other integration flows within Application Integration. Being invokable only from other integrations increases security and reduces the risk. You can view the execution logs for a private task in the execution logs of the invoker integration.\n\nThe following list states the benefits of using private triggers:\n\n- **Minimize cost:** Private triggers are not counted towards execution run pricing.\n- **Increases security:** Restrict flows to be invoked only from other integrations as private triggers cannot be triggered independently from public APIs.\n- **Improve performance:** Private triggers reduces the latency between sub-integration callout.\n\nAdd a Private trigger\n---------------------\n\nTo add a private trigger, perform the following steps:\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 List** 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**.\n\n\n The newly created integration opens in the *integration editor*.\n4. In the *integration editor* navigation bar, click **Triggers** to view the list of available triggers.\n5. Click and place the **Private** element to the designer.\n\nConfigure a Private trigger\n---------------------------\n\n- Click the **Private Trigger** element in the integration editor to view the trigger configuration pane.\n\n The configuration panel displays the **Trigger ID** , which is a\n machine-generated ID in the format `private_trigger/`\u003cvar translate=\"no\"\u003eTRIGGER_NAME\u003c/var\u003e.\n No further configuration is required for this trigger.\n\nTest Private trigger\n--------------------\n\nYou cannot test a published private trigger workflow. You must unpublish the integration to test the private trigger workflow.\n\nInvoke Private trigger from another integration\n-----------------------------------------------\n\nAfter you have published an integration that has a private trigger configured, you can invoke this trigger from another integration. You can have more than one private trigger in your integration. Each private trigger is assigned a unique **Trigger ID**.\n\nYou can view the execution logs for a private trigger in the logs of the main execution workflow.\nPrivate triggers can be invoked from the following flow control tasks:\n\n- [Call Integration](/application-integration/docs/configure-call-integration-task)\n- [For Each Loop](/application-integration/docs/configure-for-each-loop-task)\n- [For Each Parallel](/application-integration/docs/configure-for-each-parallel-task)\n- [While Loop](/application-integration/docs/configure-while-loop-task)\n\nQuotas and limits\n-----------------\n\nThe execution of private triggers shares the *Maximum cumulative size of all the integration data* limit, which is set to 25 MB, with the parent integration. For more information about limits, see [Usage limits](/application-integration/docs/quotas).\n\nLimitation\n----------\n\nIf your private trigger workflow contains any of the following async tasks, then you can't trigger the private workflow from the main workflow with the `SYNC` execution strategy:\n\n- [Timer task](/application-integration/docs/configure-timer-task)\n- [Suspend task](/application-integration/docs/configure-suspend-task)\n- [Approval task](/application-integration/docs/configure-approval-task)\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)."]]