# Manage Cloudflare caching with ChatGPT dots

> Managing Cloudflare with ChatGPT dots means letting your always-on dot check each site's Cloudflare link through the xSpeed Hub app on a schedule, while edge purges and development mode wait behind a Custom rule that asks you first.

Page: https://xspeedcache.com/agent/chatgpt-dots/cloudflare/
Last updated: October 2026

A Cloudflare token can be revoked or a zone moved, and nobody notices until a purge fails in the middle of a launch. That kind of slow failure is what a dot is good at catching. Ask it in plain words for a weekly check: call cloudflare_verify on each site, which asks Cloudflare whether the token and Zone ID stored in xSpeed still resolve, and post only the sites that fail, with the HTTP status and Cloudflare's message. The check purges nothing. The dot posts each scheduled run in the conversation, and you manage the schedule from Recent activity in its profile.

The writes belong in a conversation you are part of. purge_cloudflare empties the edge cache for one site's zone and leaves your server copies alone, and set_cloudflare_dev_mode with enabled true bypasses the edge for about three hours, slowing the site for real visitors the whole time. Neither accepts site: "all", so a pass over several sites is one call per site. After a content change the order is server first, then edge, or one purge_cache of type all, which reaches the edge when Cloudflare is connected.

A passing check proves less than it looks. A token without Zone Settings Edit still verifies and purges, then fails the first time development mode is switched, so a clean weekly report does not mean dev mode will work. Ask the dot to say that in its report. And never paste a Cloudflare token into the conversation: the credentials are set in the xSpeed Cache panel in wp-admin on each site, and a failed check is fixed there.

## Set up ChatGPT dots once

### 1. Put your sites in xSpeed Hub

Sign in at app.xspeedcache.com with Google or email; the Hub is free and has no site cap. Then connect each WordPress site from its own dashboard: click Connect Hub in the xSpeed Cache top bar, then Connect via xSpeed Hub. Each site needs the free xSpeed Cache plugin.

### 2. Create the xspeedhub app in ChatGPT

In ChatGPT on the web, turn on Developer mode under Settings, Security and login. Open Plugins, select the plus button and create a developer-mode app named xspeedhub with this URL and OAuth. Click Scan Tools, approve access on the xSpeed Hub page that opens, then click Create. If ChatGPT already has the app, skip this step. On a Business workspace only an admin or owner can turn on developer mode and publish the app.

```
https://app.xspeedcache.com/xspeed/mcp
```

### 3. Check that your dot can see it

OpenAI says plugin permissions are shared across dots and ChatGPT. Open your dot's profile, then Customize and Plugins, and check that xspeedhub is there. That screen uses the shared ChatGPT settings, and OpenAI notes the apps available to a dot may differ, so confirm it before you hand over a task.

```
Dot profile  >  Customize  >  Plugins  >  xspeedhub
```

### 4. Add a custom rule for site changes

Under Customize, Custom rules, describe the action and pick a behavior: Take action without asking, Take action if pre-approved, Ask before taking action, or Hand off to you. Add a rule that covers purging a cache, changing settings or running a speed test through xSpeed Hub, and choose Ask before taking action.

```
Customize  >  Custom rules  >  xSpeed Hub changes: Ask before taking action
```

Full setup: https://xspeedcache.com/agent/chatgpt-dots/

### Before you send a prompt that changes something

Reads change nothing on your sites, though contact_support emails xSpeed support. Writes run once your connection allows them, so your client's approval prompt and a read-only connection (the token's Read-only everywhere switch, or a Viewer sign-in) are the gates that matter. In a ChatGPT chat, write actions from a developer-mode app need your confirmation by default, and ChatGPT treats a tool without a read-only annotation as a write. xSpeed Hub's tools carry no such annotation. A dot comes with OpenAI's defaults for which actions need approval, and Custom rules let you set, for an action you describe, Take action without asking, Take action if pre-approved, Ask before taking action or Hand off to you. xSpeed Hub has no confirmation step of its own, so a rule that lets your dot act without asking runs a purge or a settings change as soon as your connection allows writes. Keep xSpeed Hub changes on Ask before taking action. For read-only access, sign in as a Viewer member of the workspace; the connection token's Read-only everywhere switch does not apply, because the app signs in with OAuth.

## Prompts

- Every Monday, use xSpeed Hub to run cloudflare_verify on each site and post only the ones that fail, with Cloudflare's message.
- With xSpeed Hub, purge the page cache on shop and then its Cloudflare edge, and tell me what each call returned.
- Use xSpeed Hub to turn Cloudflare development mode on for blog, and note the time you switched it on.

## Example session

```
You: Every Monday, use xSpeed Hub to check the Cloudflare link on each site and post only failures.
Agent: Scheduled for Mondays, check only. Running the first pass now.
  → list_sites [read-only]: 3 sites: shop, blog, docs
  → cloudflare_verify(site: shop) [read-only]: Credentials and zone resolve; Cloudflare connected
  → cloudflare_verify(site: blog) [read-only]: error: verify failed, HTTP 403, Cloudflare says the token is invalid
  → cloudflare_verify(site: docs) [read-only]: Credentials and zone resolve; Cloudflare connected
Agent: One failure: blog. Cloudflare rejected its stored token with HTTP 403, so a purge there would fail too. Update the token in the xSpeed Cache panel in wp-admin on blog, not in this chat, and I will check it again. Nothing was purged.
You: Updated. Check blog again.
  → cloudflare_verify(site: blog) [read-only]: Credentials and zone resolve; Cloudflare connected
Agent: blog verifies now. Next Monday's run will include it as usual.
```

## How it works

1. **Verify the connection**: cloudflare_verify calls Cloudflare's API with the credentials stored on the site and checks that the token and zone still resolve. It purges nothing and works on a read-only connection. If Cloudflare is not connected on that site, the call comes back as an error and the agent should tell you rather than retry.
2. **Purge the edge**: purge_cloudflare empties the Cloudflare edge cache for the site's zone. It does not touch the copies on your server. When Cloudflare is in front of a site, a content change usually needs both, so the agent runs purge_cache first and purge_cloudflare after it, or one purge_cache of type all, which reaches the edge when Cloudflare is connected.
3. **Turn development mode on to see origin changes**: set_cloudflare_dev_mode with enabled true bypasses the edge for about three hours, so changes on the origin show immediately. It slows the site for real visitors the whole time. Your client's prompt is the gate here, because the Hub's instructions do not name this tool in their confirm list.
4. **Turn it off when you finish**: set_cloudflare_dev_mode with enabled false switches development mode off. Cloudflare also ends it on its own after about three hours. No Hub tool reads whether it is currently on, so note when you turned it on.
5. **Read a failure**: A rejected token, an empty zone ID or a refused call comes back as an error that names the action, the HTTP status and Cloudflare's message when it gave one. It is not reported as a success. The credentials themselves are set in the xSpeed Cache panel in wp-admin, not through the Hub.

## Reference

| | |
| --- | --- |
| Read tool | cloudflare_verify; purges nothing and works on a read-only connection |
| Write tools | purge_cloudflare and set_cloudflare_dev_mode (enabled true or false) |
| Needs | Cloudflare connected in xSpeed on that site: integration on, an API token (or the legacy key and email) and a Zone ID |
| Edge purge scope | Everything Cloudflare holds for the site's zone; the server copies stay |
| Development mode | Bypasses the edge for about 3 hours, then Cloudflare switches it off |
| Token permissions | Zone Cache Purge, and Zone Settings Edit for development mode |
| What verify proves | The token and zone resolve; a token without Zone Settings Edit still verifies |
| Through purge_cache | Type all also clears the edge when Cloudflare is connected; page, assets, object and rest do not |
| Every site at once | None of the three accept site: "all"; one site per call |
| Failure shape | An error with the action, the HTTP status and Cloudflare's message |
| Read-only connection | The connection token with Read-only everywhere on, or a Viewer member's sign-in; purge_cloudflare and set_cloudflare_dev_mode are refused and cloudflare_verify works. An OAuth sign-in gets the scopes the client asks for, so the switch does not make it read-only |
| Confirmation | None on the Hub; your client's prompt is the gate |

## Rules

- Run cloudflare_verify first, but do not read a pass as proof that every call will work. A token that lacks Zone Settings Edit verifies and purges fine, then fails the first time development mode is switched.
- Purge the server and the edge together after a content change. Purging only the site leaves visitors on the old page until the edge copy expires.
- Turn development mode off as soon as you are done. It slows the site for real visitors for up to about three hours, and no tool reports its state.
- Never paste a Cloudflare token or Global API Key into the chat. Connect Cloudflare in the xSpeed Cache panel in wp-admin, and use a scoped API token rather than the Global API Key.
- purge_cloudflare and set_cloudflare_dev_mode are write tools. The Hub runs them as soon as your connection allows writes, so your client's approval prompt and a read-only connection (the connection token with Read-only everywhere on, or a Viewer member's sign-in) are the gates that matter.

## Good to know with ChatGPT dots

Write a Custom rule for Cloudflare actions through xSpeed Hub, purging the edge or switching development mode, and set it to Ask before taking action. A rule that lets the dot take those actions without asking means a scheduled run could switch dev mode on and leave a live site slower for about three hours, with nobody watching. The Hub has no confirmation step of its own, and its instructions to the agent do not name set_cloudflare_dev_mode in their confirm list. No Hub tool reports whether dev mode is on, so ask the dot to note when it switched it. In a ChatGPT chat, a tool without a read-only annotation counts as a write, and the Hub declares none. The app signs in with OAuth, so the connection token's Read-only everywhere switch does not apply; for a dot that only verifies, sign in as a Viewer member of the workspace.

## More prompts for this job

They work in any client connected to xSpeed Hub.

- Use xSpeed Hub to check that the Cloudflare connection on shop still works.
- With xSpeed Hub, purge the Cloudflare edge cache on blog.
- I changed the checkout page on shop. Use xSpeed Hub to purge the site cache and the Cloudflare edge.
- Use xSpeed Hub to turn Cloudflare development mode on for shop. I am editing the theme.
- With xSpeed Hub, turn Cloudflare development mode off on shop.
- Ask xSpeed Hub to verify Cloudflare on shop and tell me what is wrong if it fails.
- Using xSpeed Hub, which of my sites have a working Cloudflare connection? Check them one at a time.

## Frequently asked questions

### Can my ChatGPT dot check Cloudflare on every site each week?

Yes. Ask it for a recurring check and it schedules one that calls cloudflare_verify on each site, one call per site, and posts the failures in the conversation. The check only reads, which suits a run nobody watches.

### Should a scheduled dot run purge Cloudflare?

Better not. A purge or a development mode switch through the Hub runs as soon as the connection allows writes, and the Hub has no confirmation step. Keep a Custom rule on Ask before taking action for Cloudflare actions, and purge in a conversation you are part of.

### What does a site need before the Cloudflare tools work?

Cloudflare has to be connected in xSpeed on that site: the integration switched on, an API token (or the legacy Global API Key with your Cloudflare email) and the Zone ID of the domain. You set these in the xSpeed Cache panel in wp-admin. Without them, the tools return an error instead of acting.

### Does purging the xSpeed cache also clear Cloudflare?

A purge_cache of type all does, when the site has Cloudflare connected, and it reports each step. A page, assets, object or rest purge stays on your server. purge_cloudflare clears only the edge, so use it when the server copy is already fresh.

### How long does development mode last?

About three hours. Cloudflare switches it off on its own after that. While it is on, the edge is bypassed, so origin changes show at once and real visitors get a slower site. Turn it off yourself with set_cloudflare_dev_mode set to false when you are done.

### Why did cloudflare_verify pass but development mode failed?

Verifying and purging do not need Zone Settings Edit on the token, so a token without it looks fine. Development mode writes a zone setting, so it is refused. Edit the token in Cloudflare so it has both Zone Cache Purge and Zone Settings Edit, then try again.

### Can I purge Cloudflare on all my sites with one prompt?

Not with purge_cloudflare, which takes one site per call. A purge_cache of type all with site set to all clears the edge on each site that has Cloudflare connected, and the result is reported per site. The Hub tells the agent to confirm a write across every site with you once first.

## Manage Cloudflare with other agents

[Claude Code](https://xspeedcache.com/agent/claude-code/cloudflare/) · [Claude](https://xspeedcache.com/agent/claude/cloudflare/) · [Claude Cowork](https://xspeedcache.com/agent/claude-cowork/cloudflare/) · [ChatGPT](https://xspeedcache.com/agent/chatgpt/cloudflare/) · [Codex](https://xspeedcache.com/agent/codex/cloudflare/) · [Cursor](https://xspeedcache.com/agent/cursor/cloudflare/) · [GitHub Copilot in VS Code](https://xspeedcache.com/agent/github-copilot/cloudflare/) · [Windsurf](https://xspeedcache.com/agent/windsurf/cloudflare/) · [Gemini CLI](https://xspeedcache.com/agent/gemini-cli/cloudflare/) · [Antigravity](https://xspeedcache.com/agent/antigravity/cloudflare/) · [Zed](https://xspeedcache.com/agent/zed/cloudflare/) · [Kiro](https://xspeedcache.com/agent/kiro/cloudflare/) · [OpenCode](https://xspeedcache.com/agent/opencode/cloudflare/) · [OpenClaw](https://xspeedcache.com/agent/openclaw/cloudflare/) · [Hermes Agent](https://xspeedcache.com/agent/hermes-agent/cloudflare/) · [Grok Build](https://xspeedcache.com/agent/grok-build/cloudflare/) · [Grok](https://xspeedcache.com/agent/grok/cloudflare/) · [Grok Bot](https://xspeedcache.com/agent/grok-bot/cloudflare/) · [Muse](https://xspeedcache.com/agent/muse/cloudflare/) · [Manus](https://xspeedcache.com/agent/manus/cloudflare/) · [Kimi Code](https://xspeedcache.com/agent/kimi/cloudflare/) · [Paperclip](https://xspeedcache.com/agent/paperclip/cloudflare/) · [NanoClaw](https://xspeedcache.com/agent/nanoclaw/cloudflare/)

## More with ChatGPT dots

- [Purge the WordPress cache with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/purge-cache/)
- [Find out why WordPress pages are not cached with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/troubleshoot-cache/)
- [Scan a website for speed problems with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/speed-scan/)
- [Run and track PageSpeed tests with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/pagespeed-tests/)
- [Raise a WordPress site's PageSpeed score with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/optimize-site/)
- [Tune WordPress cache settings with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/cache-settings/)
- [Warm the WordPress cache with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/preload-cache/)
- [Set up the Redis object cache with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/object-cache/)
- [Manage every WordPress site at once with ChatGPT dots](https://xspeedcache.com/agent/chatgpt-dots/fleet/)

## Documentation

- How to connect Cloudflare: https://xspeedcache.com/docs/cloudflare/
- How to serve assets from a CDN: https://xspeedcache.com/docs/cdn/
- How to enable Page Cache: https://xspeedcache.com/docs/page-cache/
