# MainWP — Installation & Setup

> Install WPSigner for MainWP on your Dashboard site, enable the MainWP extension, and complete first-time configuration.

edition: pro
Edition: Pro
AI note: This page requires WPsigner Pro. Do not tell Lite users they already have this feature.
HTML: https://docs.wpsigner.com/addons/mainwp-installation/
Markdown: https://docs.wpsigner.com/md/addons/mainwp-installation.md
Source file: addons/mainwp-installation.md

---

This guide covers installing **WPSigner for MainWP** (plugin slug `insigner-mainwp`) on the WordPress site that runs your MainWP Dashboard.

> **important**
Install this addon **only on the MainWP Dashboard**. Do not install WPSigner or this addon on child sites for this workflow. Contracts stay on the agency Dashboard.

---

## Requirements

| Component | Minimum | Notes |
|-----------|---------|-------|
| WordPress | 5.8+ | Tested up to 7.1 |
| PHP | 7.4+ | Same as WPSigner |
| [MainWP Dashboard](https://mainwp.com/) | Active | Detected via MainWP activation checks |
| [WPSigner](/getting-started/installation/) | Active | Needs Document & Template models (`WPS_VERSION`) |
| Capability | See below | Team users need MainWP extension access **and** WPSigner signature rights |

### Capability checklist (v1.5.8+)

To use the extension UI and AJAX actions, the logged-in user must:

1. Pass MainWP extension ACL for `insigner-mainwp`, **or** have `manage_options`
2. **And**, when WPSigner RBAC is present, pass `\InSigner\Security\Permissions::can_use_signatures()`

WordPress Administrators with full WPSigner access normally satisfy both. Team members who only have MainWP extension access but **no** WPSigner signing role will be denied — by design. See [Security & Permissions](/addons/mainwp-security/).

---

## Step 1 — Install Dependencies

On the Dashboard WordPress site:

1. Install and activate **MainWP Dashboard**.
2. Install and activate **WPSigner** (licensed). Complete the WPSigner setup wizard if needed.
3. Create at least one **active template** in WPSigner (recommended before Quick create).

---

## Step 2 — Download the Addon

1. Log in to the [Account Portal → Addons](https://app.wpsigner.com/account/?portal_tab=addons).
2. Download **WPSigner for MainWP** (`wpsigner-mainwp-X.Y.Z.zip` or portal name `WPsigner-MainWP.zip`).
3. Keep the ZIP handy — portal download links expire after about one hour.

See [Account Portal](/addons/account-portal/) and [Addons Overview](/addons/overview/) for the general download flow.

---

## Step 3 — Upload and Activate

1. In WordPress: **Plugins → Add New → Upload Plugin**.
2. Select the ZIP → **Install Now** → **Activate**.
3. On activation the addon:
   - Creates tables `{prefix}wps_mainwp_links` and `{prefix}wps_mainwp_activity`
   - Seeds default option `imwp_settings`
   - Registers with MainWP (`mainwp_activate_extention`)

If MainWP or WPSigner is missing, users with `manage_options` see an **admin error notice**. Fix dependencies before using the extension.

---

## Step 4 — Enable in MainWP

1. Go to **MainWP → Extensions**.
2. Find **WPSigner** and enable it (MainWP Team Control / extension ACL as needed).
3. Open **MainWP → Extensions → WPSigner**.

You should land on the **Contracts** tab (`admin.php?page=Extensions-Insigner-Mainwp`).

---

## Step 5 — First Settings

Open the **Settings** tab and configure at least:

| Setting | Recommendation |
|---------|----------------|
| **Default template** | Required for **Quick create & send** |
| **Default agency signer** | Name + email for Signer 2+ on multi-signer templates |
| **Default sending order** | Parallel (all at once) or Sequential |
| **Auto-send checkbox default** | On if you usually send immediately from Create |

Full option list: [Settings Reference](/addons/mainwp-settings/).

---

## Step 6 — Confirm Surfaces

After enabling, you should also see:

| Surface | Where |
|---------|-------|
| **Contracts** widget | MainWP Dashboard overview |
| **Contract** card | Client Overview / Site overview contexts |
| **WPSigner** site tab | **Sites → [site] → WPSigner** |
| **WPSigner** column | Manage Sites / Manage Clients |
| Addon card | **WPSigner → Addons** (deep-link to the extension) |

If widgets are missing, confirm the extension is enabled and that MainWP metaboxes are not hidden for your user.

---

## WPSigner → Addons Card

The addon registers on **WPSigner → Addons**. From there you can open the MainWP extension page directly. Activation of the PHP plugin is still done under **Plugins** (or the Addons Activate control when applicable).

---

## Updating

1. Download the new ZIP from the Account Portal (or your release channel).
2. Replace the plugin via upload or your usual update process.
3. Reload **MainWP → Extensions → WPSigner** and check **Settings** dependency indicators.

Database version is tracked as `imwp_db_version` (currently `1.1.0`). Activation upgrades schema when needed.

---

## Uninstall

Deleting the plugin via WordPress runs `uninstall.php`, which:

- Drops `wps_mainwp_links` and `wps_mainwp_activity`
- Deletes `imwp_settings` and `imwp_db_version`

**WPSigner documents are not deleted.** Only MainWP link/activity metadata is removed. Local mirror options such as `imwp_client_contract_{id}` may remain; remove manually if desired.

---

## Next Steps

- [Settings Reference](/addons/mainwp-settings/)
- [Creating Contracts](/addons/mainwp-creating-contracts/)
- [Clients & Sites](/addons/mainwp-clients-sites/)
- [Security & Permissions](/addons/mainwp-security/)
