> ## 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.

# Accounts

> Track a social handle, tie it to a phone and a container, and read the stats AutoGrowth collects for it.

An **account** is a social handle you have told AutoGrowth about. Tracking one gets you
its stats. Tying it to a phone is what lets an [automation](/guides/automations) run as
that account.

Four platforms can be tracked: **Instagram**, **TikTok**, **X** and **Threads**.

<Frame caption="The accounts roster.">
  <img src="https://mintcdn.com/autogrowth/XpowNsqf1wRaYnfV/images/dashboard-accounts.png?fit=max&auto=format&n=XpowNsqf1wRaYnfV&q=85&s=d4062b0361f193f6c748595167a8e6e6" alt="The Accounts page showing a roster of account rows with handles, follower counts, weekly growth and sparklines, under filter chips reading All, Active, Warming, Paused and Error with counts" width="1600" height="1078" data-path="images/dashboard-accounts.png" />
</Frame>

## Add an account

Press **Track Account**.

<Steps>
  <Step title="Choose the platform">
    "Use the platform this account belongs to."
  </Step>

  <Step title="Enter the handle">
    "Add the account username. The @ is optional." It is stripped and lowercased
    for you. One to 30 characters.
  </Step>

  <Step title="Choose a runtime phone, or do it later">
    The **Runtime phone** is the iPhone that will run this account's scheduled
    automations. If you are only here for the stats, use **Assign later** — "Track
    stats now, choose automation runtime later."
  </Step>

  <Step title="Point it at a container, if the phone has them">
    **Doritos container** — "For jailbroken phones, pick the app container that
    already holds this social login." See [Containers](/guides/containers).
  </Step>
</Steps>

Duplicates are refused under the handle field rather than in a toast: **Already tracking
this account** or **Already tracking this account on that iPhone**.

<Info>
  Adding a handle you already track, but with a different phone, is not an error. It
  links the extra phone to the existing account and tells you so.
</Info>

## Phones and containers

An account can be linked to several phones. Open **Link iPhones** from the account and
tick them — automations can then run on any of them, and one is kept as the account's
home phone. **Linking requires Autogrowth MAX.**

The container is set separately, in the account's detail view under **Assign container**.
An account with no phone yet is told **Assign a phone to this account first**.

<Warning>
  An account with no container runs in whichever identity the phone was last switched
  into. On a phone with containers, always bind the account to one — see
  [Containers](/guides/containers).
</Warning>

## What the status chips mean

| Chip        | Meaning                                                           |
| ----------- | ----------------------------------------------------------------- |
| **Warming** | Just added. Waiting for its first successful stats collection.    |
| **Active**  | The last collection succeeded. Stats on this account are current. |
| **Paused**  | Not being collected.                                              |
| **Error**   | The last collection failed.                                       |

An account whose handle no longer exists on the platform has no chip of its own — it
shows only under **All**, tinted red like an error.

<Info>
  **Pausing an account is not something the dashboard does today.** The **Pause** button
  on the roster's bulk bar reports success without changing anything. Untracking works
  properly: it stops collection and removes the account from the list, and, as the
  confirmation says, "They were only untracked here — nothing changed on the phone."
</Info>

## The stats, and when they arrive

AutoGrowth reads public profile data: followers, following, post count, bio, display
name, profile picture, and whether the account is verified or private. TikTok adds hearts
and diggs.

| When                | What happens                                                                                             |
| ------------------- | -------------------------------------------------------------------------------------------------------- |
| Every 30 seconds    | Newly added accounts are picked up, so a fresh handle usually leaves **Warming** within a minute or two. |
| Once a day, at 3 AM | Every active account is re-read.                                                                         |

That is the whole schedule. There is no "refresh now" button, and numbers you see during
the day are yesterday's, plus whatever the first read collected.

<Warning>
  **X and Threads accounts are never collected.** Only Instagram and TikTok are. An X or
  Threads account you track stays **Warming** forever and never shows a follower count.
  You can still automate it — the stats half does not exist yet.
</Warning>

## Reading the numbers

The account detail view leads with **Followers · 14d trend**: a sparkline, the current
follower count, and the change over the last week in both people and percent. With fewer
than two collections it says "Not enough history yet" instead of drawing a line. History
is kept for 90 days.

<Info>
  Two tiles beside it are not working metrics yet. **Engagement · 30d avg** is not
  calculated and generally reads 0.0%, and **Success** has no run data behind it. Ignore
  both.
</Info>

## When collection fails

A failed read turns the chip red and nothing else. The reason — a rate limit, a handle
that 404s, a provider error — is recorded but is not shown anywhere in the dashboard. If
an account sits on **Error** for days, send the handle to
[support](/guides/getting-help) and ask what the last error was.

One behaviour worth knowing: if the daily run hits a rate limit, it stops there. The
accounts it had not reached yet are not collected until the next day. A whole
block of accounts going stale on the same morning is usually this, not a problem with
those accounts.

## What to read next

<CardGroup cols={2}>
  <Card title="Containers" icon="layer-group" href="/guides/containers">
    Give each account its own identity on a shared phone.
  </Card>

  <Card title="Automations" icon="robot" href="/guides/automations">
    What an account can be made to do once it is on a phone.
  </Card>
</CardGroup>
