Cloudflare Tunnel
Cloudflare Tunnel exposes services without opening a port. This shows a tunnel’s status, connectors, connections and data centers.
Set it up
Section titled “Set it up”Sign-in: An API key, sent as a bearer token.
integrations: cloudflared: type: cloudflared url: http://cloudflared:8080 key: ${CLOUDFLARED_KEY} account: a1 tunnel: t1
layout: - title: Network widgets: - cloudflared.status| Option | Type | Default | What it does |
|---|---|---|---|
url | URL | https://api.cloudflare.com/client/v4 | Where the service answers, from Valet’s side. |
href | string | https://one.dash.cloudflare.com | Where the card links to, when that differs from url. |
every | string or number | optional | How often to refresh while someone is looking: seconds, or 30s, 5m, 1h. |
insecure | boolean | optional | Accept a self-signed certificate for this service only. |
key | string | required | Its API key or token. Use ${VAR}, so it stays out of the file. |
account | string | required | one.dash.cloudflare.com’), account: z.string(), tunnel: z.string() }, |
tunnel | string | required | one.dash.cloudflare.com’), account: z.string(), tunnel: z.string() }, |
Widgets
Section titled “Widgets”One widget. Its key is cloudflared.status, using the instance name from your config.
Cloudflare Tunnel
Section titled “Cloudflare Tunnel”cloudflared.status · stats card · refreshes every minute while the page is open.
Tall draws the same as medium, so it isn't shown. Only the empty space changes.
States
Section titled “States”Assistant tools
Section titled “Assistant tools”What the assistant can use, once its access level allows it. Read tools run freely. Everything else asks first.
| Tool | Access | What it does |
|---|---|---|
cloudflared_status | read | What Cloudflare Tunnel reports right now: Status, Connectors, Connections, Data centers. |





