<!-- Generated from Cogny's tool registry. Canonical page: https://cogny.com/integrations/openai-ads/tools -->

# OpenAI Ads tools in Cogny

Cogny's OpenAI Ads integration exposes 32 tools (15 read, 16 write, 1 destructive) to an AI agent over MCP. The same tools are available on every plan, from your own AI client or inside the Cogny app.

- **Read** (15): only reads data.
- **Write** (16): creates or changes something.
- **Destructive** (1): deletes, removes or replaces something.

Over MCP your own AI client asks before it runs a write. To take a tool away from your agent, block it in Settings → Integrations.

## All tools

| Tool | Kind | What it does |
|---|---|---|
| `tool_get_ad_account` | Read | Get the connected ad account: id, name, url, status, timezone, currency_code and review.status (must be `approved` to serve ads). |
| `tool_get_campaigns` | Read | List campaigns in the ad account. |
| `tool_get_campaign` | Read | Retrieve one campaign by id (cmpn_…): status, budget, bidding_type, targeting, schedule, conversion_event_setting_ids. |
| `tool_create_campaign` | Write | Create a campaign. |
| `tool_update_campaign` | Write | Update campaign fields. |
| `tool_update_campaign_status` | Write | Activate, pause or archive a campaign (status: active \| paused \| archived). |
| `tool_get_ad_groups` | Read | List ad groups in a campaign (bidding_config, context_hints, product_set). |
| `tool_get_ad_group` | Read | Retrieve one ad group by id (adgrp_…). |
| `tool_create_ad_group` | Write | Create an ad group inside a campaign. |
| `tool_update_ad_group` | Write | Update an ad group. |
| `tool_update_ad_group_status` | Write | Activate, pause or archive an ad group (status: active \| paused \| archived). |
| `tool_get_ads` | Read | List ads in an ad group with creative (title, body, target_url, file_id), status and review_status (in_review \| approved \| rejected). |
| `tool_get_ad` | Read | Retrieve one ad by id (ad_…). |
| `tool_upload_image` | Write | Upload an image from a public URL and get back a file_id for tool_create_ad (creative image) — or, with purpose='account_favicon' (min 128×128 px), for the account brand favicon. |
| `tool_create_ad` | Write | Create an ad (a ChatGPT chat card) inside an ad group. |
| `tool_update_ad` | Write | Update an ad's name or creative. |
| `tool_update_ad_status` | Write | Activate, pause or archive an ad (status: active \| paused \| archived). |
| `tool_preview_ad` | Write | Generate a shareable preview of how the ad renders in ChatGPT. The preview link expires after 24 hours. |
| `tool_get_insights` | Read | Performance insights: impressions, clicks, spend, ctr, cpc, cpm. |
| `tool_get_conversion_insights` | Read | Conversion metrics (conversions, click_through_conversions, view_through_conversions) for conversion-tracked campaigns. |
| `tool_search_geo_locations` | Read | Find targeting location ids (countries, regions, DMAs, postal codes) by name, e.g. "Stockholm" → id 2000720 (Stockholms län). |
| `tool_list_custom_audiences` | Read | List custom audiences with processing status and privacy-preserving size ranges. intended_use (exclusion \| inclusion \| bid_multiplier) adds use-specific eligibility — inclusion and bid multipliers need roughly 25,000… |
| `tool_get_custom_audience` | Read | Retrieve one custom audience (caud_…) with status, membership_revision and matched-user count range. |
| `tool_create_custom_audience` | Write | Create a custom audience, optionally seeding it inline. |
| `tool_add_custom_audience_members` | Write | Add members to a custom audience inline (see tool_create_custom_audience for the identifier shape). |
| `tool_remove_custom_audience_members` | Write | Remove members from a custom audience inline. |
| `tool_archive_custom_audience` | Destructive | Permanently archive a custom audience. |
| `tool_list_pixels` | Read | List conversion pixels (web sources): id (cds_…), name, pixel_id. |
| `tool_get_pixel_events` | Read | Show up to 50 events a pixel received in the last 15 minutes — the quickest way to verify the site tag or Conversions API is firing. pixel_id is the `pixel_id` value from tool_list_pixels. |
| `tool_list_conversion_event_settings` | Read | List conversion event settings (ces ids used by conversion-optimized campaigns): event_type, attribution window, source pixels, campaigns using them. |
| `tool_create_pixel` | Write | Create a web conversion pixel. |
| `tool_create_conversion_event_setting` | Write | Create a conversion event setting so campaigns can optimize toward it. |

Exact input schemas come from `tools/list` once OpenAI Ads is connected; the free plan is enough to check.

Missing something? Your agent can ask for it with `request_feature`.

How Cogny uses OpenAI Ads: https://cogny.com/integrations/openai-ads

---

All integrations: https://cogny.com/integrations/tools/index.md
Plans, approvals, limits and data protection: https://cogny.com/buying-guide.md
What Cogny is: https://cogny.com/llms.txt
