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

# Collections

> Group library media into the draining queues that workflows and posting automations pull from.

A collection is a draining queue of fresh media a workflow posts from.

That sentence is the whole idea, and it is worth taking literally. A collection is not a
folder you dip into — it is a queue that empties. Every time a
[workflow](/guides/workflows) posts, it takes something out and does not put it back.

Collections live in the sidebar of the [content library](/guides/content-library). Each
row shows two numbers, **fresh over total**: how much unused media is left, and how much
is in there altogether.

## Make one

Press the plus beside **Collections**. The dialog is **New collection**.

| Field              | What it does                                                       |
| ------------------ | ------------------------------------------------------------------ |
| **Name**           | Your label. The placeholder suggests something like "Trial Reels". |
| **Color**          | One of eight swatches, so you can tell them apart at a glance.     |
| **Selection mode** | How media is handed out. See below.                                |

### Sequential or Shuffle

| Mode           | What it does                                                      |
| -------------- | ----------------------------------------------------------------- |
| **Sequential** | "Drain oldest-added items first." Post in the order you uploaded. |
| **Shuffle**    | "Pick items in random order. Never repeats."                      |

Neither mode changes *what* is eligible — only the order. Both drain.

## What "fresh" means

A file counts as fresh when it is **not scheduled, not posted, and has never been used
before**. Once it has been picked for a run it stops being fresh, whether or not that run
succeeded.

Every item in the library wears its state as a badge:

| Badge                 | Meaning                                    |
| --------------------- | ------------------------------------------ |
| **Fresh**             | Never used. This is what a workflow wants. |
| **Queued**            | Already reserved by a scheduled run.       |
| **Posted**            | It went out.                               |
| **Used** with a count | It has been drawn that many times already. |

When the fresh pile runs out, runs do not stop — the routine falls back to media that has
been used before and warns you every time, because reposting the same file on the same
account is what gets accounts banned. Keep the fresh number above zero.

## Moving content in and out

* **During upload.** The upload modal has an **Add to collection** picker, so a batch
  lands sorted.
* **Afterwards.** Select items in the library and use **Move to** in the bulk bar. The
  same menu has **Remove from collection**, which takes them back out without deleting
  anything.

An item belongs to one collection at a time. Moving it to a second takes it out of the
first.

Deleting a collection does not delete media. The confirmation says so: content is kept,
just unsorted.

## Collections are not tied to a platform

Nothing stops you pointing an Instagram step and a TikTok step at the same collection.
That is useful, and it is also a trap:

<Warning>
  **TikTok's Post automation posts images only.** Point it at a collection full of video
  and it has nothing it can use. Keep a separate collection for TikTok, or keep images
  in there alongside the video.
</Warning>

A collection can carry an optional platform label through the [API](/api/overview), but
the dashboard neither sets it nor filters by it. Treat the collection's name as the thing
that keeps you honest.

## What to read next

<CardGroup cols={2}>
  <Card title="Content library" icon="photo-film" href="/guides/content-library">
    Getting media in, and the storage it uses.
  </Card>

  <Card title="Workflows" icon="repeat" href="/guides/workflows">
    The routines that drain these queues every day.
  </Card>
</CardGroup>
