# Installing a Layer (/docs/layers/install)



Installing a layer is a single click in the
[catalog](/docs/layers/browse), but Layers gates the install on prereqs
and shows you what's about to happen.

## Pre-install checklist [#pre-install-checklist]

Before showing the **Install** button, the catalog checks:

| Layer                  | Prereq                                                                 |
| ---------------------- | ---------------------------------------------------------------------- |
| Meta Ads Manager       | Connected Meta ad account (BYO) or agency setup via Business Partner.  |
| TikTok Ad Manager      | Connected TikTok ad account (BYO) or agency setup via Business Center. |
| Apple Ads Manager      | Verified iOS App Store listing + ASA credentials (or agency setup).    |
| App Machina            | Connected GitHub repo.                                                 |
| UGC Creator Management | At least one connected social platform.                                |
| RevenueCat             | RevenueCat API key.                                                    |
| Stripe                 | Stripe API key.                                                        |

Unsatisfied prereqs are shown as a checklist; clicking each opens the
relevant settings page.

## Confirmation dialog [#confirmation-dialog]

The install dialog shows:

* Layer name + version.
* Default config it will be created with.
* Commands that will be registered (executable + scheduled).
* Costs you'll start incurring.
* One-click toggle to **enable manual approval** for any spend.

Confirm. The layer is created.

## What happens behind the scenes [#what-happens-behind-the-scenes]

1. A row is created in `project_layers` with the template ID, version, and
   default config.
2. The `initialize` command runs as a workflow.
3. `*-scheduled` commands are registered with the
   [scheduler](/docs/concepts/scheduler).
4. The layer appears in `Project → Layers` with status `active`.

## Reinstalling [#reinstalling]

Some templates support multiple instances per project (e.g., one Meta Ads
layer per ad account). Reinstall by going to the catalog and clicking
**Install** again.

Other templates are singletons per project — uninstall the existing one
first if you want a clean slate.

## Switching template versions [#switching-template-versions]

Templates are versioned. To upgrade an installed layer to a newer template
version, install the new version side-by-side, copy your config across,
verify it's working, then uninstall the old one. Layers does not auto-migrate
configs across template versions to avoid breaking changes.
