# Invite Partners

Invite a single partner or bring in many at once from a CSV file, with Fours drafting the outreach email for you based on the purpose, tone, and context you provide.

---

## Overview

You can invite partners into your network one at a time or in bulk using a CSV file. In either case, Fours can generate the outreach email for you from the purpose, tone, and context you supply — the more specific you are, the less editing you'll need afterward.

:::info
Sending an invitation requires a connected email account. If you haven't connected Gmail or Outlook yet, see [Connect Gmail to Fours](/integrations/google-mail/) or [Connect Microsoft Outlook to Fours](/integrations/microsoft-outlook/).
:::

## Invite a single partner

The invitation wizard runs in four steps — **Choose**, **Purpose**, **Email**, and **Review** — listed across the top so you can always see where you are and move back with **Back**.

### Open the wizard

1. Go to **Fours Console**, then click **Partners**.
2. Click **+ Invite Partners**, then choose **Single partner**.

![Invite Partners menu with the Single partner option](images/invite-partners-to-your-network-1.png)

### Step 1: Choose

Choose who you're inviting.

**If the partner is already known to Fours:**

1. Click **Select recommended partner**.
2. Use the **Select a partner** dropdown to choose their name.

**If the partner is brand new:**

1. Click **Invite a new partner**.
2. Enter their company name under **Partner Company Name**.
3. Enter their contact under **Contact Email Address**.

As you type the contact's email, Fours checks whether your organization already has an open invitation or application with that company. If it does, a notice appears under the field in place of the usual preview, and **Next** stays disabled. See [One Open Invitation per Company](#one-open-invitation-per-company).

:::info
If Fours doesn't recognize the contact's email domain, it sends a standard invitation email with a link to join Fours and accept the partnership. The channel is automatically set to Direct.
:::

Click **Next**.

### Step 2: Purpose

Under **What's the purpose?**, select the option that matches this outreach:

* **Network Invitation** — Formalize a partnership, with no specific deal yet.
* **Account Overlap** — Explore mutual engagement or specific accounts.
* **Deal Collaboration** — Collaborate on a specific, active opportunity.

Then click **Next**.

![Partner selection and purpose options for a single invitation](images/invite-partners-to-your-network-2.png)

### Step 3: Email

Context and tone are **fields on this step**, sitting next to the **Generate Email with AI** button they feed. They used to be two pages of their own; a single field occupying a whole page made it genuinely unclear whether what you typed reached the partner, and at least one customer skipped both pages and wrote the email by hand. Keeping them beside the button makes the connection obvious.

1. Describe why this partner is relevant under **What makes this partner relevant here?** — the more specific you are, the less editing you'll need afterward.
2. Pick a **tone** from the dropdown. Tone only seeds the generated draft, so it does not block **Next**.
3. (Optional) Link a document, such as your NDA or partner agreement, with **Insert file** under **Attach file link**. See [Link a file from the email](#link-a-file-from-the-email) below.
4. Click **Generate Email with AI** and wait a few seconds while Fours generates a subject and body.
5. Confirm the sending account under **Send From**.
6. Fill in **Recipient Email** and **Recipient Name**.
7. (Optional) Add anyone who should be copied under **CC**.
8. Review the generated **Subject** and **Email Body**, and edit either if needed.
9. Click **Next**.

![Generated invitation email with recipient and content fields](images/invite-partners-to-your-network-5.png)

#### Link a file from the email

A prospective partner may not have a Fours login yet, so an invitation can link documents they can read before they accept, without signing in. The **Attach file link** panel sits above **Generate Email with AI**, so the files you add go into the generated email too.

1. Under **Attach file link**, click **Insert file**.
2. In the **Insert file link** dialog, search or pick a category, then tick the files to link.
3. Click **Insert link**. With several files ticked, the button reads **Insert N links**.

Each file appears as a chip under **Attach file link**. Fours also adds a sentence to the email body, such as *"Before we get started, you can review Partner NDA here:"*, followed by a `{{document:…}}` placeholder that becomes a link named after the file when the email is sent. You can move or reword the sentence. Keep the placeholder where you want the link. To unlink a file, remove its chip or delete that line. Generating the email with AI keeps your links.

**Which files you can link**

- Only **Partner Files** shared with **All Partners** that allow download. The dialog's **Sharing: All Partners** chip is fixed, and its **Not seeing a file?** note explains why: a new partner can't open **Private** or **Specific Partners** files. To link an NDA or agreement, add it to Partner Files and share it with all partners.
- Up to **10** files per invitation.

**What the recipient gets**

- A link, not an attachment. It opens without signing in to Fours.
- The link works while the invitation is pending (`Sent`) or accepted. It stops working once the invitation is declined, expires, or is cancelled.
- The file is checked again on every click. If you stop sharing it with all partners, or turn off its download, links already in inboxes stop working.
- Resending the invitation keeps its links.

File links are available in the single-partner wizard only. The CSV and bulk invitation flows don't offer them.

```d2
direction: right

insert: "You insert a file link\nin the Email step" { shape: rectangle }
send: "The invitation email carries\na link named after the file" { shape: rectangle }
click: "The recipient clicks the link\nno sign-in needed" { shape: rectangle }
check: "Invitation still pending or accepted,\nand the file still shared with\nall partners and downloadable?" { shape: diamond }
file: "The file downloads" { shape: rectangle }
gone: "The link no longer\nopens the file" { shape: rectangle; style.stroke-dash: 3 }

insert -> send -> click -> check
check -> file: "yes"
check -> gone: "no"
```

Continue with **Send From**, the recipient, and the rest of the steps above.

### Step 4: Review

Confirm the partner, purpose, recipient, and email content are all correct, then click **Send Invitation**.

Once sent, the partner appears under **Pending invitations** on the All Partners page until they accept.

## What Sending an Invitation Actually Does

Sending an invitation doesn't just queue an email. Fours creates your side of the partnership straight away, with the status `PENDING`.

That means an invited company is a real record from the moment you click send — you can open it, assign it a partner manager, attach notes, and register a co-sell against it without waiting for a reply.

**All Partners** lists `ACTIVE` and `PENDING` partners together by default, so invited companies sit alongside accepted ones rather than hiding in a separate queue. `SUGGESTED` and `INACTIVE` partners stay out of that default view.

```d2
direction: right

none: "No partnership" { shape: rectangle; style.stroke-dash: 3 }

send: "You send an invitation" { shape: rectangle }

pending: "Partnership PENDING\nopen it, assign a manager,\nattach notes, register a co-sell" { shape: rectangle }

reply: "Recipient responds\nwithin 15 days?" { shape: diamond }

active: "Partnership ACTIVE\nfiles, courses and journeys\ncan now be shared" { shape: rectangle }
declined: "Invitation Declined\npartnership stays PENDING" { shape: rectangle }
expired: "Invitation Expired\nthe link no longer works" { shape: rectangle; style.stroke-dash: 3 }
cancelled: "Invitation Cancelled\nyou withdrew it" { shape: rectangle; style.stroke-dash: 3 }

cosell: "You register a co-sell on their\nbehalf and they confirm it" { shape: rectangle }

none -> send
send -> pending: "your side is created immediately"
pending -> reply
reply -> active: "accepted"
reply -> declined: "declined"
reply -> expired: "no — a daily sweep expires it"
pending -> cancelled: "you cancel it"
cosell -> active: "the confirmation is the acceptance"
expired -> send: "resend it, or send a new one —\nthe partner record is reused"
cancelled -> send: "send a new invitation"
```

A few consequences worth knowing:

- **You can't set `PENDING` by hand.** It's set by sending an invitation and nothing else. Editing a partner's status to `PENDING` is refused.
- **One open invitation per company.** While an invitation to a company is waiting for an answer, you can't send another to anyone there. See [One Open Invitation per Company](#one-open-invitation-per-company).
- **A later invitation reuses the existing record.** Once the first invitation has been answered, cancelled, or has expired, a new one to the same company reuses its partner record rather than creating a duplicate. An already-`ACTIVE` partner is never demoted back to `PENDING` for it either.
- **A `PENDING` partner can't be shared with.** Files and courses only go to `ACTIVE` partners, so an invited company can't be a share target until they accept.
- **Accepting isn't the only route to `ACTIVE`.** If you register a co-sell on a partner's behalf and they confirm it, that confirmation *is* the acceptance — the partnership flips `PENDING` → `ACTIVE`.

## One Open Invitation per Company

Your organization can have only one open request with a company at a time, whichever side started it. Fours matches companies by email domain, so a colleague at the same company counts too. This keeps two requests for one company from crossing — for example, your invitation going out while that company's application sits in your queue — where accepting one would leave the other pending with nothing able to clear it.

A company has an open request with you while it has any of these:

- an invitation you sent that is still `Sent`, waiting for an answer;
- an application from your [sign-up form](/prm/partner-registration-form/) that is still **Pending**;
- a deal registration from your [public deal registration link](/prm/public-deal-registration-link/) held for your review.

Accepted, declined, cancelled, and expired invitations and applications don't count, so an old request never stops a new one. An invitation another Fours organization sends you in the app isn't checked either.

```d2
direction: right

start: "You invite a company,\nor it applies to you" { shape: rectangle }
open: "Open request with\nthat company already?" { shape: diamond }
theirs: "Their application or deal registration\nis waiting on you" { shape: rectangle }
yours: "Your invitation is\nwaiting on them" { shape: rectangle }
review: "Review their application,\nor decide the deal" { shape: rectangle }
resend: "Resend your invitation,\nor wait for a reply" { shape: rectangle }
go: "The new request goes through" { shape: rectangle }

start -> open
open -> theirs: "yes, theirs"
open -> yours: "yes, yours"
open -> go: "no"
theirs -> review
yours -> resend
```

### What the invite wizard shows

When you choose **Invite a new partner**, the notice under **Contact Email Address** says which kind of request is open, and shows the company's email domain so you can check it's the company you meant:

| Notice | What it means | What to do |
| --- | --- | --- |
| **Already applied** · **Pending application** | The company applied, or registered a deal through your public link, on the date shown, and is waiting on you. | Click **Review their application**. The wizard closes and **Partners → Applications** opens on **Pending**, with that application highlighted. |
| **Invitation already sent** · **Pending invitation** | Your invitation to the address shown, sent on the date shown, hasn't been accepted yet. | Click **Resend that invitation**, or wait for a reply. |

**Next** stays disabled while the notice is showing.

If you choose **Select recommended partner** instead, the wizard doesn't check ahead of time, and the send is refused when you click **Send Invitation**.

### In a bulk invitation

A row whose company already has an open request isn't sent. It's listed as **Invitation pending** on the confirmation screen, and the rest of the batch still goes out. See [Step 7: Confirmation](#step-7-confirmation).

### When the company applies instead

The rule works from the other side too. Someone at a company with an open invitation from you can't apply through your sign-up form: the form tells them to accept the invitation you sent. See [One Open Application per Company](/prm/partner-registration-form/#one-open-application-per-company).

## Invitation Status and Expiry

Every invitation carries its own status, separate from the partnership status above:

| Status | Meaning |
| --- | --- |
| `Sent` | Delivered and awaiting a response. The only state that can still be accepted, declined, or cancelled. |
| `Accepted` | The recipient accepted. |
| `Declined` | The recipient declined. |
| `Expired` | Nobody responded before the deadline. |
| `Cancelled` | You withdrew it. |

Invitations expire **15 days** after they're sent. A daily sweep moves anything still `Sent` past its deadline to `Expired`. Past that point the link no longer works — the recipient can neither accept nor decline until you resend the invitation.

### Cancel a pending invitation

Cancelling is the only change you can make to an invitation after sending it.

1. Open **Pending Invitations**.
2. Click the **⋯** menu on the invitation and choose **Cancel invitation**.
3. Confirm on **Cancel this invitation?** — the dialog warns that the partner will no longer be able to accept, and that this can't be undone. Click **Keep invitation** to back out.

The invitation stays visible with a `Cancelled` status for the record.

### Resend a pending invitation

A pending invitation carries a **Resend invitation** action, so a partner who lost the email does not need a fresh invitation record — the same one is sent again, and its 15-day window starts over.

An **expired** invitation can be resent too. It no longer appears under **Pending invitations**, so open the partner's record instead: while the partnership is still `PENDING`, the banner there offers **Resend invitation**. Resending brings the invitation back to `Sent` with a fresh 15-day window.

A resend is refused while the company has another open request with you — for example, if a colleague there has applied in the meantime, or you've since invited someone else at the company. See [One Open Invitation per Company](#one-open-invitation-per-company). Right after a resend, wait a few minutes before resending the same invitation again.

A cancelled invitation can't be resent. Send a new one instead; the partner record you already created is reused rather than duplicated, so nothing is lost by starting again.

**A pending invitation reports what actually happened to it**, rather than sitting at "Pending" whatever the outcome:

- **Signup started** — the partner opened the invitation and began signing up, but has not finished. This is its own status because "Pending" made a half-finished signup look identical to an email nobody opened.
- **Delivery failures are shown per invitation**, with guidance for that specific failure, so a bounced address is distinguishable from an unread email.

## Invite multiple partners at once

The bulk invitation modal opens in one of two modes, depending on how you reach it:

| Mode | How you get there | Steps |
| --- | --- | --- |
| **CSV** | **+ Invite Partners → Import multiple from CSV** | Choose, Upload, Preview, Compose, Review, Confirmation |
| **Pre-selected recipients** | Select rows in **Partner Discovery** — on the **Recommended Partners**, **From Your Marketplace**, or **From Your CRM** tab — and click **Invite Selected (N)** | Recipients, Compose, Review, Confirmation |

Both end in the same place: one composed message, a recipients table to check, and a confirmation. The pre-selected mode skips the upload and preview steps because Fours already knows exactly who you picked.

:::tip
Selecting exactly one partner in Partner Discovery and clicking **Invite Selected (1)** opens the single-partner wizard instead of the bulk modal — one recipient doesn't need a batch.
:::

The CSV walkthrough below covers the longer of the two paths.

### Step 1: Start the invitation

1. Go to **Fours Console**, then click **Partners**.
2. Click **+ Invite Partners**, then choose **Import multiple from CSV**.

![Invite Partners menu with the Import multiple from CSV option](images/invite-partners-to-your-network-6.png)

### Step 2: Download and prepare your CSV

1. Click **Download CSV template** to save a blank file with the correct column headers.

   ![Download CSV template button](images/invite-partners-to-your-network-7.png)

2. Open the file in a spreadsheet program, like Excel, Google Sheets, or Numbers.
3. Fill in one row per partner. Don't change, rename, or reorder the column headers in row 1 — Fours reads the file based on those exact headers.
4. Leave a cell blank if that column doesn't apply to a partner (**Contact Name**, **Partner Type**, and **Message** are optional).
5. Once every row is filled in, save the file.

#### Partner Type values

The **Partner Type** column takes the same set of engagement types the rest of PRM uses:

| Code | Label |
| --- | --- |
| `RESELLER` | Reseller |
| `VAR` | Value Added Reseller |
| `REFERRAL_PARTNER` | Referral Partner |
| `SYSTEMS_INTEGRATOR` | Systems Integrator |
| `MSP` | MSP (Managed Service Provider) |
| `TECHNOLOGY_PARTNER` | Technology Partner |
| `AGENCY` | Agency |
| `DISTRIBUTOR` | Distributor |
| `AFFILIATE` | Affiliate |

You can write either the code or the label — Fours matches case-insensitively and normalizes to the code. An unrecognized value passes through unchanged rather than failing the row, since the field is advisory.

:::info
**Reseller** and **Value Added Reseller** are two distinct types, not synonyms, and Fours keeps them apart: a reseller moves the licence transactionally, while a value-added reseller bundles its own integration or services with it. Writing "Reseller" never resolves to `VAR`.
:::

A single send takes at most **200** partners, so split a longer list across several files.

### Step 3: Upload your CSV

1. Click **Choose CSV File**, or drag and drop your file onto the upload area.
2. Click **Next**.

### Step 4: Preview and validate

Fours checks your file and shows a summary of **Total rows**, **Valid** rows, **Errors**, and **Duplicates**, along with a row-by-row breakdown.

1. Fix any rows marked with errors before continuing. Click the **trash** icon next to a row to remove it from the batch.
2. Correct a row's **Partner Type** in place if the CSV got it wrong. The column is a dropdown here, offering the same nine types listed above plus a blank choice for no type.
3. Click **Next** once you're ready to proceed.

![CSV preview with validation summary and row-by-row breakdown](images/invite-partners-to-your-network-8.png)

### Step 5: Compose your message

1. Confirm the account under **Send from**.
2. Select an **Email tone** from the dropdown: Executive, Sales, Technical, Alliance-Focused, or Short & Tactical.
3. Select a **Purpose**: Network Invitation, Account Overlap, or Deal Collaboration.
4. Click **Generate with AI** to draft a subject and message body, or write your own.

:::info
The message body you write here only applies to partners who don't already have their own **Message** filled in from your CSV. Any row with its own message keeps that message instead.
:::

5. Click **Next**.

### Step 6: Review and send

1. Review the **Purpose**, **Tone**, **Subject**, and message template.
2. Check the **Recipients** table to confirm every partner and email address is correct. The **Custom?** column shows **Yes** for any partner using their own CSV message instead of the shared template.
3. Click **Invite [number] partners** to send.

![Review screen with recipients table before sending](images/invite-partners-to-your-network-9.png)

### Step 7: Confirmation

Fours shows how many invitations were sent, along with counts for **Skipped** and **Errors**. Each partner that wasn't sent is listed underneath with its email, a status, and the reason:

- **Invitation pending** — the company already has an open invitation or application with you, including one that an earlier row of the same file has just sent. See [One Open Invitation per Company](#one-open-invitation-per-company).
- **Skipped** — the company is already one of your linked partners.
- **Failed** — anything else. The reason says what went wrong.

The rest of the batch still goes out. Click **Done** to close the wizard.

Once sent, all invited partners appear under **Pending invitations** on the All Partners page until they accept.

![Confirmation screen with sent, skipped, and error counts](images/invite-partners-to-your-network-10.png)

## Next step

Once you've sent your invitations, see [Track Partner Collaborations](/prm/collaborations/) to follow their status and know when to follow up on ones that have gone quiet.
