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

> ## Agent Instructions
> AutoGrowth runs social accounts on real phones. Everything a page describes happens on a physical device in the customer's own fleet, never through a social platform's API.
> The Companion is a macOS desktop app that runs on the customer's own Mac and manages the phones over USB — iPhones through WebDriverAgent, GrapheneOS phones through ADB and scrcpy. Nothing runs while the Companion is closed.
> The Companion builds, signs and installs WebDriverAgent on each iPhone itself. Never tell a customer to sign WebDriverAgent by hand in Xcode; Xcode is a prerequisite the Companion drives, not a step the customer performs.
> Autogrowth MAX is a one-time, invite-only lifetime license bought from the organization's credit balance, not a subscription tier. It is required to run any automation, workflow or Incubator program. Without a price set for that organization, the purchase is refused.
> An automation is one of AutoGrowth's built-in definitions; a script is a graph the customer builds in the Script Builder. The Script Builder is locked platform-wide, so never present building a script as something a customer can do today.
> An API key is a bare 64-character hex string with no prefix. It is shown once, at creation, is sent as `Authorization: Bearer <key>`, and can never be read back.
> An API key sees only the key owner's own accounts, content, collections, prompts, scripts and executions. Devices and tags are organization-scoped, and a non-owner sees only the devices assigned to them or carrying one of their tags. The automation catalog is global.
> There is no pagination. List endpoints return the whole set; the only limiting parameter anywhere is `limit` on `GET /v1/executions`, which defaults to 50 and has no offset to page with.
> Remote control and the live screen are dashboard-only, over WebSocket and MJPEG. Neither is part of the public API.
> The MCP server is hosted at https://mcp.autogrowth.farm and authenticates with OAuth. It is not an npm package and there is nothing to install locally. Its tools inherit exactly the scope of the API key behind them.
> Android support is partial and GrapheneOS-only: those phones appear in the fleet and can be watched and remote-controlled, but they cannot run scripts or automations.
> Never document Hi Katie or any persona feature. When a page and the code disagree, the code wins — check a claim against the source before repeating it.

# How AutoGrowth works

> Your phones, the Companion on your Mac and the dashboard — what runs where, and what stops when the Companion is closed.

Three things have to be true at the same time for a phone to do anything: the
phone is plugged in, the Companion is open on that Mac, and the agent on the
phone is running. This page explains why, and what each part is responsible for.

## What each part does

**Your phones** do the actual work. They run Instagram, TikTok, X and Threads,
and something on each phone taps the screen for you. On an iPhone that something
is **WebDriverAgent** (WDA) — a small app the Companion installs. On a GrapheneOS
phone it is called the **Agent** and needs no install.

**The Companion** is a macOS app that runs on your Mac. It finds the phones over
USB, installs and starts the agent, fetches the work that is due, drives the
phone through it, and streams the screen back to you. It signs in with a license
key rather than your password, and that key locks to the one Mac.

**The dashboard** at [dash.autogrowth.farm](https://dash.autogrowth.farm) is where
you decide things: which accounts exist, what should run and when, what media it
posts, who on your team can see what. It never touches a phone directly. It
writes down what should happen; the Companion is what makes it happen.

**AutoGrowth's servers** hold the schedule, your content library, your account
statistics and your billing, and they relay two live channels between the
dashboard and the Companion — the screen video going one way, your taps going the
other.

## How a run travels

<Steps>
  <Step title="You schedule it">
    From the dashboard you pick an automation, a phone or an account, and a
    time. The run is saved as **Pending**.
  </Step>

  <Step title="The Companion picks it up">
    The Companion asks the server what is due for the phones it holds. When it
    takes a run, the run becomes **Running** and no other Mac can claim it.
  </Step>

  <Step title="The phone does it">
    The Companion drives the phone through the steps — opening the app,
    tapping, typing, uploading the media.
  </Step>

  <Step title="The result comes back">
    The run ends as **Completed** or **Failed**, with its log attached. You read
    both on the **Logs** page.
  </Step>
</Steps>

See [Automations](/guides/automations) and [Scheduling](/guides/scheduling) for
what you can queue and how.

## What happens when the Companion is closed

Nothing runs. This is not a degraded mode — it is the whole design. When you quit
the Companion, put the Mac to sleep, or lose the network:

|                               | What happens                                                                                                                  |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| **Your phones**               | Go **Offline** in the dashboard after about 90 seconds without a heartbeat                                                    |
| **Remote control**            | Stops. The button is inert with "Device is offline. Connect it through the Companion app to enable remote control."           |
| **A run already in progress** | Ends as **Failed**, with "Execution interrupted — never finalized"                                                            |
| **Runs due later**            | Stay **Pending**. They are retried every time the Companion checks in                                                         |
| **Runs that wait too long**   | Become **Skipped** after about two hours: "Execution expired — device never became available within 2h of the scheduled time" |
| **Account statistics**        | Keep updating. Scraping runs on AutoGrowth's servers, not on your phones                                                      |

<Warning>
  A pending run is not lost the moment a phone goes offline, but it is not held
  forever either. Bring the Mac and the phone back within roughly two hours of
  the scheduled time and the run still happens.
</Warning>

The practical rule: leave the Mac awake, leave the Companion open, and leave the
phones plugged in.

## Being plugged in is not the same as being paid for

Two separate things decide whether a phone can work.

* **Presence** — is it plugged into a Mac with the Companion running? This is the
  status pill: Offline, Ready, Running, Error.
* **A slot** — have you bought a phone slot for it, and is that slot still live?

They move independently. A phone with an expired slot can be plugged in, online
and visibly Ready, and still refuse to stream or run anything: "This device's slot
has expired. Renew it to stream and run automations." A phone with a perfectly
good slot is useless if the cable is out. Both surfaces show both facts side by
side, never one instead of the other. See [Billing](/guides/billing).

## The live screen

When you open remote control, the Companion starts capturing that phone's screen
and pushes it to whichever relay answers your browser fastest. Your taps travel
back on a separate channel.

Capture is on demand. With nobody watching, the Companion stops capturing after
about 30 seconds and starts again the moment someone opens the viewer — so an
idle fleet is not spending bandwidth on video nobody sees. See
[Remote control](/guides/remote-control).

## What to read next

<CardGroup cols={2}>
  <Card title="Install the Companion" icon="download" href="/guides/install-the-companion">
    The DMG, the license key, and the first launch.
  </Card>

  <Card title="What AutoGrowth does not do" icon="ban" href="/guides/what-autogrowth-does-not-do">
    The limits, stated plainly.
  </Card>
</CardGroup>
