All guides
Get started

Turn On Write Access in AdChat (and Stay Safe)

AdChat is read-only by default. Learn where the Write Access toggle is, what it unlocks, and the settings that keep your Meta ads safe.

Updated October 24, 2026

When you first connect AdChat, your AI can look at your Facebook and Instagram ads but can't change anything. That's on purpose. This guide explains how to turn on write access when you're ready, what it lets your AI do, and the settings we recommend so nothing changes without your say-so.

Read-only is the default

Every new AdChat account starts read-only. Your AI can pull performance data, look at campaigns, ad sets, ads and creatives, search targeting options and estimate audience sizes. But if it tries to create or change something, the tool refuses and returns a message asking you to turn on write access.

Many people never turn it on. They use AdChat to understand their account and make the changes themselves in Ads Manager. That's a perfectly good way to use it.

What write access unlocks

With write access on, these tools start working:

  • Campaigns: create_campaign, update_campaign (rename, pause or resume, change budget) and create_budget_schedule
  • Ad sets: create_adset and update_adset (targeting, budgets, frequency caps, status)
  • Ads and creatives: create_ad, update_ad, create_ad_creative, update_ad_creative and upload_ad_image (from an image URL)
  • Audiences: create_website_audience (based on your Meta Pixel), create_lookalike_audience, create_engagement_audience and delete_custom_audience

In plain terms, your AI can pause ads that waste money, shift budget to winners, build new campaigns and set up audiences when you ask it to.

How to turn it on

  1. Log in to your AdChat dashboard.
  2. Find the AI settings section on the dashboard home page. (The same switch is also on the Claude & ChatGPT page, under Permissions.)
  3. Flip the Write Access toggle on. You'll see a short "Saved" message.

The description under the toggle changes from "AI can only read your ad data (recommended)" to "AI can create and modify campaigns, ad sets, and ads". The change applies to every app connected to your AdChat account: Claude, ChatGPT, Cursor, the built-in chat and anything else.

Built-in safety rails

Write access doesn't mean your AI goes off on its own. Several things stay in place:

  • New items start paused. Campaigns, ad sets and ads created through AdChat are paused by default. The AI only creates them active if you clearly ask for that. You can review everything in Ads Manager before a cent is spent.
  • It only acts when you ask. AdChat has no background or autopilot mode. Nothing happens unless you send a message.
  • The built-in chat confirms first. In AdChat's own chat, the AI lists the exact change, like "Increase the daily budget of Spring Sale from $50 to $60", and waits for your yes.
  • Your Facebook token stays private. It's stored encrypted, and your AI app never sees it.

Add approval prompts in your AI app

For extra safety, make your AI app ask before every change too.

Claude

Open Customize → Connectors, select AdChat and look at its tool permissions. Set the write tools (anything starting with create_, update_, upload_ or delete_) to Needs approval. Read tools like get_insights can stay on Always allow. Claude will then show you each change and wait for a click before it runs. See the Claude setup guide.

ChatGPT

ChatGPT asks for confirmation before some actions, based on the app's permissions. Read what it plans to do before you approve. See the ChatGPT setup guide.

Claude Code, Cursor and Codex

These ask before using tools, depending on your settings. In Codex you can add default_tools_approval_mode = "writes" to the AdChat entry in config.toml so it always asks before write tools. See Codex.

Good habits

  • Ask for a plan first. "List what you'd change and why, but don't change anything yet" is a great opening.
  • Be specific. Name the campaign and the exact amount. "Raise Spring Sale to $60 a day" is safer than "spend more on what's working".
  • Start small. Try one change, check it in Ads Manager, then do more.
  • Check paused items before you launch. Look at targeting, budget and creative in Ads Manager, then turn them on yourself.

How to turn it off again

Go back to the dashboard and flip Write Access off. It takes effect right away for every connected app. Your AI goes back to read-only, and anything it already created or changed stays as it is in Meta.

To sign an AI app out, click Disconnect next to it under Connected apps on the Claude & ChatGPT page. If you use an API key and think it was exposed, click Roll API key in the API key section of the same page. The old key stops working immediately. You can disconnect Facebook from the dashboard at any time too.

Troubleshooting

I turned it on, but the AI still says write access is off. Start a new chat so the app makes a fresh request. If it still fails, refresh your dashboard and check the toggle saved.

The AI created something I didn't expect. It will be paused unless you asked for it to go live. Delete or edit it in Ads Manager, or ask the AI to update it.

ChatGPT won't run write tools at all. Some ChatGPT plans only allow read access for custom MCP servers. Use Claude or the built-in chat for changes.

FAQ

Can I allow some write actions but not others? The AdChat toggle is all or nothing. For finer control, block or require approval for individual tools in your AI app, for example in Claude's tool permissions or Codex's disabled_tools.

Does write access cost extra? No. It's included in the one plan: $19 a month or $190 a year.

Try it safely

Try it free for 7 days. No credit card needed. Questions? Email [email protected].

Try it on your own ad account

Connect your Meta ads to Claude, ChatGPT or our built-in chat in about a minute.

Start free for 7 daysNo credit card needed. Then $19/month. Cancel anytime.

Questions? Email me at [email protected]