A deployment operator connects Cloudflare once from the Integrations page
using OAuth. Cloudflare uses dynamic client registration and asks the operator
to approve the permissions available to the shared deployment connection.
Cloudflare exposes one tool for finding API operations and one tool for running
them. The same execution tool can call read and write APIs, so Roomote treats
mutations as explicit actions: it only changes Cloudflare resources when the
request clearly asks for that specific change. Cloudflare still enforces the
permissions granted during OAuth consent.
Start with a read-only request, such as listing zones or inspecting a Worker.
If the request is denied, reconnect Cloudflare and review the permissions made
available during consent.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Roomote Docs","description":"Documentation for Roomote, the open, self-hostable platform for cloud coding agents.","colors":{"primary":"#B0CD26","light":"#D6EE26","dark":"#B0CD26"},"logo":{"light":"https://docs.roomote.dev/logo/light.svg","dark":"https://docs.roomote.dev/logo/dark.svg","href":"https://docs.roomote.dev"},"favicon":"https://mintcdn.com/roocode/jcTIWgKmjs94WhSu/favicon.png?fit=max\u0026auto=format\u0026n=jcTIWgKmjs94WhSu\u0026q=85\u0026s=74880d487bd4434634770b3aadbad452","navbar":{"links":[{"icon":"external-link","href":"https://roomote.dev","label":"Go to roomote.dev"}]},"footer":{"socials":{"github":"https://github.com/RooCodeInc/Roomote"}},"fonts":{"family":"DM Sans"},"icons":{"library":"lucide"},"thumbnails":{"appearance":"light","background":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/data:image/svg+xml,%3Csvg%20xmlns=%22http:/www.w3.org/2000/svg%22%20width=%221200%22%20height=%22630%22%3E%3Crect%20width=%221200%22%20height=%22630%22%20fill=%22%23D6EE26%22/%3E%3C/svg%3E","fonts":{"family":"DM Sans"}},"markdown":{"instructions":["Start new users at /index, then /self-hosting to choose and prepare a host, including home networks at /homelab or infrastructure providers at /self-hosting/platforms. Continue through /first-task. Use Local development only when the user intends to modify Roomote itself.","When an agent is asked to follow /self-hosting or install Roomote autonomously, read and follow /self-hosting/agent-installation as the normative automation contract even though it is intentionally hidden from side navigation.","Use the one-command Linux installer for both evaluation and production. On macOS or Windows, create or reuse a full Ubuntu VM and run the same installer inside it; do not replace the installer with the repository's development Compose files.","For a local VM, prepare a stable public HTTPS domain before connecting providers. Use a named tunnel with internal origin TLS or public DNS with ports 80/443 forwarded to the Linux host. Cloudflare Quick Tunnels do not support the Server-Sent Events Roomote uses; do not use them for the complete setup path.","Run automated installs with --no-setup-url so the bootstrap token is not captured in the agent transcript. Let the user obtain the setup URL in a trusted terminal, enter credentials, and complete browser authorization.","Proceed through safe, reversible setup and pause for privileged host or VM changes, public tunnel creation, credentials or browser authorization, durable external-account changes, destructive operations, existing-state conflicts, or when no documented safe default applies.","A setup is not complete when the services merely start. Follow /first-task to verify sign-in, repository sync, and a real Roomote task that can clone and run a command. A saved environment is optional for a repository task. Verify branch or pull-request delivery and previews when configured; Slack and other communications providers are optional."]},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"roocode","hasAudioNarration":false,"actualSubdomain":"roocode","customDomains":["docs.roomote.dev"],"gitSource":{"type":"github","owner":"roocodeinc","repo":"roomote","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb4858385381993c307697","collectionId":"2e646155-ca42-455d-9410-4108ceadcfe6","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb4858385381993c307697"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6aeb4858385381993c307697","clientVersion":"0.0.4064","searchFilterCounts":[{"language":"default","tag":"Configuring Providers","count":45},{"language":"default","tag":"Integrations","count":31},{"language":"default","tag":"Models and inference","count":28},{"language":"default","tag":"Using Roomote","count":11},{"language":"default","tag":"Configuring Roomote","count":7},{"language":"default","tag":"Automating Work","count":7},{"language":"default","tag":"Sandboxes","count":7},{"language":"default","tag":"Getting started","count":5},{"language":"default","tag":"Communications","count":5},{"language":"default","tag":"Source control","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"roomote.css","content":"@font-face{font-family:'Monaspace Neon';font-style:normal;font-weight:400;font-display:swap;src:url('/fonts/monaspace-neon-latin-400-normal.woff2') format('woff2')}@font-face{font-family:'Monaspace Neon';font-style:normal;font-weight:500;font-display:swap;src:url('/fonts/monaspace-neon-latin-500-normal.woff2') format('woff2')}@font-face{font-family:'Monaspace Neon';font-style:normal;font-weight:700;font-display:swap;src:url('/fonts/monaspace-neon-latin-700-normal.woff2') format('woff2')}:root{--roomote-lime: #b0cd26;--roomote-lime-light: #d6ee26;--roomote-code-font:\n 'Monaspace Neon', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,\n 'Liberation Mono', 'Courier New', monospace;--roomote-radius: 0.75rem}code,pre,kbd,samp,.font-mono,[class*=\"language-\"]{font-family:var(--roomote-code-font)}pre,img,.rounded-lg,.rounded-xl{border-radius:var(--roomote-radius)}nav a[href=\"https://roomote.dev\"],.navbar a[href=\"https://roomote.dev\"]{display:inline-flex;align-items:center;gap:0.35rem}nav a[href=\"https://roomote.dev\"] svg,.navbar a[href=\"https://roomote.dev\"] svg{order:2}.integration-name{display:inline-flex;align-items:center;gap:0.45rem;width:max-content;max-width:100%;padding:0;border:0!important;background:none!important;line-height:1.2;vertical-align:middle;box-shadow:none!important}.integration-logo{display:inline-block;width:1rem;height:1rem;flex:0 0 auto;margin:0!important;vertical-align:middle}.integration-logo,img[src^=\"https://api.iconify.design/simple-icons/\"],img[src^=\"https://api.iconify.design/simple-icons:\"],img[src^=\"https://unpkg.com/@lobehub/icons-static-svg@\"],img[src*=\"/logo/integrations/\"],img[src*=\"/favicon.svg\"]{border-radius:0}.integration-name [data-rmiz],.integration-name [data-rmiz-content]{display:inline-flex!important;align-items:center;flex:0 0 auto;margin:0!important}.dark img[src^=\"https://api.iconify.design/simple-icons/\"],.dark img[src^=\"https://api.iconify.design/simple-icons:\"]{filter:invert(1)}.dark img[src^=\"https://unpkg.com/@lobehub/icons-static-svg@\"]{filter:invert(1)}.dark img[src*=\"/logo/integrations/\"]{filter:invert(1)}.dark img[src*=\"/favicon.svg\"]{filter:invert(1)}@media (max-width: 767px){[role=\"status\"][aria-live=\"polite\"][class~=\"z-999\"]{display:none}}"}],"page":{"pagePath":"integrations/cloudflare","slug":"/integrations/cloudflare","pageMetadata":{"title":"Cloudflare","description":"Inspect and operate Cloudflare resources from Roomote tasks.","icon":"https://api.iconify.design/simple-icons:cloudflare.svg?color=currentColor","href":"/integrations/cloudflare"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Inspect and operate Cloudflare resources from Roomote tasks.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Connect Cloudflare when tasks need account, zone, DNS, Workers, security, or\nother Cloudflare API context.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-setup-works`,children:`How setup works`}),`\n`,_jsxs(_components.p,{children:[`A deployment operator connects Cloudflare once from the `,_jsx(_components.strong,{children:`Integrations`}),` page\nusing OAuth. Cloudflare uses dynamic client registration and asks the operator\nto approve the permissions available to the shared deployment connection.`]}),`\n`,_jsx(Heading,{level:`2`,id:`permissions-and-changes`,children:`Permissions and changes`}),`\n`,_jsx(_components.p,{children:`Cloudflare exposes one tool for finding API operations and one tool for running\nthem. The same execution tool can call read and write APIs, so Roomote treats\nmutations as explicit actions: it only changes Cloudflare resources when the\nrequest clearly asks for that specific change. Cloudflare still enforces the\npermissions granted during OAuth consent.`}),`\n`,_jsx(Heading,{level:`2`,id:`verify-the-connection`,children:`Verify the connection`}),`\n`,_jsx(_components.p,{children:`Start with a read-only request, such as listing zones or inspecting a Worker.\nIf the request is denied, reconnect Cloudflare and review the permissions made\navailable during consent.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Cloudflare","description":"Inspect and operate Cloudflare resources from Roomote tasks.","icon":"https://api.iconify.design/simple-icons:cloudflare.svg?color=currentColor","href":"/integrations/cloudflare"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How setup works","slug":"how-setup-works","depth":2,"children":[]},{"title":"Permissions and changes","slug":"permissions-and-changes","depth":2,"children":[]},{"title":"Verify the connection","slug":"verify-the-connection","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"roocode","siteName":"Roomote Docs","title":"Cloudflare - Roomote Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-24T16:33:40.378Z","originalFileLocation":"integrations/cloudflare.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Inspect and operate Cloudflare resources from Roomote tasks.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Roomote Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Cloudflare - Roomote Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Inspect and operate Cloudflare resources from Roomote tasks.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Roomote Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.roomote.dev/integrations/cloudflare\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://roocode.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Cloudflare\u0026amp;description=Inspect+and+operate+Cloudflare+resources+from+Roomote+tasks.\u0026amp;theme=a2d09f9240cd627ca6d77929\u0026amp;signature=d0b8f93fca569fe0f43d7442ab6d3ac940a650cdd093fabab8340a87afb8b4a4\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Cloudflare - Roomote Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Inspect and operate Cloudflare resources from Roomote tasks.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://roocode.mintlify.app/_mintlify/api/og/v2?division=Integrations\u0026amp;title=Cloudflare\u0026amp;description=Inspect+and+operate+Cloudflare+resources+from+Roomote+tasks.\u0026amp;theme=a2d09f9240cd627ca6d77929\u0026amp;signature=d0b8f93fca569fe0f43d7442ab6d3ac940a650cdd093fabab8340a87afb8b4a4\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/roocode/OL8JGyX3R70KyH08/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Roomote Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#B0CD26\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.roomote.dev/integrations/cloudflare\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/integrations/cloudflare.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.roomote.dev/#organization\",\"name\":\"Roomote Docs\",\"url\":\"https://docs.roomote.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://docs.roomote.dev/logo/light.svg\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.roomote.dev#website\",\"name\":\"Roomote Docs\",\"url\":\"https://docs.roomote.dev\",\"publisher\":{\"@id\":\"https://docs.roomote.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.roomote.dev/integrations/cloudflare#webpage\",\"url\":\"https://docs.roomote.dev/integrations/cloudflare\",\"name\":\"Cloudflare\",\"description\":\"Inspect and operate Cloudflare resources from Roomote tasks.\",\"dateModified\":\"2026-09-24T16:33:40.378Z\",\"isPartOf\":{\"@id\":\"https://docs.roomote.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.roomote.dev/integrations/cloudflare#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.roomote.dev/integrations/cloudflare#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Integrations\",\"item\":\"https://docs.roomote.dev/integrations/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cloudflare\",\"item\":\"https://docs.roomote.dev/integrations/cloudflare\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.roomote.dev/integrations/cloudflare#article\",\"headline\":\"Cloudflare\",\"name\":\"Cloudflare\",\"description\":\"Inspect and operate Cloudflare resources from Roomote tasks.\",\"url\":\"https://docs.roomote.dev/integrations/cloudflare\",\"mainEntityOfPage\":{\"@id\":\"https://docs.roomote.dev/integrations/cloudflare#webpage\"},\"dateModified\":\"2026-09-24T16:33:40.378Z\",\"publisher\":{\"@id\":\"https://docs.roomote.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.roomote.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Roomote Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Roomote Docs","nav":{"global":null,"groups":[{"group":"Getting started","pages":[{"title":"Getting started","icon":"book-open","href":"/index"},{"group":"Self-hosted","icon":"server","root":{"title":"Self-hosting","icon":"server","href":"/self-hosting"},"expanded":false,"pages":[{"title":"Home network and homelab","icon":"house-plug","href":"/homelab"},{"title":"Hosting platforms","icon":"cloud-cog","href":"/self-hosting/platforms"},{"title":"Operate a self-hosted deployment","icon":"wrench","href":"/self-hosting/operations"}]},{"title":"Run your first task","icon":"play","href":"/first-task"}]},{"group":"Using Roomote","pages":[{"title":"How Roomote works","icon":"workflow","href":"/how-roomote-works"},{"title":"Use cases","icon":"bot-message-square","href":"/use-cases"},{"title":"Review a task","icon":"clipboard-check","href":"/tasks"},{"title":"Live Previews","icon":"app-window","href":"/live-previews"},{"title":"Goal Mode","icon":"target","href":"/goal-mode"},{"title":"Sessions","icon":"messages-square","href":"/fast-sessions"},{"title":"Integration keys","icon":"key-round","href":"/integration-keys"},{"title":"Memory","icon":"book-open-text","href":"/memory"},{"title":"File attachments","icon":"paperclip","href":"/file-attachments"},{"title":"Voice","icon":"audio-lines","href":"/voice"},{"title":"Privacy","icon":"shield-check","href":"/privacy"}]},{"group":"Automating Work","pages":[{"title":"Automations","icon":"zap","href":"/automations"},{"title":"Configure automations","icon":"settings-2","href":"/automation-configuration"},{"title":"Custom automations","icon":"square-pen","href":"/custom-automations"},{"title":"Automation webhooks","icon":"webhook","href":"/automation-webhooks"},{"title":"Automation results","icon":"notepad-text","href":"/automation-results"},{"title":"Cookbook","icon":"cooking-pot","href":"/cookbook/index"},{"title":"Contributing recipes","icon":"plus","href":"/cookbook/template"}]},{"group":"Configuring Providers","pages":[{"group":"Models and inference","icon":"brain","root":{"title":"Inference overview","icon":"brain","href":"/models"},"expanded":false,"pages":[{"title":"Amazon Bedrock","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/bedrock.svg","href":"/providers/inference/amazon-bedrock"},{"title":"Anthropic","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/anthropic.svg","href":"/providers/inference/anthropic"},{"title":"Azure AI Foundry","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/azure.svg","href":"/providers/inference/azure-foundry"},{"title":"Azure OpenAI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/azure.svg","href":"/providers/inference/azure-openai"},{"title":"Baseten","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/baseten.svg","href":"/providers/inference/baseten"},{"title":"ChatGPT subscription","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/openai.svg","href":"/providers/inference/chatgpt"},{"title":"DeepSeek","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/deepseek.svg","href":"/providers/inference/deepseek"},{"title":"GitHub Copilot","icon":"https://api.iconify.design/simple-icons:githubcopilot.svg?color=currentColor","href":"/providers/inference/github-copilot"},{"title":"Google Gemini","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/gemini.svg","href":"/providers/inference/google-gemini"},{"title":"Kimi for Coding","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/kimi.svg","href":"/providers/inference/kimi-for-coding"},{"title":"LiteLLM","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/openai.svg","href":"/providers/inference/litellm"},{"title":"MiniMax","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/minimax.svg","href":"/providers/inference/minimax"},{"title":"Moonshot AI (Kimi)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/moonshot.svg","href":"/providers/inference/moonshot-ai"},{"title":"Ollama","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/ollama.svg","href":"/providers/inference/ollama"},{"title":"OpenAI","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/openai.svg","href":"/providers/inference/openai"},{"title":"OpenAI-compatible","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/openai.svg","href":"/providers/inference/openai-compatible"},{"title":"OpenCode Zen","icon":"https://api.iconify.design/simple-icons/opencode.svg?color=currentColor","href":"/providers/inference/opencode"},{"title":"OpenCode Go","icon":"https://api.iconify.design/simple-icons/opencode.svg?color=currentColor","href":"/providers/inference/opencode-go"},{"title":"OpenRouter","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/openrouter.svg","href":"/providers/inference/openrouter"},{"title":"Requesty","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/requesty.png","href":"/providers/inference/requesty"},{"title":"Together AI","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/together.svg","href":"/providers/inference/together-ai"},{"title":"TypeSafe","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/typesafe.svg","href":"/providers/inference/typesafe"},{"title":"Vercel AI Gateway","icon":"https://api.iconify.design/simple-icons/vercel.svg?color=currentColor","href":"/providers/inference/vercel-ai-gateway"},{"title":"vLLM","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/vllm.svg","href":"/providers/inference/vllm"},{"title":"xAI","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/xai.svg","href":"/providers/inference/xai"},{"title":"xAI Grok subscription","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/xai.svg","href":"/providers/inference/xai-subscription"},{"title":"Z.AI","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/zai.svg","href":"/providers/inference/zai"},{"title":"Z.AI Coding Plan","icon":"https://unpkg.com/@lobehub/icons-static-svg@1.94.0/icons/zai.svg","href":"/providers/inference/zai-coding-plan"}]},{"group":"Communications","icon":"messages-square","root":{"title":"Communications overview","icon":"messages-square","href":"/communications"},"expanded":false,"pages":[{"title":"Email (AgentMail)","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/agentmail.svg","href":"/providers/communications/agentmail"},{"title":"Discord","icon":"https://api.iconify.design/simple-icons:discord.svg?color=currentColor","href":"/providers/communications/discord"},{"title":"Microsoft Teams","icon":"https://api.iconify.design/simple-icons:microsoftteams.svg?color=currentColor","href":"/providers/communications/microsoft-teams"},{"title":"Slack","icon":"https://api.iconify.design/simple-icons:slack.svg?color=currentColor","href":"/providers/communications/slack"},{"title":"Telegram","icon":"https://api.iconify.design/simple-icons:telegram.svg?color=currentColor","href":"/providers/communications/telegram"}]},{"group":"Source control","icon":"git-merge","root":{"title":"Source control overview","icon":"git-merge","href":"/source-control"},"expanded":false,"pages":[{"title":"Azure DevOps","icon":"https://api.iconify.design/simple-icons:azuredevops.svg?color=currentColor","href":"/providers/source-control/azure-devops"},{"title":"Bitbucket Cloud","icon":"https://api.iconify.design/simple-icons:bitbucket.svg?color=currentColor","href":"/providers/source-control/bitbucket"},{"title":"Gitea","icon":"https://api.iconify.design/simple-icons:gitea.svg?color=currentColor","href":"/providers/source-control/gitea"},{"title":"GitHub","icon":"https://api.iconify.design/simple-icons:github.svg?color=currentColor","href":"/providers/source-control/github"},{"title":"GitLab","icon":"https://api.iconify.design/simple-icons:gitlab.svg?color=currentColor","href":"/providers/source-control/gitlab"}]},{"group":"Sandboxes","icon":"cpu","root":{"title":"Sandboxes overview","icon":"cpu","href":"/compute"},"expanded":false,"pages":[{"title":"Azure Container Apps","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/azure.svg","href":"/providers/compute/azure"},{"title":"Blaxel","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/blaxel.svg","href":"/providers/compute/blaxel"},{"title":"Box","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/box.svg","href":"/providers/compute/box"},{"title":"Daytona","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/daytona.svg","href":"/providers/compute/daytona"},{"title":"Docker","icon":"https://api.iconify.design/simple-icons:docker.svg?color=currentColor","href":"/providers/compute/docker"},{"title":"E2B","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/e2b.svg","href":"/providers/compute/e2b"},{"title":"Modal","icon":"https://api.iconify.design/simple-icons:modal.svg?color=currentColor","href":"/providers/compute/modal"}]}]},{"group":"Integrations","pages":[{"title":"Integrations overview","icon":"plug","href":"/integrations/index"},{"title":"Custom MCP servers","icon":"plug-zap","href":"/integrations/custom-mcp-servers"},{"title":"HTTP Integrations","icon":"arrow-right-left","href":"/integrations/http-integrations"},{"title":"Roomote MCP","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/favicon.svg","href":"/integrations/roomote-mcp"},{"title":"Asana","icon":"https://api.iconify.design/simple-icons:asana.svg?color=currentColor","href":"/integrations/asana"},{"title":"Better Stack","icon":"https://api.iconify.design/simple-icons:betterstack.svg?color=currentColor","href":"/integrations/better-stack"},{"title":"Buildkite","icon":"https://api.iconify.design/simple-icons:buildkite.svg?color=currentColor","href":"/integrations/buildkite"},{"title":"Braintrust","description":"Give Roomote access to Braintrust prompts, runs, and results.","icon":"https://api.iconify.design/simple-icons:braintrust.svg?color=currentColor","href":"/integrations/braintrust"},{"title":"Cloudflare","icon":"https://api.iconify.design/simple-icons:cloudflare.svg?color=currentColor","href":"/integrations/cloudflare"},{"title":"ElevenLabs","description":"Add voice narration to Roomote feature-demo videos.","icon":"https://api.iconify.design/simple-icons:elevenlabs.svg?color=currentColor","href":"/integrations/elevenlabs"},{"title":"Exa","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/exa.svg","href":"/integrations/exa"},{"title":"Grafana","icon":"https://api.iconify.design/simple-icons:grafana.svg?color=currentColor","href":"/integrations/grafana"},{"title":"Granola","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/granola.svg","href":"/integrations/granola"},{"title":"Jira","icon":"https://api.iconify.design/simple-icons:jira.svg?color=currentColor","href":"/integrations/jira"},{"title":"Linear","icon":"https://api.iconify.design/simple-icons:linear.svg?color=currentColor","href":"/integrations/linear"},{"title":"monday.com","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/monday.svg","href":"/integrations/monday"},{"title":"Neon","icon":"https://api.iconify.design/simple-icons:neon.svg?color=currentColor","href":"/integrations/neon"},{"title":"Notion","icon":"https://api.iconify.design/simple-icons:notion.svg?color=currentColor","href":"/integrations/notion"},{"title":"PostHog","icon":"https://api.iconify.design/simple-icons:posthog.svg?color=currentColor","href":"/integrations/posthog"},{"title":"Pylon","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/pylon.svg","href":"/integrations/pylon"},{"title":"Railway","icon":"https://api.iconify.design/simple-icons:railway.svg?color=currentColor","href":"/integrations/railway"},{"title":"Resend","icon":"https://api.iconify.design/simple-icons:resend.svg?color=currentColor","href":"/integrations/resend"},{"title":"Rippling","icon":"users","href":"/integrations/rippling"},{"title":"Sentry","icon":"https://api.iconify.design/simple-icons:sentry.svg?color=currentColor","href":"/integrations/sentry"},{"title":"Snowflake","icon":"https://api.iconify.design/simple-icons:snowflake.svg?color=currentColor","href":"/integrations/snowflake"},{"title":"Supabase","icon":"https://api.iconify.design/simple-icons:supabase.svg?color=currentColor","href":"/integrations/supabase"},{"title":"Supermemory","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/supermemory.svg","href":"/integrations/supermemory"},{"title":"Vercel","icon":"https://api.iconify.design/simple-icons:vercel.svg?color=currentColor","href":"/integrations/vercel"},{"title":"Voice","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/voice.svg","href":"/integrations/voice"},{"title":"X","icon":"https://api.iconify.design/simple-icons:x.svg?color=currentColor","href":"/integrations/x"},{"title":"Zero","icon":"https://mintlify.s3.us-west-1.amazonaws.com/roocode/logo/integrations/zero.svg","href":"/integrations/zero"}]},{"group":"Configuring Roomote","pages":[{"title":"Agent guidance","icon":"scroll-text","href":"/agent-guidance"},{"title":"Environment variables","icon":"variable","href":"/environment-variables"},{"title":"Environments","icon":"boxes","href":"/environments"},{"title":"Environment definition","icon":"file-code","href":"/environments/definition"},{"title":"Personal settings","icon":"user-cog","href":"/personal-settings"},{"title":"Skills","icon":"sparkles","href":"/skills"},{"title":"Users","icon":"users","href":"/users"}]},{"group":"Analytics","pages":[{"title":"Cost analytics","icon":"circle-dollar-sign","href":"/cost-analytics"}]},{"group":"Development","pages":[{"title":"Local development","icon":"terminal","href":"/local-development"},{"title":"How a Roomote deployment runs","icon":"network","href":"/architecture"}]}]},"basePath":"","title":"Cloudflare - Roomote Docs","buildId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","deploymentId":"dpl_2gSLkbMoF5kkLsBqYzq9KWtDyJRo","dynamics":[],"chunks":[]}