More articles 17 min read

ChatGPT dots for Meta Ads: your AI media buyer on TikTok and Snap too

Make a ChatGPT dot your media buyer on Meta, TikTok and Snapchat with Apogee: the MCP plugin, the plans it needs, brief, launches, pauses and Bridge prompts.

Mathieu Malige Founder, Apogee Published
Contents
  1. A ChatGPT dot’s job description as a media buyer
  2. Hiring a dot: the Apogee MCP plugin in ChatGPT
  3. ChatGPT dots on Meta Ads: launching the new batch of creatives
  4. ChatGPT dots on TikTok Ads and Snapchat Ads
  5. Its morning routine: the brief, then the pauses
  6. The Monday report, platform by platform
  7. Prompts to copy
  8. Its rules: what it never does without you
  9. ChatGPT dots or ChatGPT: which one should run your ads?
  10. What if the connection gets stuck?
  11. Going further

ChatGPT dots, ChatGPT’s personal agents, can take the media buyer job on Meta, TikTok and Snapchat as soon as Apogee is plugged in as an MCP plugin. Your dot prepares the morning brief, the launch of the creatives that land in Drive, the pause of ads that burn budget and the transfer of your Meta winners to TikTok and Snapchat; nothing goes live without your yes. To launch, you need ChatGPT Business Premium or Enterprise: on Pro, available outside the EEA, the UK and Switzerland, the dot reads your numbers without changing anything.

A ChatGPT dot launches 12 Meta ads with Apogee: the launch card, Testing US campaign, 3 ad sets, copy written from each video, ads created paused, with the Not now and Launch buttons
The dot shows the launch and waits for your click: 12 ads created in the testing campaign, one ad set per concept.

A ChatGPT dot’s job description as a media buyer

Each dot has a name, a look and an @ handle; it works in the background, repeats tasks at set times, uses the plugins installed and enabled on your account, and keeps its work and its review requests in its Activity. A dot only reaches your ad accounts through a plugin. Plugged into Apogee, an advertising MCP for Meta Ads that also covers TikTok and Snapchat, it works within Apogee’s guardrails.

Its taskPlatformWhenWhat you approve
The morning briefMeta, TikTok, SnapchatEvery morningNothing, it only reads
Launch the new batch of creativesMeta, TikTok, SnapchatAs soon as a batch lands in DriveThe launch recap
Prepare the pause of ads that burn budgetMeta, TikTokEvery eveningThe list of pauses, in its Activity
Send Meta winners to TikTok and SnapchatBridgeEvery MondayThe Bridge recap
The weekly reportPlatform by platformEvery MondayNothing, it only reads

In every case, it launches or changes nothing without your yes, never totals platforms together and only touches accounts connected to Apogee.

Hiring a dot: the Apogee MCP plugin in ChatGPT

Two OpenAI rules overlap: who gets dots, and who can write through an MCP server you add yourself. According to OpenAI’s documentation, as of November 3, 2026:

ChatGPT planChatGPT dotsApogee through a custom MCP server
Pro (100, 200, 500)Yes, over 18, outside the European Economic Area, the UK and SwitzerlandRead-only, according to OpenAI’s help
Business PremiumYes, rolling outReads and actions
EnterpriseYes, off by default: an admin turns it onReads and actions

In the EEA, the UK and Switzerland, only Business Premium and Enterprise include dots. On Apogee’s side, you need the Pro, Growth or Scale plan, MCP server included, or the 7-day trial for €1.

In a Business or Enterprise workspace, an admin opens the rights first: Permissions & roles, search “plugins”, then Upload plugins, Upload plugins with custom MCP servers and Create plugins with MCPs. On Enterprise, the admin also turns dots on: Admin Console > Permissions, Workspace default > Workspace capabilities, Use dots (Beta); the apps and actions allowed are picked in Plugin controls.

Then, on ChatGPT on the web, from a computer:

  1. In Apogee, open Settings → Personal agents and pick the Dots tile, ChatGPT’s agent: the server URL shows with a Copy button.
  2. Open chatgpt.com/plugins, click +, then Add custom MCP server.
  3. Give it a display name, Apogee, and a description if you like. Under Connection, set https://app.apogee.ad/mcp as the Server URL.
  4. Choose OAuth as the authentication, then click I understand and want to continue.
  5. Click Create as a plugin, review the tools it found and install the plugin. Apogee’s page opens: log in and click Authorize.
  6. Open your dot, from the desktop app, the mobile app or a computer browser (not the mobile web): it uses the plugins installed and enabled on your account.
Personal agents section of Apogee's settings: ChatGPT dots selected, the server URL, the four steps and the reminder of the ChatGPT plans
Under the steps, Apogee reminds you of the plans: Business or Enterprise to launch.

These steps follow OpenAI’s documentation, read on November 2, 2026, part of which was only readable as an excerpt; we have not run them in a dot yet, for lack of a ChatGPT plan that includes one. No OpenAI page says in black and white that a plugin created from your own MCP server works in a dot: if it is installed and enabled, it should count, and the first test below checks it in a minute. If your screen differs, go by your screen. ChatGPT cannot send an API key: with Apogee, it only goes through the authorization page.

The access you grant

Apogee does not see the dot itself, only your ChatGPT account, so its page is titled “ChatGPT wants to access your Apogee account”. Check the Apogee account shown (Switch to change it), then set the three toggles:

AccessWhat it allowsFor which task
ReadRead accounts, campaigns, ads and statisticsBrief, report
LaunchImport creatives, prepare and launch adsLaunches, Bridge
ManagePauses, budgets, targeting, duplicatesCutting an ad, adjusting a budget

A dot that only sends briefs is fine with Read. On Pro, which only connects reads, Read alone is enough anyway.

Apogee authorization page for ChatGPT dots: ChatGPT asks for access to the account, Read, Launch and Manage toggles, Authorize button
Only approve if you started the connection yourself.

In Apogee, the connection shows under Settings → Personal agents, as ChatGPT: Apogee does not tell a dot from a ChatGPT conversation, the connection serves both. Manage shows there with the Actions label, along with the last used date.

Apogee's Connected assistants section: the ChatGPT connection of your dots with the Read, Launch and Actions access and the Disconnect button
The last used date tells you when the dot last called Apogee.

Day one: check that it sees your accounts

Prompt to copy
Using Apogee, list my Meta, TikTok and Snapchat ad accounts with their currency, then the active campaigns of [ad account]. Don’t change anything.

The dot calls list_ad_accounts, then list_campaigns. If it answers without an error, the plugin works in the dot. If it cannot find Apogee’s tools, check that the plugin is installed and enabled, then open a new conversation.

ChatGPT dots on Meta Ads: launching the new batch of creatives

The Meta launch is the core of the job. If your files follow a naming convention, the most efficient route is one ad set per concept:

Prompt to copy
Launch the creatives in [link] in my [campaign] campaign of [ad account] as One Concept One Adset: one ad set per concept, read from my naming convention. Create everything paused, and show me the full recap before you create anything.

The dot follows the Apogee app’s order:

  1. The account: list_ad_accounts, and a question if you have several.
  2. The creatives: import_link and import_status copy the files of the link (Google Drive, Dropbox, Frame.io) into Apogee; for a Drive folder, list_drive_folder lists them first. Nothing reaches Meta at this stage.
  3. The interview: get_launch_questions returns the app’s questions, with your account’s choices and a recommended answer. For One Concept One Adset, the dot also asks where the new ad sets’ settings come from (a copied ad set, a saved template, or from scratch) and their budget if the campaign has none.
  4. Ads and texts: one creative in 9:16, 4:5 and 1:1 makes a single ad; one primary text, one headline and one description per ad, in the market’s language, for you to approve.
  5. The recap, then the launch: prepare_launch creates nothing. After your yes, launch, then launch_status until it is done.

It is the same logic as the dots’ automatic review. OpenAI puts it this way: asking for a draft does not authorize sending it. Here, asking for a launch only authorizes preparing it. If Meta rejects an ad, launch_status explains what to fix, and the dot does not relaunch the same thing until the cause is sorted.

The launch routine: the new batch, every morning

OpenAI advises giving a dot the time, the time zone and the end date of a recurring task, then having it confirm what it saved:

Prompt to copy
Every weekday at [time], [time zone] time, for the next four weeks, check my Google Drive folder [folder link]. If there are creatives that are not launched yet, prepare a launch in my [campaign] campaign of [ad account], one ad set per concept, with my naming convention and the settings of the latest ad set launched there. Send me the full recap and wait for my yes before you launch. If there is nothing new, say nothing. Confirm what you saved.

As with any link, the folder must be open to “Anyone with the link”, unless it lives in the Drive connected to Apogee. The dot asks every question on its first run, then reuses your answers.

ChatGPT dots on TikTok Ads and Snapchat Ads

Sending Meta winners over with the Bridge

The Bridge is for winners: your dot spots the best Meta ads and Apogee’s Bridge creates paused copies on TikTok and Snapchat, with texts adapted to each platform, without changing the original:

Prompt to copy
Send my 10 best Meta ads of the week to TikTok and Snapchat, in a new ad group and a new ad squad of my testing campaigns. Create everything paused, and show me the full recap before you create anything.
A ChatGPT dot sends the top 10 Meta ads to TikTok and Snapchat with Apogee's Bridge: 10 out of 10 sent on each platform, and the dot's activity on the right
The Meta top 10 heads to TikTok and Snapchat: the original ads stay intact.

To avoid sending anything twice, the dot checks get_top_performers against list_bridge_transfers, then prepares the transfer with prepare_bridge_transfer; bridge_transfer only runs after your yes. On the first transfer, it asks you for the TikTok identity and the call to action, which Meta does not provide. Images stay on Meta: only videos go through.

As a routine, every Monday:

Prompt to copy
Every Monday at [time], [time zone] time, take my [number] best Meta ads of last week by [ROAS or CPA] in [Meta ad account] that are not on TikTok yet, and prepare them on TikTok in my [TikTok campaign] campaign of [TikTok ad account], in a new ad group. Send me the full recap and wait for my yes. Create everything paused.

Launching straight on TikTok and Snapchat

To launch without going through Meta, name the TikTok or Snapchat account in the prompt: the dot creates an ad group on TikTok (an image becomes a carousel there) or an ad squad on Snapchat. See TikTok Ads bulk upload and Snapchat Ads bulk upload for what each platform accepts.

For a big sales moment on all three platforms at once:

Prompt to copy
Take my creatives in [link] and create the Black Friday campaigns on Meta ([Meta ad account]), TikTok ([TikTok ad account]) and Snapchat ([Snapchat ad account]). One new campaign per platform named [name], a budget of [budget] per day on each, the offer is [offer] and it sends to [page]. Create everything paused, and show me the full recap before you create anything.

The dot asks you what each platform requires: on Meta the objective, the pixel, the Page and the Instagram account; on TikTok the identity and whether to use Smart+; on Snapchat the public profile, the pixel and the countries. Each platform gets its own recap, in its account’s currency, and waits for its own yes. One limit on TikTok: GMV Max campaigns, legacy Smart+ campaigns and the ads TikTok generates in Smart+ ad groups are changed in TikTok Ads Manager, not through Apogee.

Its morning routine: the brief, then the pauses

There is no form: you describe the task to the dot in the conversation. OpenAI recommends six elements, then asking the dot to confirm what it saved:

ElementExample for an ads brief
What to checkYesterday on Meta, TikTok and Snapchat, through Apogee
The time8 AM, on weekdays
The time zoneYour own, for example Eastern Time
The end dateIn four weeks, or a set date
When to notifyEvery morning, or only on an alert
Where to deliverIn the conversation with the dot

The task then shows in Scheduled (desktop app), where you can turn it off or delete it; the dot can also list, change or cancel it when you ask. OpenAI describes no notification setting for dots: your prompt decides when it writes to you. The time zone matters twice: each ad account has its own, and Apogee reads each platform in its account’s time zone.

The morning brief, read-only:

Prompt to copy
Every morning at [time], [time zone] time, until [end date], send me yesterday on Meta ([Meta ad account]), TikTok ([TikTok ad account]) and Snapchat ([Snapchat ad account]), each platform on its own: spend, CPA, ROAS, and the 3 best and 3 worst ads. Alert me when a platform’s CPA is more than [threshold]% above its 7-day average, and say which ads moved it. Never add the platforms together. If something should change, propose it and wait for my yes.

The dot reads Meta with get_account_overview and get_top_performers, TikTok and Snapchat with get_platform_overview and get_platform_top_performers. The first time, if Apogee does not know your targets yet, it asks you for them (get_business_profile). Add “only write to me if there is an alert” to get a message only when something drifts. The numbers come from Apogee’s cross-platform stats.

The pause of the ads that burn budget, prepared every evening:

Prompt to copy
Every evening at [time], [time zone] time, find the ads in [ad account] that spent more than [multiple] times my target CPA without a purchase over the last [days] days, on Meta and TikTok. Prepare their pause and send me the list (name, platform, spend, why). Wait for my yes before you do it.
A ChatGPT dot's morning brief with Apogee: spend, ROAS and winners, then the card that pauses 2 ads, with the Not now and Pause buttons
The brief reads the numbers; the pause only happens after your click.

The dot prepares the pauses in Apogee: pause_ad or pause_adset on Meta, set_platform_status on TikTok. Nothing is cut yet. You say yes to all of them, or only to the ads you name, and it runs them with execute_action. Each prepared action is valid 24 hours and runs only once: a list approved the next evening has to be prepared again. A dot can also react to an event when the connected service allows it, but adding a plugin creates no monitoring on its own.

The Monday report, platform by platform

Prompt to copy
Give me this week’s report on Meta, TikTok and Snapchat, platform by platform: spend, ROAS, winners, how the copies sent with the Bridge did, and the ads to cut. Propose the changes, but don’t do anything.

The report comes platform by platform, each in its own currency, time zone and attribution: a total would mix TikTok and Meta conversions that are not counted the same way, and Apogee never makes one.

Prompts to copy

On top of the routines above, six prompts that earn their keep every week:

Prompt to copy
What are my 5 best Meta ads of the last 7 days by ROAS, with their spend? Don’t change anything.
Prompt to copy
Which of my active Meta ads are fatiguing (CTR going down, frequency going up)? Don’t change anything.
Prompt to copy
Duplicate the [name] ad set with a 20% higher budget, paused, and show me the recap.
Prompt to copy
Prepare the pause of the TikTok ads that spent more than 2 times my target CPA without a purchase over 5 days, and wait for my yes.
Prompt to copy
Relaunch the [name] ad with its post ID in the new ad set, to keep its Facebook likes and comments.
Prompt to copy
Where does my latest launch stand? If there are errors, tell me what to fix.

Its rules: what it never does without you

The dots run every action that touches an account through an automatic review: the action goes through, waits for your approval, or is handed back to you. Your personal rules decide which:

  • on a computer or the web: Settings > Personalization, Permissions, Custom rules;
  • on mobile: sidebar, Customize > Custom rules, Add.

Describe the action (launching, pausing or changing the budget of ads with Apogee), pick from Take action without asking, Take action when you say so, Ask before taking action and Hand off to you, then Add rule. For Apogee, keep Ask before taking action; avoid Take action without asking for ad spend. Plugin rights are set separately: Open Plugins, Plugin permissions. OpenAI also says that ChatGPT asks for confirmation by default before the write actions of a custom MCP server. Pause stops a dot’s main task, not its scheduled tasks: those are managed in Scheduled.

Apogee keeps its own guardrails, whatever the dot’s settings:

GuardrailValue
Before any launch or changeA full recap and your yes
Status of created adsPaused by default
Prepared planValid 24 hours, runs only once
Daily budgetRefused above the cap, 500 in the account’s currency by default
Launches and Bridge transfers25 per ad account over 24 hours

Reading costs nothing within your plan’s daily limit (5,000 reads on Pro, 10,000 on Growth and Scale); only successful actions use credits, 2 per change and 15 per ad created. To cut access: Settings → Personal agents in Apogee, then Disconnect next to ChatGPT. Access stops at once for ChatGPT, and so for the dots that go through this plugin; ads already launched are not touched.

ChatGPT dots or ChatGPT: which one should run your ads?

Both use the same Apogee MCP server, added once in ChatGPT:

ProductWhat it isWhat it is for
A dotThe personal agent, in the background, with its scheduled tasksThe brief every morning, the pauses every evening, the Bridge every Monday
ChatGPTThe conversation on chatgpt.comA one-off request: a launch, an analysis, a review

For a media buyer that works while you are away, the dot is the right pick, on the plans that include it. For a one-off request, the conversation is enough: see the Apogee connector in ChatGPT, which also covers the older developer mode route, and Facebook Ads launches and reviews in ChatGPT.

What if the connection gets stuck?

  • Apogee’s tools changed: reopen the connection in ChatGPT Plugins, click Refresh, then open a new conversation.
  • Your menus look different: OpenAI is moving custom MCP servers to chatgpt.com/plugins. The older route went through Settings → Apps → Advanced settings → Developer mode, then Settings → Apps → Create.
  • The dot reads but launches nothing: on a Pro plan, ChatGPT only reads through a custom MCP server. Also check that the Launch access is ticked on Apogee’s side.
  • No option to create the plugin: in a Business or Enterprise workspace, an admin has to open the rights described above.
  • You cannot create a dot on mobile: two OpenAI pages contradict each other on this; use the desktop app.
  • The wrong Apogee account shows on the authorization page: click Switch before Authorize.

Going further

The feature Bridge An ad live on one platform goes live on another, with its video; copy, CTA and tracking rewritten for the destination platform. See the feature

Frequently asked questions

Can ChatGPT dots manage Meta Ads campaigns?

Yes, with an advertising MCP server such as Apogee installed as a plugin, and a ChatGPT Business Premium or Enterprise plan to launch. The dot reads your Meta accounts and prepares launches, pauses and budget changes, and Apogee waits for your yes on a recap before it touches the account.

How do I add an MCP plugin to ChatGPT dots?

On ChatGPT on the web, from a computer, open chatgpt.com/plugins, click + then Add custom MCP server. Name it Apogee, set https://app.apogee.ad/mcp as the Server URL, choose OAuth, click I understand and want to continue, then Create as a plugin, and install it. The dot then uses the plugins installed and enabled on your account.

Which ChatGPT plans include dots?

Pro 100, 200 and 500 for users over 18 outside the European Economic Area, the UK and Switzerland, Business Premium, and Enterprise, where dots are off by default and an admin turns them on. In the EEA, the UK and Switzerland, only Business Premium and Enterprise include dots.

Can a ChatGPT dot launch ads without my approval?

No. Apogee creates nothing until you say yes to the recap, and ads go out paused by default. The dots also run every action that touches an account through an automatic review: keep the Ask before taking action rule for Apogee in your Custom rules.

Why does my dot only read my campaigns?

According to OpenAI's help, ChatGPT Pro only connects the read tools of a custom MCP server: launching needs a Business or Enterprise plan. Also check that the Launch access was ticked on Apogee's authorization page.

Does ChatGPT dots work with TikTok Ads and Snapchat Ads?

Yes, through Apogee, which connects TikTok and Snapchat accounts on top of Meta. The dot can launch ads there (an ad group on TikTok, an ad squad on Snapchat), read the results platform by platform and send your best Meta videos over with the Bridge.

Book a demo

Pick the time that suits you.

Open in a new tab

Loading the calendar…

Talk to Founder