Platform structure

How an agency sets up the people and businesses it runs outbound for: The partner -> client -> seat hierarchy, adding a client, inviting your team, and switching between the clients you manage.

What it is

Handshake organises everyone in a simple chain. A partner is your agency. Each partner has clients - the businesses whose outreach you run. Each client has one or more seats - a single connected LinkedIn (and optionally email) identity that actually sends the outreach. Outreach always sends from a seat, on behalf of a client, managed by your partner organisation.

This page covers the setup and day-to-day management of that hierarchy: How you add a client, how you invite teammates to help, how a new client or account gets onboarded, and how you switch which client you are looking at.

Why it exists

An agency typically runs outbound for many clients at once, each with their own brand, their own LinkedIn accounts, and their own people who need to approve messages. The hierarchy keeps all of that cleanly separated: One client can never see another client's data, every seat's sending is tracked on its own, and you can hand the right level of access to the right person. Without it you would be juggling separate logins and spreadsheets and risking sending under the wrong identity.

Who can see it

  • Admins (the Handshake platform team) see and manage every partner, and can invite new partners. This is internal and not something agencies do themselves.
  • Partners manage their own clients and seats, invite their own team, and switch between their clients. Within a partner, what each teammate can do depends on their role (Owner, Admin, Approver, View Only) - see the roles summary below and Settings and roles for the full breakdown.
  • Clients see their own seats and campaigns, and can invite their own team members to their seat.
  • Seat users see the campaigns and inbox for the seat they belong to.

How it works

The hierarchy at a glance

Level Who they are Manages
Partner Your agency Its clients, seats, team, branding, billing
Client A business you run outbound for The outreach run on its behalf
Seat One connected LinkedIn (and/or email) identity The actual sending and the inbox

A partner can have many clients. A client can have several seats. Each level only ever sees its own slice of data.

Adding a client

You add clients from the Clients page in your partner area.

  1. Click Invite Client. This opens the Invite New Client form.
  2. Fill in the Client Contact details: contact name, company name, and email. These are who the invitation goes to and the business it is for.
  3. Choose your invitation options:
    • Include Agreement - show payment terms, legal details, and the agreement for the client to sign during onboarding.
    • Request CC Details - ask the client to save a payment card during onboarding. This needs your Stripe account connected first; if it is not, the option is disabled with a prompt to connect Stripe in Settings.
  4. If you included an agreement or asked for card details, set the Payment Terms - currency, when payment is due (Instant, Net 7, Net 14, Net 30), any onboarding fee, the per-email scraping fee, and your pricing tiers (what you charge and how, e.g. per meeting booked or per lead). See Billing and agreements for what these mean.
  5. If an agreement is included and you have not set your legal defaults yet, fill in the Legal Settings (governing law, dispute venue, language). These save to your partner settings and are reused for future clients.
  6. Submit. You have two choices:
    • Create & Send Invitation - creates the client and emails them their onboarding link.
    • Create Client (No Email) - creates the client without sending the email, so you can copy the link and send it yourself.

After submitting you see a confirmation ("Invitation Sent!" or "Client Created Successfully!") with a copyable Onboarding Link you can share manually at any time. The invitation link is valid for 7 days.

The client list

The Clients page lists every client you manage, with filter tabs for All, Pending, Active, Paused, and Terminated, plus a search box. Each row shows the client's status and counts of seats ("persons"), campaigns, and contacts.

What you can do from a row depends on the client's status:

  • Pending (invited, not yet onboarded): Copy the invite link, edit the invitation, or delete the invitation.
  • Active: View the client's portal ("View as Client", opens in a new tab), open Client Settings, or pause the client. Expand the row to see its seats.
  • Paused: View as client, open settings, or resume the client.

You can delete a client invitation while it is still pending. Once a client is active and holds accounts or signed agreements, it cannot be hard-deleted - you pause or terminate it instead, which preserves its history. See "Limits" below.

Inviting your team

You can bring teammates into your partner organisation so more than one person can run outbound, approve messages, or just keep an eye on things.

  • Partner team members: invite colleagues into your agency from your partner dashboard. They get an email ("Invitation to join [your agency] team") with a link to set up their login. You choose their role when you invite them.
  • Client team members: a client can invite their own people into their account (for example, someone on the client side who approves messages). They get an email ("You've been invited to join [company name]") with a setup link.

Each invitee accepts by opening their link and creating a login - they can continue with Google, continue with LinkedIn, or set a password. Invitation links expire after 7 days.

Roles in brief

Roles control who can change things versus who can only look or approve. The four partner roles are:

Role What they can do
Owner Everything: Invite and manage team (including changing roles), add and edit clients and seats, approve or reject messages, edit settings, see financials.
Admin Same as Owner for day-to-day work (clients, seats, approvals, settings) but cannot change teammates' roles or see financial data.
Approver Focused on message approval: Approve or reject messages and view clients, seats and campaigns. Cannot add clients or change settings.
View Only Read-only across clients, accounts, campaigns, settings and dashboard. Cannot change anything.

The same four role templates apply at the client and account level too. For the full permission-by-permission detail, see Settings and roles.

How a client gets onboarded

When a client opens their invitation link, they go through a short wizard. The exact steps depend on whether you included an agreement and asked for a card:

  1. Company Details - the client enters their legally registered company name, registration number, country, and registered address. (Shown when an agreement is included, since these details feed the agreement.)
  2. Agreement - the client reviews an Agreement Summary (your fees and terms), enters their signatory's name and title, ticks "I have read and accept this service agreement", and continues.
  3. Create Your Account - the client sets up their login with Google, LinkedIn, or an email and password.
  4. Payment (only if your terms require it) - the client enters card details via Stripe, either to pay an onboarding fee or to save a card for later billing.

When finished they land on their dashboard, ready to connect a LinkedIn account and start building audiences.

How a seat gets set up

A seat is a single LinkedIn (and optionally email) identity that sends outreach. A client invites a person to a seat; that person gets an invitation email and opens a Connect Your Account page showing the role they are joining as. They create their login (Google, LinkedIn, or password) and are taken to their dashboard, where they connect the LinkedIn identity that will send. Connecting and warming up that identity is covered in Seats and account safety.

If a seat needs to change hands - for example a different person takes over the identity - there is an ownership handover: A verification link is emailed to the new owner, who confirms control of the email address and (optionally) sets a password to become the seat owner.

Switching which client you are looking at

At the top of the portal is a breadcrumb bar that both shows where you are in the hierarchy and lets you move around it. It reads left to right from broadest to narrowest:

Home  >  Client  /  Account  /  Campaign

As a partner operator you do not see a partner level (you are already inside your own agency) - your breadcrumb starts at the client. Admins additionally see a partner level at the front.

To switch context, click any segment. A dropdown opens with a search box and the list of entities at that level - for example, clicking the client segment lists all your clients. Pick one and the whole page reframes to that client's data. Active entities show first; use Show all to include paused or inactive ones. Each entry has a settings gear on hover that jumps straight to that entity's settings.

Switching a higher level resets the levels below it - choosing a different client clears the account and campaign you had selected, so you start fresh in the new client's context. This selection is your scope: Everything on the page (audiences, campaigns, contacts, reports) is filtered to whatever you have chosen in the breadcrumb.

Limits and what to watch out for

  • Invitation links expire after 7 days. If a client, teammate, or account user waits too long, the link stops working and you will need to resend it. You can always copy a fresh link from the client row.
  • Active clients cannot be hard-deleted. Once a client holds seats or signed agreements, deleting is blocked to protect history and billing records. Pause or terminate the client instead. You can only delete a client while its invitation is still pending.
  • Pausing cascades downward. Pausing a partner or client pauses what sits beneath it. A client paused because its partner is paused cannot be resumed on its own until the level above is resumed.
  • Requesting card details needs Stripe connected. If your Stripe account is not connected (or the currency is not supported), the "Request CC Details" option is disabled. Connect Stripe in your partner Settings first.
  • Per-email scraping fee floor. Clients get 2,000 free emails; beyond that, Handshake charges partners a small fee per email found. If you set your client's per-email fee below that, the form warns you that you will lose money on each email.
  • Switching clients changes what everyone on the page sees. The breadcrumb scope is the single source of truth for visible data - if a page looks empty or wrong, check which client (and account and campaign) is currently selected at the top.
  • Adding clients, inviting team, and changing settings are gated by role. Approver and View Only users cannot add clients or invite teammates; only Owners can change a teammate's role. See Settings and roles.