> ## Documentation Index
> Fetch the complete documentation index at: https://docs.teamfollowup.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use the public API base URL: https://api.teamfollowup.ai/api.
> Authenticate public API requests with Authorization: Bearer YOUR_API_KEY.
> Use product-owned terms: agents, campaigns, projects (GoHighLevel sub-accounts), contacts, calls, outcomes, skills, cadences, phone numbers.
> Scope requests by locationId rather than projectName.
> Read the guide linked from each API reference group before recommending an endpoint.

# Rolling out a change

> Edit the parent and the change reaches every linked project through a background job, not instantly. What that means for timing, for a project that is mid sync, and for a change that appears not to have landed.

Edit the parent, save, and the change goes to every linked project. Not
instantly, and the reason matters.

## It happens in the background, on purpose

Save the parent, then let the updates finish in the background. You can keep
working while linked projects catch up.

<img className="block dark:hidden" src="https://mintcdn.com/teamfollowupai/QX4GFVxyRVTtiDDs/images/master-agent/rollout-light.gif?s=58cc0ac7cb908ee643b6b37af703ddc0" alt="You save the master agent once, and each client updates in turn. Bay Roofing is paused, gets the update, and stays paused." width="1000" height="400" data-path="images/master-agent/rollout-light.gif" />

<img className="hidden dark:block" src="https://mintcdn.com/teamfollowupai/QX4GFVxyRVTtiDDs/images/master-agent/rollout-dark.gif?s=2fb83a91a77694b51e7601ce29f771b8" alt="You save the master agent once, and each client updates in turn. Bay Roofing is paused, gets the update, and stays paused." width="1000" height="400" data-path="images/master-agent/rollout-dark.gif" />

If a project cannot be updated, the system retries it. If you save another
change while an update is in progress, the latest version takes priority.
Project Manager flags a project whose update failed.

<Tip>
  So "I changed it and that client has not got it yet" is usually a question of
  seconds, not a fault. The update job checks for new saves every 30 seconds.
</Tip>

## Two things a rollout will not do

**It will not overwrite a binding.** A calendar, pipeline stage or transfer
number that is set on a project stays set. See
[bindings](/campaigns/master-agent/bindings).

**It will not switch anyone on.** Live status is per project. Rolling out a
change to a paused project leaves it paused.

## Adding a step to the flow

When you add a node to the parent that needs a local asset (a booking action, a
Move Stage), it reaches the children **unbound**.

That is the safe outcome, not a bug. The alternative is every project inheriting
the parent's calendar ID and booking into one sub account.

Expect those projects to show as needing attention afterwards, and expect to
connect the new asset on each. Adding a booking step to a thirty-client master
agent is thirty small bindings, and there is no way around that which is also
safe.

## When a change genuinely has not landed

Work down this list:

<Steps>
  <Step title="Is it actually a shared field?">
    Calendars, transfer numbers, pipeline stages, phone numbers and live status
    are local by design. Check
    [what syncs](/campaigns/master-agent/what-syncs) before treating it as a
    failure.
  </Step>

  <Step title="Is that project still linked?">
    An unlinked project keeps its campaign and simply stops receiving updates.
  </Step>

  <Step title="Is the project simply switched off?">
    A rollout never switches anyone on. A paused project receives the change and
    stays paused, so the change is there and nothing is calling.

    An unresolved binding looks similar but is not the same thing: it **blocks
    go-live, not the sync**. That project has your change; it just cannot be
    activated until its calendar or pipeline is connected.
  </Step>

  <Step title="Did the call actually happen?">
    [Run history](/campaigns/run-history) on that project answers what ran, as
    opposed to what is configured.
  </Step>
</Steps>

## In the API

* [Update campaign](/api-reference/campaigns/update-campaign) on the parent starts the rollout
* [Get master agent state](/api-reference/master-agent/get-master-agent-state) lists every linked project and whether it is current
* [List campaign runs](/api-reference/campaigns/list-campaign-runs) on a project answers what ran
