diff --git a/components/google_ads/actions/add-contact-to-list-by-email/add-contact-to-list-by-email.mjs b/components/google_ads/actions/add-contact-to-list-by-email/add-contact-to-list-by-email.mjs index f720bd7dd2553..3c5bc01424509 100644 --- a/components/google_ads/actions/add-contact-to-list-by-email/add-contact-to-list-by-email.mjs +++ b/components/google_ads/actions/add-contact-to-list-by-email/add-contact-to-list-by-email.mjs @@ -7,7 +7,7 @@ export default { key: "google_ads-add-contact-to-list-by-email", name: "Add Contact to Customer List by Email", description: "Adds a contact to a specific customer list in Google Ads. Lists typically update in 6 to 12 hours after operation. [See the documentation](https://developers.google.com/google-ads/api/docs/remarketing/audience-segments/customer-match/get-started)", - version: "0.1.5", + version: "0.1.6", annotations: { destructiveHint: true, openWorldHint: true, diff --git a/components/google_ads/actions/create-customer-list/create-customer-list.mjs b/components/google_ads/actions/create-customer-list/create-customer-list.mjs index 3919835c8232b..a3335edadfde6 100644 --- a/components/google_ads/actions/create-customer-list/create-customer-list.mjs +++ b/components/google_ads/actions/create-customer-list/create-customer-list.mjs @@ -15,7 +15,7 @@ export default { key: "google_ads-create-customer-list", name: "Create Customer List", description: "Create a new customer list in Google Ads. [See the documentation](https://developers.google.com/google-ads/api/reference/rpc/v21/UserList)", - version: "0.0.6", + version: "0.0.7", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/google_ads/actions/create-report/create-report.mjs b/components/google_ads/actions/create-report/create-report.mjs index 06a95d5ce0b83..8ded63c99c9bf 100644 --- a/components/google_ads/actions/create-report/create-report.mjs +++ b/components/google_ads/actions/create-report/create-report.mjs @@ -19,7 +19,7 @@ export default { key: "google_ads-create-report", name: "Create Report", description: "Generates a report from your Google Ads data. [See the documentation](https://developers.google.com/google-ads/api/reference/rpc/v21/GoogleAdsService/Search?transport=rest)", - version: "0.1.4", + version: "0.1.5", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs b/components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs new file mode 100644 index 0000000000000..b1b7fb8b15650 --- /dev/null +++ b/components/google_ads/actions/generate-keyword-ideas/generate-keyword-ideas.mjs @@ -0,0 +1,55 @@ +import googleAds from "../../google_ads.app.mjs"; +import { getAdditionalFields } from "../common/props.mjs"; +import { + parseObject, parseStringObject, +} from "../../common/utils.mjs"; +const docLink = "https://developers.google.com/google-ads/api/reference/rpc/v22/KeywordPlanIdeaService/GenerateKeywordIdeas?transport=rest"; + +export default { + key: "google_ads-generate-keyword-ideas", + name: "Generate Keyword Ideas", + description: `Generate keyword ideas using the Google Ads API. [See the documentation](${docLink})`, + version: "0.0.1", + type: "action", + annotations: { + destructiveHint: false, + openWorldHint: true, + readOnlyHint: true, + }, + props: { + googleAds, + accountId: { + propDefinition: [ + googleAds, + "accountId", + ], + }, + customerClientId: { + propDefinition: [ + googleAds, + "customerClientId", + ({ accountId }) => ({ + accountId, + }), + ], + optional: false, + }, + additionalFields: { + ...getAdditionalFields(docLink), + optional: false, + }, + }, + async run({ $ }) { + const additionalFields = parseObject(parseStringObject(this.additionalFields)); + const response = await this.googleAds.generateKeywordIdeas({ + $, + accountId: this.accountId, + customerClientId: this.customerClientId, + data: { + ...additionalFields, + }, + }); + $.export("$summary", "Successfully generated keyword ideas."); + return response; + }, +}; diff --git a/components/google_ads/actions/send-offline-conversion/send-offline-conversion.mjs b/components/google_ads/actions/send-offline-conversion/send-offline-conversion.mjs index 82f7341926a73..ca8643f7e1f73 100644 --- a/components/google_ads/actions/send-offline-conversion/send-offline-conversion.mjs +++ b/components/google_ads/actions/send-offline-conversion/send-offline-conversion.mjs @@ -8,7 +8,7 @@ export default { key: "google_ads-send-offline-conversion", name: "Send Offline Conversion", description: "Send an event to Google Ads to track offline conversions. [See the documentation](https://developers.google.com/google-ads/api/reference/rpc/v21/ConversionAction)", - version: "0.0.6", + version: "0.0.7", annotations: { destructiveHint: false, openWorldHint: true, diff --git a/components/google_ads/google_ads.app.mjs b/components/google_ads/google_ads.app.mjs index 3b8edefdab9e4..85e49eaf1ff9f 100644 --- a/components/google_ads/google_ads.app.mjs +++ b/components/google_ads/google_ads.app.mjs @@ -247,5 +247,12 @@ export default { ...args, }); }, + async generateKeywordIdeas(opts = {}) { + return this._makeRequest({ + method: "POST", + path: "/v22/customers/{customerClientId}:generateKeywordIdeas", + ...opts, + }); + }, }, }; diff --git a/components/google_ads/package.json b/components/google_ads/package.json index a729c3d04b7be..4a8f4fd4ddde6 100644 --- a/components/google_ads/package.json +++ b/components/google_ads/package.json @@ -1,6 +1,6 @@ { "name": "@pipedream/google_ads", - "version": "0.3.3", + "version": "0.4.0", "description": "Pipedream Google Ads Components", "main": "google_ads.app.mjs", "keywords": [ diff --git a/components/google_ads/sources/new-campaign-created/new-campaign-created.mjs b/components/google_ads/sources/new-campaign-created/new-campaign-created.mjs index 59cf8f492133d..d9dc3a38141de 100644 --- a/components/google_ads/sources/new-campaign-created/new-campaign-created.mjs +++ b/components/google_ads/sources/new-campaign-created/new-campaign-created.mjs @@ -7,7 +7,7 @@ export default { key: "google_ads-new-campaign-created", name: "New Campaign Created", description: "Emit new event when a new campaign is created. [See the documentation](https://developers.google.com/google-ads/api/reference/rpc/v21/GoogleAdsService/Search?transport=rest)", - version: "0.0.5", + version: "0.0.6", type: "source", dedupe: "unique", sampleEmit, diff --git a/components/google_ads/sources/new-lead-form-entry/new-lead-form-entry.mjs b/components/google_ads/sources/new-lead-form-entry/new-lead-form-entry.mjs index b46e79b79c4b6..da75cd375f0ae 100644 --- a/components/google_ads/sources/new-lead-form-entry/new-lead-form-entry.mjs +++ b/components/google_ads/sources/new-lead-form-entry/new-lead-form-entry.mjs @@ -8,7 +8,7 @@ export default { key: "google_ads-new-lead-form-entry", name: "New Lead Form Entry", description: "Emit new event for new leads on a Lead Form. [See the documentation](https://developers.google.com/google-ads/api/reference/rpc/v21/GoogleAdsService/Search?transport=rest)", - version: "0.0.5", + version: "0.0.6", type: "source", dedupe: "unique", sampleEmit,