import { googleAdsTriggerDefinitions as definitions } from "@automate.ax/catalog/triggers/google-ads" import { createTrigger } from "../../automation/create-trigger" import type { IntegrationAccountReference } from "../../automation/integrations" export interface GoogleAdsChangeTriggerOptions { /** Google OAuth account binding used to poll changes. */ account?: string | IntegrationAccountReference<"google"> /** Google Ads customer ID, with or without dashes. */ customerId: string /** Manager customer ID used to access a client account. */ loginCustomerId?: string } /** Subscribes to every supported Google Ads resource change. */ export const onGoogleAdsChange = createTrigger(definitions.googleAdsChange) /** Subscribes when a campaign is created. */ export const onGoogleAdsCampaignCreated = createTrigger( definitions.googleAdsCampaignCreated, ) /** Subscribes when a campaign changes. */ export const onGoogleAdsCampaignUpdated = createTrigger( definitions.googleAdsCampaignUpdated, ) /** Subscribes when a campaign is removed. */ export const onGoogleAdsCampaignRemoved = createTrigger( definitions.googleAdsCampaignRemoved, ) /** Subscribes when a campaign budget is created. */ export const onGoogleAdsCampaignBudgetCreated = createTrigger( definitions.googleAdsCampaignBudgetCreated, ) /** Subscribes when a campaign budget changes. */ export const onGoogleAdsCampaignBudgetUpdated = createTrigger( definitions.googleAdsCampaignBudgetUpdated, ) /** Subscribes when a campaign budget is removed. */ export const onGoogleAdsCampaignBudgetRemoved = createTrigger( definitions.googleAdsCampaignBudgetRemoved, ) /** Subscribes when an ad group is created. */ export const onGoogleAdsAdGroupCreated = createTrigger( definitions.googleAdsAdGroupCreated, ) /** Subscribes when an ad group changes. */ export const onGoogleAdsAdGroupUpdated = createTrigger( definitions.googleAdsAdGroupUpdated, ) /** Subscribes when an ad group is removed. */ export const onGoogleAdsAdGroupRemoved = createTrigger( definitions.googleAdsAdGroupRemoved, ) /** Subscribes when an ad-group ad is created. */ export const onGoogleAdsAdGroupAdCreated = createTrigger( definitions.googleAdsAdGroupAdCreated, ) /** Subscribes when an ad-group ad changes. */ export const onGoogleAdsAdGroupAdUpdated = createTrigger( definitions.googleAdsAdGroupAdUpdated, ) /** Subscribes when an ad-group ad is removed. */ export const onGoogleAdsAdGroupAdRemoved = createTrigger( definitions.googleAdsAdGroupAdRemoved, ) /** Subscribes when an asset is linked to an ad group. */ export const onGoogleAdsAdGroupAssetCreated = createTrigger( definitions.googleAdsAdGroupAssetCreated, ) /** Subscribes when an asset is unlinked from an ad group. */ export const onGoogleAdsAdGroupAssetRemoved = createTrigger( definitions.googleAdsAdGroupAssetRemoved, ) /** Subscribes when an ad-group asset link changes. */ export const onGoogleAdsAdGroupAssetUpdated = createTrigger( definitions.googleAdsAdGroupAssetUpdated, ) /** Subscribes when an asset is created. */ export const onGoogleAdsAssetCreated = createTrigger( definitions.googleAdsAssetCreated, ) /** Subscribes when an asset changes. */ export const onGoogleAdsAssetUpdated = createTrigger( definitions.googleAdsAssetUpdated, ) /** Subscribes when an asset is removed. */ export const onGoogleAdsAssetRemoved = createTrigger( definitions.googleAdsAssetRemoved, ) /** Subscribes when an asset is linked to a campaign. */ export const onGoogleAdsCampaignAssetCreated = createTrigger( definitions.googleAdsCampaignAssetCreated, ) /** Subscribes when an asset is unlinked from a campaign. */ export const onGoogleAdsCampaignAssetRemoved = createTrigger( definitions.googleAdsCampaignAssetRemoved, ) /** Subscribes when a campaign asset link changes. */ export const onGoogleAdsCampaignAssetUpdated = createTrigger( definitions.googleAdsCampaignAssetUpdated, )