Skip to content

Invite partners

A partner is anyone — a creator, an employee, an existing customer — who you want to give attribution-tracked share links to. There are two ways partners get added to your brand:

  1. You invite them directly by email — covered on this page.
  2. They apply through the Network and you approve — covered on Review applications.

Both create the same Partner record under the hood. The difference is just who initiated.

Invite a partner

Admin → Partners → Invite partner. You need:

  • Name — what shows up in your dashboard and in their welcome email
  • Email — magic-link target

Click Send invite. They get an email with a one-time link. When they click it, they:

  1. Land on your brand portal at /t/<your-slug>/login
  2. Get authenticated as that partner
  3. See their Dashboard with whatever programs you granted them

The partner doesn’t pick a password — magic links handle every signin. They can request a fresh magic link from the login page any time.

Add a partner without an invite

Untick Email them an invite to the partner portal and the button becomes Add partner. The partner is active right away and OpenPartner doesn’t email them. Use this for customers in an in-app referral program, where your own app shows them their link and earnings.

A second checkbox appears: Let them sign in to the partner portal anyway. Leave it unticked to keep them out of the portal (see Partner portal access).

Scoping which programs a partner can promote

By default, a new partner gets access to every program you have at the moment they’re invited. For most brands with one or two programs this is what you want — partner sees both, picks which to promote.

For brands with several programs (especially if some have private commission deals), you’ll want to scope.

When inviting a new partner

In the invite form, uncheck “Grant access to all current campaigns”. A multiselect appears below — tick only the programs they should see. They never know the others exist.

Editing access for an existing partner

On the partner’s row in the Partners table → click Programs. Tick on/off per program. Changes take effect immediately:

  • Granting — partner can create new Links for that program next time they refresh
  • Revoking — partner can no longer create new Links, but existing Links keep working (we don’t break already-shared posts). To kill an existing Link, delete it from the partner’s Links page.

When the Network approves an application

Network-driven approvals automatically scope the partner to just the offering’s program — nothing else. So a creator who applies to your “Pro plan” offering gets access to the Pro plan program only, even if you have other programs. They show up in the Programs UI with a “via Network” badge so you can tell admin grants apart from Network-driven ones.

Partner portal access

Every brand has a hosted partner portal where partners sign in to see their dashboard, links, commissions and payouts. The Portal column on the Partners table shows whether each partner may sign in, with turn off / turn on next to it.

Turning portal access off:

  • signs the partner out at once, and they can’t request a sign-in link (the portal’s sign-in form answers as it does for an email it doesn’t know);
  • stops OpenPartner emailing them invites or portal emails, and hides Resend invite on their row;
  • leaves attribution and commissions untouched. Their partner API keys keep working.

Turning it back on sends nothing. An active partner can then request a sign-in link from the portal.

This is for in-app (headless) programs, where your own app is the partner’s only view.

The default for partners added without an invite

Invited partners always start with portal access. Admin → Settings → Partner portal access sets whether partners added without an invite can sign in: partners your integration creates with sendInvite: false (and no portalAccess of its own), and partners imported from CSV. It’s on until you change it. Turn it off before your integration creates an in-app program’s partners. It applies to partners added from then on; change existing ones from the Portal column.

The API equivalents are PATCH /partners/:id and POST /config/partner-access (see API reference: Portal access).

What partners see of each referral

Each partner’s Referrals page lists the customers they referred. A customer appears as soon as any event you record for them is credited to the partner, whether or not it pays. Each one shows the stages they’ve reached and what they’ve earned the partner. You see the same page for any partner from Referrals on their row in the Partners table, with your own user ID for each customer next to it.

Choosing the stages

Admin → Settings → Referral stages sets which event types partners see as stages, the label for each, and the order. Use the event types you send, including the ones that pay nothing. A sales-led program might show lead_created “Lead”, demo_booked “Demo booked”, deal_won “Deal won”, invoice_paid “Paid”. Until you change it, partners see signup, trial_started, subscription_created and invoice_paid.

Event types you don’t list stay hidden from partners. They still make the customer a referral and still count toward what the customer earned the partner. A commission still names the event it paid on, so partners know what they were paid for.

Customer names are off unless you turn them on

OpenPartner only stores your user ID for a customer, and partners never see it. A referral reads “Referral #12”. To show a name, send metadata.customerLabel on your events (a company name, say) and turn on Show partners the customer label you send.

A customer’s name is personal data, and you are its controller. Sharing it with your partners is your decision, which is why it’s off until you choose it. Turn it off and the names disappear from partners’ views at once.

The API equivalents are GET /partners/:id/referrals and POST /config/referrals (see API reference: Referrals).

Recruiting (two-tier commissions)

When a program pays partners for the partners they recruit, each partner can have a recruiter: the partner who brought them in. The recruiter earns the program’s share of the recruit’s commissions. Two levels only: a recruiter earns nothing on partners their recruits bring in.

Each partner has their own recruit link: your partner join page with ?ref=<their code> on the end. Partners find it on their Recruit partners page once a program they’re in pays a share. Someone who applies through it gets that partner as their recruiter, from the moment they apply. The join page greets them with “Ada invited you to join.”

The link doesn’t skip anything. Applicants go through your join page’s review setting like everyone else, and while the join page is closed, the link opens a page that says so. A code that names nobody, or a revoked partner, is ignored and the application goes through without a recruiter, so an old link never blocks a signup.

Set, change or clear a recruiter

On the partner’s row in Admin → Partners, open Commission. The Recruiting section at the bottom shows who recruited them and since when.

  • Set recruiter / Change recruiter opens a search by name or email. Revoked partners aren’t offered.
  • Remove clears the recruiter.

A change takes effect from that moment. The new recruiter earns only on commissions from then on, and commissions already accrued stay with whoever earned them. A partner can’t be their own recruiter, two partners can’t recruit each other, and a revoked partner can’t recruit.

The same section shows the partner’s own recruit link and the partners they recruited, with what each has earned them so far.

The API equivalents are recruitedByPartnerId on POST /partners and PATCH /partners/:id, and GET /partners/:id/recruits (see API reference: Recruiting).

Resending an invite

If the partner didn’t get the email or it expired (15 minutes), click Resend invite on their row. They’ll get a fresh magic link. Same email, same partner record — just a new token. Partners without portal access can’t be sent one.

Revoking a partner

Partners table → Revoke. You’ll be asked for an optional reason (included in their notification email) and whether to email them about the revocation. For a partner without portal access, that email is off unless you tick it.

Effects:

  • Their session is invalidated immediately
  • New attribution for their links is silently dropped
  • Existing commissions stay on the books (paid or accrued — it’s their money, the revoke doesn’t claw it back)
  • They can’t sign in until you reinstate

To bring them back: Partners table → Reinstate. Single-click, no email — they’re back to where they were.

Backfilling existing partners

If you’ve been running another platform and want to migrate, the fastest path is the Network connection’s Backfill button, which pushes your current partner roster to the Network for cross-vendor identity dedup.

For a one-shot bulk invite (no Network connection), the API has a CSV-friendly endpoint — see API reference: Partners.