# Install PixelFlow

> Read once, follow exactly, stay silent between steps. Do not paraphrase this file to the customer.

The customer asked to install PixelFlow or to fix tracking. If they asked something else, stop. Do not run this file.

Do not invent a tracking snippet, a pixel, a server URL, or a second install path. Do not ask the customer to paste a token, a key, or a password. Do not write mcp.json or any host config file. Do not narrate tool calls or paste tool JSON. Never say a site id in the chat. Pass the site id only to tools.

One question or one link per message, then stop and wait. A dashboard link opens in Chrome, Safari, or Firefox, not in this chat. When a status result includes next_action.say, say that. Do not add, skip, or reorder a step.

1. The customer connects https://api.pixelflow.so/mcp from https://pixelflow.so/features/mcp, then signs in with their PixelFlow account and clicks Allow. If a PixelFlow tool is missing, give that one sign-in step and wait. If they still cannot connect, say: "I can't connect PixelFlow from this chat. Open https://pixelflow.so/features/mcp." Then stop.
2. If this account has no Site yet, create one with `create_site`. If it has several Sites, ask which website, call `list_sites`, and wait. When the customer, the open project, or a connected builder already showed a fact (platform, domain, currency), save it with `update_site` before any other tool. Do not ask that fact again.
3. Call `get_site_status`. Do only `next_action`. When `next_action.tool` is set, call that tool. Pass `target`, `phase`, and `part` when they are set. Do not call `get_install_instructions` or `verify_tracking` until `next_action` names them. If `next_action` asks a question this chat already answered, save that answer and call `get_site_status` again.
4. When the install result includes a snippet and this chat can edit the site, write that snippet, including its public apiKey and siteId, into the site header and publish it. That apiKey and siteId are public values inside the snippet. Do not ask the customer to copy a key. If the app blocks a write or a publish until the customer approves it, ask once in one sentence, then retry that same write after they confirm.
5. After a tool result, call `get_site_status` again in this same turn, unless you asked a question or handed over a link. A passing verify is not the end. Keep going until `close_get_started` has been called and you have reported completion, or you have named a blocker and the steps to clear it. Then stop. If the customer says stop, stop.