← All action domains

Google ads

18 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.

Load Google advertiser accounts

google_ads.accountsreadadmin only

List advertiser accounts accessible through this account's Google authorization, including manager-account routes and account currencies. Reads account metadata without changing campaigns or spending money.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.accounts \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool google_ads_accounts at https://app.chirply.io/api/mcp, same bearer token, same input.

Activate Google campaign

google_ads.activatewriteconfirmadmin only

Enable a Google campaign created from this account's saved draft. This starts real paid advertising subject to Google's review and eligibility; Google bills the advertiser account under the campaign's current budget. Review the budget in Google before activation if changed externally.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredSaved Google campaign draft ID in this account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.activate \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_activate at https://app.chirply.io/api/mcp, same bearer token, same input.

Read Google audiences

google_ads.audiencesreadadmin only

Read existing audience lists, their estimated sizes and network eligibility from the authorized advertiser account for observation or retargeting. Returns no audience members, uploads no personal data and spends no money.

Parameters

FieldTypeRequiredDescription
customerIdstringrequiredTen-digit Google Ads customer ID, without dashes.
loginCustomerIdstringoptionalOptional manager account ID used to access this advertiser.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.audiences \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "example"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_audiences at https://app.chirply.io/api/mcp, same bearer token, same input.

Build paused campaign follow-up

google_ads.build_followupwriteadmin only

Create a PAUSED follow-up workflow scoped to form submissions on the selected account landing page. Adds a review task and, when a ready sender exists, the supplied email. Sends no messages until a manager reviews and activates the workflow separately; later email delivery is billed normally.

Parameters

FieldTypeRequiredDescription
requestIdstring (uuid)requiredStable request ID reused on retries to prevent duplicate workflows.
funnelIdstring (uuid)requiredPublished landing page/funnel ID in this account.
campaignNamestringrequiredCampaign name used for the workflow and follow-up task.
subjectstringrequiredEmail subject to review in the paused workflow.
bodystringrequiredPlain-text follow-up email; HTML is escaped. May include contact template fields such as {{first_name}}.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.build_followup \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "requestId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "funnelId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "campaignName": "Example",
    "subject": "Example",
    "body": "example"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_build_followup at https://app.chirply.io/api/mcp, same bearer token, same input.

Build matching campaign funnel

google_ads.build_funnelwriteconfirmadmin only

Start a durable AI build for the campaign's matching landing page and thank-you flow. Uses billed AI with a $10 ceiling and 48 model-call limit. Returns a build link; pages remain drafts until separately reviewed and published. Reuse requestId after a timeout to avoid duplicate builds.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
requestIdstring (uuid)requiredStable request ID reused when retrying the same build.
briefstringrequiredVerified offer, audience, ad promise and intended conversion to carry through the funnel.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.build_funnel \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "requestId": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11",
    "brief": "example"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_build_funnel at https://app.chirply.io/api/mcp, same bearer token, same input.

Read Google campaign results

google_ads.campaignsreadadmin only

Read campaign status and the last thirty days of impressions, clicks, cost and conversions for an authorized Google advertiser. Includes YouTube campaigns; changes nothing and spends no money.

Parameters

FieldTypeRequiredDescription
customerIdstringrequiredTen-digit Google Ads customer ID, without dashes.
loginCustomerIdstringoptionalOptional manager account ID used to access this advertiser.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.campaigns \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "example"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_campaigns at https://app.chirply.io/api/mcp, same bearer token, same input.

Connect Google campaign management

google_ads.connectionreadadmin only

Get an organization-bound browser link for Google Search and YouTube campaign authorization. Returns no credentials and buys no advertising. An account manager must approve access in Google.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.connection \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool google_ads_connection at https://app.chirply.io/api/mcp, same bearer token, same input.

Create paused Google campaign

google_ads.create_pausedwriteconfirmadmin only

Create a previously validated Search or YouTube campaign in the connected Google advertiser account. Creates real advertising objects with the campaign PAUSED, so this action alone buys no traffic. Activation is a separate action. Duplicate submissions of a saved draft are blocked.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredSaved Google campaign draft ID in this account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.create_paused \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_create_paused at https://app.chirply.io/api/mcp, same bearer token, same input.

Read saved Google campaigns

google_ads.draftsreadadmin only

Read this account's saved Search and YouTube campaign drafts, validation receipts and creation errors. Makes no changes and spends no money.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.drafts \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool google_ads_drafts at https://app.chirply.io/api/mcp, same bearer token, same input.

Generate Google and YouTube ad plan

google_ads.generate_planwriteconfirmadmin only

Generate Search ad copy, keyword suggestions and a YouTube video script using the account's brand voice, AIDA framework and selected Knowledge Brain. Uses billed AI generation; does not render a video, publish a campaign or buy advertising.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
briefstringrequiredAdvertiser's offer, intended buyer, differentiators and desired next action.
referenceAdobjectoptionalOptional ad screenshot to analyze with billed vision AI and adapt into Search copy and a YouTube script.
referenceAd.urlstring (uri)requiredPublic HTTPS URL of the reference ad image or screenshot. Upload an image through the assets API first if needed.
referenceAd.mode"same_offer" | "different_offer"requiredsame_offer uses the visible offer as a starting point; different_offer borrows only the format and uses the advertiser's new offer.
referenceAd.instructionsstringoptionalWhat to keep or change about the reference, and any new offer details. These instructions come from the advertiser, not the screenshot. Default: ""
brainScopeobjectoptionalOptional verified account knowledge to use. Omitted uses only the brief and saved brand voice.
brainScope.mode"none" | "all" | "selection"requirednone = write from the brief alone; all = use the whole Knowledge Brain; selection = use only the topics and entries named below.
brainScope.topic_idsarray of (string (uuid))optionalKnowledge Brain topic ids to use in full, including every entry inside them. Ignored unless mode is 'selection'. Get ids from brain.list_topics. Default: []
brainScope.item_idsarray of (string (uuid))optionalIndividual knowledge-entry ids to use, for topics not taken in full. Combines with topic_ids. Ignored unless mode is 'selection'. Get ids from brain.list_knowledge. Default: []

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.generate_plan \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "brief": "example"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_generate_plan at https://app.chirply.io/api/mcp, same bearer token, same input.

Choose a published campaign page

google_ads.landing_pagesreadadmin only

List this account's published funnels and their public URLs to use as an advertising destination. Reads only; does not publish pages or spend money.

Parameters

No parameters — POST an empty body.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.landing_pages \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{}'
Test with your API key

Over MCP the same operation is the tool google_ads_landing_pages at https://app.chirply.io/api/mcp, same bearer token, same input.

Launch Google campaign

google_ads.launchwriteconfirmadmin only

Validate the saved Search, YouTube, Display, Standard Shopping or Performance Max campaign and create it ENABLED in its advertiser account. Starts real paid advertising subject to Google's review and eligibility, billed by Google under the saved daily budget. Reuse the same draft ID after errors; submitted or uncertain drafts cannot create duplicates. No separate activation is needed.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredSaved Google campaign draft ID in this account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.launch \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_launch at https://app.chirply.io/api/mcp, same bearer token, same input.

Find Google campaign locations

google_ads.locationsreadadmin only

Search Google's geographic targeting catalog by place name. Returns candidate places to select explicitly; does not change targeting or spend money.

Parameters

FieldTypeRequiredDescription
namesstring[]requiredOne to five place names to look up.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.locations \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "names": [
      "Example"
    ]
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_locations at https://app.chirply.io/api/mcp, same bearer token, same input.

Load Google logo images

google_ads.logo_assetsreadadmin only

List existing image assets and dimensions in the authorized advertiser account for YouTube, Display or Performance Max creative. Reads image metadata; does not upload assets, change campaigns or spend money.

Parameters

FieldTypeRequiredDescription
customerIdstringrequiredTen-digit Google Ads customer ID, without dashes.
loginCustomerIdstringoptionalOptional manager account ID used to access this advertiser.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.logo_assets \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "example"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_logo_assets at https://app.chirply.io/api/mcp, same bearer token, same input.

Pause Google campaign

google_ads.pausewriteconfirmadmin only

Pause a Google campaign created from this account's saved draft to stop new ad delivery. Google may still report or bill already incurred traffic; this does not refund past spend or delete the campaign.

Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredSaved Google campaign draft ID in this account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.pause \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_pause at https://app.chirply.io/api/mcp, same bearer token, same input.

Refresh Google campaign status

google_ads.refresh_statuswriteadmin only

Read the current Google campaign state and update its saved receipt in this account. Can recover a creation receipt after a timeout. Never creates or activates campaigns and spends no money.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredSaved Google campaign draft ID in this account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.refresh_status \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_refresh_status at https://app.chirply.io/api/mcp, same bearer token, same input.

Save Google campaign draft

google_ads.save_draftwriteadmin only

Save an immutable Search, YouTube, Display, Standard Shopping or Performance Max campaign draft after verifying advertiser access. Stores copy, targeting, asset references and budget; creates no Google campaign and spends no advertising money. Audience lists and images must already exist; Shopping requires a linked Merchant Center feed. Performance Max uses signals, never retargeting-only delivery.

Parameters

FieldTypeRequiredDescription
customerIdstringrequiredTen-digit Google Ads customer ID, without dashes.
loginCustomerIdstringoptionalOptional manager account ID used to access this advertiser.
payloadobjectrequiredGoogle campaign type and its editable settings.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.save_draft \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "customerId": "example",
    "payload": {
      "channel": "search",
      "campaign": {
        "nonPolitical": true,
        "name": "Example",
        "finalUrl": "https://example.com",
        "dailyBudget": "example",
        "maxCpc": "example",
        "headlines": [
          "example",
          "example"
        ],
        "descriptions": [
          "example",
          "example"
        ],
        "keywords": [
          {
            "text": "example",
            "matchType": "EXACT"
          }
        ],
        "locationIds": [
          "example"
        ]
      }
    }
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_save_draft at https://app.chirply.io/api/mcp, same bearer token, same input.

Validate saved Google campaign

google_ads.validatewriteadmin only

Ask Google to validate the exact saved campaign in validate-only mode. Stores the validation result but creates no advertising objects and spends no money. Does not guarantee later policy approval or delivery.

Parameters

FieldTypeRequiredDescription
idstring (uuid)requiredSaved Google campaign draft ID in this account.

Example

curl -X POST https://app.chirply.io/api/v1/actions/google_ads.validate \
  -H "Authorization: Bearer chp_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "2f6a1c1e-6c3b-4c62-9f6e-8a2d4b7c9e11"
  }'
Test with your API key

Over MCP the same operation is the tool google_ads_validate at https://app.chirply.io/api/mcp, same bearer token, same input.

The machine-readable version of this page is GET https://app.chirply.io/api/v1/actions?domain=google_ads — same operations, with full JSON Schemas. Authentication, errors and rate limits are covered in the API documentation home.