ChatGPT dots + xCloud

Deploy from Git with ChatGPT dots on xCloud

Deploying from Git with a ChatGPT dot means giving your always-on OpenAI agent a repository link and a goal, and letting it use xCloud for detection, a dry run, your approval and a check on the live URL while you get on with something else.

  • Skill: xcloud:deploy
  • Toolsets: sites, servers, integrations
  • Free with every xCloud account

YouDeploy github.com/example/shop to my Frankfurt server on a staging hostname. Dry run first, and ask me before you create it.

git_detectread-only

AgentNode.js app on main. It would run npm run build and npm start on a free staging hostname. One warning: there is no environment file in the repository. Sending the dry run to Frankfurt.

servers_sites_git_autodry run

AgentThe dry run would create the staging site on Frankfurt with those commands and the same warning, nothing else. Create the site?

YouYes, create it.

servers_sites_git_autoneeds approval

sites_statusread-only

AgentI polled the status until it was deployed. The staging address answers 200 and the certificate is issued. The dashboard link is below, and I will tell you here if anything changes.

. Keep a human in the loop: xCloud stops and asks before anything that creates, deploys, updates, reboots, deletes or buys.

Setup

How Do You Set Up ChatGPT dots to Deploy from Git on xCloud?

Connect ChatGPT dots once; every job on this account uses the same connection. Then ask in plain words.

  1. Create the xCloud MCP plugin in ChatGPT

    Plugins are shared across your dot, ChatGPT, ChatGPT Work and Codex, so you set xCloud up once. In ChatGPT on the web, turn on Developer mode under Settings, Security and login, open the Plugins page, select the plus button and create an app named xcloud with this MCP server URL and OAuth as the authentication. Sign in with xCloud, tick the teams and choose Read-only or Full access. Then open your personal Plugins page, open xcloud and select the plus button to install it; until it is installed, your dot cannot see it. If ChatGPT already has the xcloud plugin installed, skip this step. That path is for a personal account. In a Business, Enterprise or Edu workspace the controls sit under Apps instead. On Business only an admin or owner can use Developer mode: they turn it on while creating the app from Workspace settings, Apps, Create, and publish it from Workspace settings, Apps. On Enterprise and Edu an admin or owner can also toggle Developer mode under Settings, Apps, Advanced settings, and a member granted developer access under Permissions and Roles turns it on there too and can create and test the app from their own Settings, Apps, Create, but only an admin or owner can publish it. An ordinary member cannot do this, so ask an admin to publish the xcloud app; then open Settings, Plugins, select xcloud, install it if offered and choose Connect, sign in to xCloud and pick the teams and access level, and only then start at the next step.

    URL
    https://app.xcloud.host/mcp
  2. Check the plugin is connected for your dot

    Open your dot's profile, then Customize and Plugins, and make sure xcloud is connected. The screen uses the shared ChatGPT plugin settings, so a plugin connected in ChatGPT appears here too. Then give your dot a first task that names xCloud.

    Prompt
    Using xcloud, who am I on xCloud, and which servers and sites do I have?
  3. Add a custom rule for hosting changes

    Under Customize, Custom rules, describe the action and choose Ask before taking action. Pre-approved means you asked for the action in your prompt. xCloud stops for confirmation on its own before it creates, deploys, updates, reboots or deletes anything, but a rule keeps the approval visible in your conversation and stops a scheduled task from proposing changes you did not ask for.

    Prompt
    Ask before taking action: anything that creates, deploys, updates, reboots or deletes a server or site on xCloud.
  4. Check it worked

    Then ask ChatGPT dots for the job itself, for example:

    Prompt
    Deploy https://github.com/example/shop to my Frankfurt server on a staging hostname. Show me the dry run here and wait for my yes before anything is created.

In practice

How Does Deploy from Git Work from ChatGPT dots?

A dot does not wait in a chat tab for your next message. You write the goal once, in the ChatGPT desktop app or on desktop web, for example deploy github.com/example/shop to my Frankfurt server on a staging hostname and show me the dry run first, and the dot works from its own cloud computer. It calls git_detect through the xcloud plugin, reads the app type, branch and commands that xCloud reports, asks for a free staging hostname and sends the create request as a dry run. Then it comes back with the would_create summary instead of creating anything. Because a dot shares memory with ChatGPT, it can also remember that staging sites go on one server and production on another, and start from that the next time.

The approval is where a dot differs most from a chat. Two rules sit between the dry run and a live site. Yours come first: under Customize, Custom rules, a rule such as Ask before taking action for anything that creates or deploys on xCloud keeps the decision in your conversation, and Take action if pre-approved means you asked for that action in your prompt, so a sentence like deploy it if the dry run has no warnings is a real instruction. xCloud's rule comes second: servers_sites_git_auto is refused without an explicit confirmation. A dot that has your yes sends the confirmed request with an idempotency key, follows sites_status until the deployment is terminal and fetches the URL before it calls the site live. Choose Full access on the xCloud sign-in screen, because Read-only cannot create a site.

The dot connects from OpenAI's cloud, never from your computer, so it can only deploy what a Git provider holds. Unpushed commits and local folders are invisible to it. A private repository works when its provider is connected to your xCloud team or when you add the SSH deploy key that xCloud prepares. When a deploy fails, the dot reads sites_deploy-diagnosis, explains the cause and can retry on the same site with a corrected build command, but a change inside the repository still needs you or a coding agent to push it. A good standing instruction is a scheduled check: every weekday at 8, run detection and a dry run for one repository and message me any new warning. Detection is a read and the dry run creates nothing, but the dry run is still a write-scoped call: it needs a Full access connection, and whether it runs unattended is decided by your Custom rules rather than by xCloud. The create step waits for your reply either way.

ChatGPT dots specific: Check your plan before you promise yourself a hands-off deploy. OpenAI's help center says full MCP support with write actions is in beta on Business, Enterprise and Edu workspaces, and Pro accounts connect MCP apps with read and fetch permissions only. On Pro your dot can run detection and report on your servers, but do not expect it to send the create request. Dot access also depends on plan and region and can take days to arrive. A dot's proactive research cannot change content through plugins, so a deploy only ever starts from a task you gave it.

What xCloud does for deploy from git

xCloud detects the app in the repository, previews the site it would create with a dry run, creates it once you approve, polls the deployment to a terminal state and checks the live URL. A failed deploy gets a diagnosis and a corrected retry on the same site, never a delete and recreate.

  1. Pick the team and server. The agent uses the server you name. If you name none it lists provisioned servers and asks; it never picks one silently. Node.js, PHP and static builds need an Nginx or OpenLiteSpeed server; anything else needs a Docker server.
  2. Detect the repository. git_detect reads the default branch, the app type (WordPress, Laravel, custom PHP, Node.js or Lovable), the web root, suggested install, build and start commands, repository access and server compatibility. Detection creates nothing.
  3. Choose the address. With no domain the agent asks xCloud for a free staging hostname. With a live domain it checks whether the zone is on a connected Cloudflare account, in which case xCloud writes the DNS record and certificate itself.
  4. Dry run, then one approval. The agent sends the create request with dry_run set to true and shows you the resolved configuration: app type, URL, branch, commands, runtime version and every warning. Then it asks once, naming the server and the URL, before sending the same body with confirm set to true and an idempotency key.
  5. Poll and verify. A 202 means queued, not deployed. The agent polls the site status until it is terminal, reports each real step change, reads failed_steps and the SSL block, and fetches the URL before it calls the site live.
  6. Recover if it fails. On a failed deploy the agent reads the deployment diagnosis, proposes a fix from the correctable fields, and retries on the same site with your approval. Two failed retries with the same classification stop the loop and hand you the dashboard link.

Reference

Deploy from Git Settings and Limits on xCloud

The facts ChatGPT dots works within when it deploys from Git. Where a row names the dashboard, that step stays yours to take there.

Setting or limitWhat applies
Supported app typesWordPress, Laravel, custom PHP, Node.js and Lovable on native servers; Dockerfile and Compose apps, including Python, Go and Rust, on Docker servers
Repository sourcesPublic HTTPS URLs, repositories on a connected GitHub, GitLab or Bitbucket provider, and private SSH repositories with a read-only deploy key
Private repositoriesThe agent prepares a deploy key on the server, you add the public key to the repository, xCloud verifies it. A private key or personal token never goes in the request
Previewdry_run: true returns the would_create block and consumes no idempotency key
IdempotencyThe create call carries an Idempotency-Key, so a retried request cannot create a duplicate site. A new deployment needs a new key
Deployment statesdeployed, failed or cancelled once terminal is true; failed_steps can be non-empty on a deployed site and must be read
Node.js versionsThe Node version is server-wide, not per site; changing it can affect other apps on the server
RedeploysA redeploy runs git reset --hard and git clean -df in the site directory, so uncommitted server-side changes are lost. Supply environment values through env_file_content, not files in the checkout
Staging environmentsAvailable for Git sites on paid plans through the API; WordPress staging stays a dashboard step
Agentic serversAn OpenClaw, Hermes, Paperclip or DeepSeek Harness server hosts only the site created at provisioning; a second site is refused

Rules ChatGPT dots has to follow

  • Creating a site is billable and stops for your approval; detection and the dry run never create anything.
  • The agent explains every detection warning before asking, and a repository access problem is never worked around by naming an app type by hand.
  • A deployed state is not proof the application works: the agent fetches the URL and reads failed_steps first.
  • A failed site is retried in place with corrections; it is never deleted and recreated to retry.
  • Changing a live site's domain after creation, databases and server resizing are dashboard steps; the agent gives you the path and the dashboard link xCloud returned.

Example prompts

What Can You Ask ChatGPT dots to Do for Deploy from Git?

Type these as written and swap in your own repository, site and server names. Reads and routine actions such as backups, cache purges, PageSpeed scans and vulnerability scans run straight away; creating, deploying, updating, rebooting, deleting, buying or starting a broken-link scan stops and asks first.

Prompt
Deploy https://github.com/example/shop to my Frankfurt server on a staging hostname. Show me the dry run here and wait for my yes before anything is created.
Prompt
Every weekday at 8, run xCloud detection and a dry run for github.com/example/shop and message me any new warning. Create nothing, and tell me if xCloud cannot be reached.
Prompt
The last deploy of the shop site failed. Read the deployment diagnosis, explain the cause in plain words and tell me which build command you would change before you retry on the same site.
Prompt
Deploy https://github.com/acme/shop to my Frankfurt server and show me the dry run before creating anything.
Prompt
Deploy the private GitLab repository connected to my team on a staging hostname.
Prompt
Scan the docker-compose.yml in github.com/acme/api and tell me which services and ports xCloud would use.
Prompt
Create a staging environment from the feature/checkout branch of the API site.
Prompt
Deploy the latest commit of the shop site after showing me what will change.
Prompt
The last deploy of the API site failed. Diagnose it, fix the build command and retry on the same site.

ChatGPT dots and Deploy from Git: Frequently Asked Questions

What people ask before they let ChatGPT dots deploy from Git through xCloud.

Will my ChatGPT dot deploy a repository on its own?

Only when you ask. You can word the goal so the action counts as pre-approved, but xCloud still refuses a site create without an explicit confirmation, and a dot's proactive research cannot change content through plugins. Keep scheduled runs to detection and a dry run, and let the create step wait for your yes.

Can my dot deploy code that only exists on my computer?

No. Your dot reaches xCloud from OpenAI's cloud and cannot see local folders or unpushed commits. Push the code to GitHub, GitLab or Bitbucket, or to a Git provider connected to your xCloud team, and give the dot the repository link. Connecting your computer to the dot is optional and is not part of the xCloud connection.

Does the agent create the site as soon as I give it a repository URL?

No. It detects the repository and runs a dry run first, shows you the resolved configuration, and asks once. Only after you approve does it send the create call with an explicit confirmation and an idempotency key.

Can an agent deploy a private repository through xCloud?

Yes. Either the repository is on a Git provider connected to your xCloud team, or the agent prepares an SSH deploy key on the server for you to add to the repository. A private key or a personal access token is never sent in the request.

What does a 202 response mean during a deploy?

That xCloud queued the deployment. The agent polls the site status until it is terminal and reports deployed, failed or cancelled, then checks failed_steps and fetches the URL before calling the site live.

What happens when a deploy fails?

The agent reads the deployment diagnosis, which classifies the failing step and quotes the relevant log lines, proposes a fix from the fields xCloud lets it correct, and retries on the same site after your approval. It never deletes and recreates the site to retry.

Which servers can take a Git deploy?

Node.js, PHP and static builds deploy to Nginx or OpenLiteSpeed servers. Dockerfile and Compose apps, and other language stacks, need a Docker server. Agentic servers running OpenClaw, Hermes, Paperclip or DeepSeek Harness take no additional sites.

Other agents

Deploy from Git with Other Agents

The same job, the same xCloud tools, a guide for each client.

Run Your Hosting from ChatGPT dots

xCloud MCP, the Agent Skills and the Public API are free with every account. Connect once and ask.