EveryAppEveryApp
Providers

Cloudflare

Cloudflare's API: zones, DNS, Workers, R2, D1, KV and the rest of an account.

Cloudflare's API, for an app that manages zones, DNS, Workers or storage. It's a separate token from the one your Gateway runs on.

API key

  1. Open My Profile → API Tokens and select Create Token.
  2. Give it only the permissions and zones the app needs. Never use the Global API Key. A token on your Gateway's own account can change the Gateway, so keep it narrow.
  3. Select Continue to summary, then Create Token, and copy it. It's shown once.

Add it to your Gateway. It asks for the key:

everyapp provider add cloudflare

Use it in an app

In the app's everyapp.config.ts:

capabilities: {
  cloudflare: { access: "read", why: "What the app does with it." },
},

The app calls Cloudflare's API with integrationFetch(), and the Gateway adds the key. Use "write" if the app changes things. More in API providers.

Check it worked: everyapp provider show cloudflare shows the key as set.

Rate limits: 1,200 requests per 5 minutes per user or account token; 200 a second per IP; GraphQL by query cost, at most 320 per 5 minutes.

Sign in with Cloudflare

Adds Continue with Cloudflare to your Gateway's sign-in page, for people you've invited. Sign-in

  1. Open dash.cloudflare.com and create an OAuth client (Manage Account → OAuth clients).
  2. Add the redirect URL https://<your gateway>/api/auth/callback/cloudflare.
  3. Copy:
    • CLOUDFLARE_SIGNIN_CLIENT_ID: The OAuth client's Client ID.
    • CLOUDFLARE_SIGNIN_CLIENT_SECRET: The OAuth client's Client secret.
  • Keep the client private (the default): a public client lets any Cloudflare user sign in, and Cloudflare says nothing about whether their address is verified. Making a client public is permanent.
  • The Cloudflare account's members sign in; for everyone else use Cloudflare Access's one-time PIN (everyapp access on) or another provider.

Turn it on. It asks for each value:

everyapp signin add cloudflare

Check it worked: everyapp signin show cloudflare shows each setting as set. Then sign out and select the button.

More help

Ask your coding agent to set Cloudflare up: the everyapp skill has the full guide (setup/signin-cloudflare.md).

Something wrong or missing? Open an issue.

On this page