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

# Workflows

> Build a recurring daily routine for one phone out of steps, and let it run without you.

A **workflow** is a daily routine that runs across every account on one iPhone. You build
it once — "post twice, like some stories, edit nothing" — pick a start time, and the
phone does it every day it is switched on.

One workflow belongs to one phone. Every step fans out across every account on that
phone, so a routine with three steps and four accounts produces twelve
[executions](/guides/scheduling) a day. The builder says so as you work, naming the
phone and counting the accounts every step will fan out across.

Workflows need Autogrowth MAX, like everything else that drives a phone. See
[Automations](/guides/automations).

## Build one

Press **New workflow**.

<Frame caption="The workflow builder.">
  <img src="https://mintcdn.com/autogrowth/XpowNsqf1wRaYnfV/images/dashboard-workflow-builder.png?fit=max&auto=format&n=XpowNsqf1wRaYnfV&q=85&s=ebe854b8d9ff8160cf59a836212c4229" alt="The workflow builder dialog with fields for Routine name, Starts daily at, iPhone, seven day pills under Days, a Container provider picker, and a The routine panel listing ordered steps with per-step counts and a per-account duration estimate" width="1600" height="1283" data-path="images/dashboard-workflow-builder.png" />
</Frame>

| Field                  | What it does                                                                                                                                                        |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Routine name**       | Your label for it. Up to 80 characters.                                                                                                                             |
| **Starts daily at**    | Plain English — "10am", "in the morning". 10:00 if you say nothing.                                                                                                 |
| **iPhone**             | The phone this routine runs on. **Chosen once and never changeable** — the edit view says so. To move a routine, rebuild it on the other phone.                     |
| **Days**               | Seven day pills. Selecting none means every day.                                                                                                                    |
| **Container provider** | Applies to every run the routine emits. **Account default** uses each account's own preference.                                                                     |
| **The routine**        | The ordered steps. Add them from the palette, reorder with **Move up** and **Move down**, set how many times each runs, and open **Configure step** for its inputs. |

Each step runs between 1 and 50 times per account, and a routine needs at least one step.
A posting step must name a [collection](/guides/collections) to draw media from — the
builder will not save without one.

Not every automation can be a step. The log-in jobs are excluded, because fanning a login
across every account on a phone every morning makes no sense. The catalogue table in
[Automations](/guides/automations) says which are eligible.

## Run it, pause it, retire it

The workflows list shows **Workflow**, **Accounts**, **Schedule**, **Last run** and
**Enabled**, with filters for **Active**, **Paused** and **Warnings**.

* **The Enabled switch pauses and resumes.** A paused routine stops producing runs; the
  runs it already created are untouched.
* **Bulk Pause and Resume** act on everything you have ticked.
* **Delete archives it.** The confirmation reads "Delete this workflow? Scheduled runs
  will stop." The routine disappears from the list and its row reads **Archived**; it is
  hidden, not destroyed.

<Info>
  Resuming re-checks your licence; pausing does not. If MAX is not active on the
  organization, a paused routine cannot be switched back on.
</Info>

## Warnings, and the step that quietly does not run

Each morning the routine builds that day's runs. Anything it could not do is recorded on
the routine and shown in its detail panel under **Last run warnings** — the list keeps the
most recent 50.

| Warning                                                                     | What it means                                                                                                             |
| --------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| `Step 2 ("Post") has no valid content collection — skipped.`                | That step names no collection, or the collection is gone. **The step is skipped and the rest of the routine still runs.** |
| `@handle: collection is short 3 item(s) for "Post" — add more content.`     | There was not enough fresh media to give every account its own.                                                           |
| `"clip-12.mp4" was already posted on this account — reposting risks a ban.` | The routine had to fall back to media this account has already used.                                                      |
| `"clip-12.mp4" has already been posted 2× — reposting risks a ban.`         | The same, for a file that has been reused before.                                                                         |

<Warning>
  **A collection drains; it does not recycle.** Fresh items are used first, and once
  everything fresh is gone the routine starts reusing media and warning you about it
  every time. Keep topping the collection up, or your routine slowly turns into a
  reposting machine. See [Collections](/guides/collections).
</Warning>

The Incubator, a separate MAX feature, warms accounts up over a few days before they
start posting; it is not part of a workflow.

## What to read next

<CardGroup cols={2}>
  <Card title="Collections" icon="layer-group" href="/guides/collections">
    The draining queue a posting step feeds from.
  </Card>

  <Card title="Scheduling" icon="calendar" href="/guides/scheduling">
    Where the runs a routine produces show up.
  </Card>
</CardGroup>
