> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dmly.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Invite and manage team members

> Invite teammates to your workspace by email, give them a role, and remove or revoke access when they leave.

Everyone who works in your workspace needs their own login. You add them by sending an email
invitation and choosing what they can do. Team members live under **Workspace Settings → Team Members**,
which only workspace admins can open — a Member or Viewer can't reach the settings area at all.

## Invite someone

There is no way to create a login for someone else or add an existing user directly. Everyone
joins by accepting an emailed invitation, so the person who joins owns their own password.

<Steps>
  <Step title="Open Team Members">
    Go to **Workspace Settings → Team Members** and select **Invite member**.
  </Step>

  <Step title="Enter their email address">
    Use the address they'll sign in with. The invitation goes to that address.
  </Step>

  <Step title="Pick a role">
    Choose **Admin**, **Member** or **Viewer** (see below). If you've built a custom role,
    you can pick it under **Custom role** instead; leave it on **None — use the base role above**
    to stick with the base role.
  </Step>

  <Step title="Fine-tune their access">
    If you left **Custom role** on **None**, the modal also offers per-member controls. Tick
    **Can approve broadcasts** to let them approve scheduled broadcasts before they send — the
    members list shows this in its **Can approve** column. Under **Access restrictions** you can
    tick **Mask contact phone numbers**, **Mask contact email addresses**, **No Inbox module
    access**, **No Appointments module access**, **No Broadcast module access**, **No Automation
    module access** or **No Report module access**.

    These controls disappear once you pick a custom role, because the role then defines the
    member's access.
  </Step>

  <Step title="Send it">
    Select **Invite**. The invitation appears at the top of the members list with a **Pending**
    badge until they accept.
  </Step>
</Steps>

## The three roles

Every team member has one of three base roles.

<Columns cols={2}>
  <Card title="Admin" icon="user-shield">
    Can access and edit everything — including settings, billing and the team itself.
  </Card>

  <Card title="Member" icon="user">
    Can access and edit everything except the configuration section. This is the everyday
    operator role: they work the inbox, contacts, appointments and campaigns, but can't
    change how the workspace is set up.
  </Card>

  <Card title="Viewer" icon="eye">
    Read-only across the whole workspace — they can view every module, including Appointments,
    Offerings, Finance, Reputation and reports/logs, and they see full contact phone numbers and
    email addresses. They cannot edit, send, or change configuration.
  </Card>
</Columns>

If a base role plus the **Access restrictions** checkboxes above still isn't granular enough,
build a custom role with exactly the permissions you want and assign it when you invite. A custom
role replaces the base role's access — except for **Admin**, which always has full access
regardless. See [Roles and permissions](/account/roles-and-permissions),
reachable from the **Team Roles** button in the **Team Members** panel.

## Pending invitations count toward your limit

Your plan sets how many people can be in the workspace, and **an invitation that hasn't been
accepted yet still takes up a seat**. If you invite someone and they never accept, that seat
stays used until you cancel the invitation.

When you're full, the invite form shows `Members limit reached.` and won't send. Two ways out:

<Columns cols={2}>
  <Card title="Cancel stale invitations" icon="broom">
    Free up seats people never claimed — see below.
  </Card>

  <Card title="Add capacity" icon="plus">
    Move to a plan with a higher limit, or buy an **additional teammate** add-on.
  </Card>
</Columns>

The limit depends on your plan — check [Plans](/billing/plans) for yours, or
[Add-ons](/billing/add-ons) to buy extra seats without changing plan.

## Cancel a pending invitation

Open the menu on the invitation's row and select **Cancel**, then confirm. The link stops
working and the seat is freed immediately.

<Note>
  You can't change the role on an invitation that's still pending. Cancel it and send a new one
  with the right role.
</Note>

## Remove someone

Open the menu on their row and select the remove option, then confirm. They lose access to the
workspace straight away, and the seat is freed.

Two rows never show an actions menu:

* **Yourself.** You can't remove your own access or change your own role.
* **The workspace owner**, who carries an **Owner** badge instead of a role badge.

<Warning>
  There is no way to hand a workspace over to a new owner from within DMLY. If the owner is
  leaving the business, contact support before you remove their user — removing them does not
  transfer ownership.
</Warning>

## Next steps

<Columns cols={2}>
  <Card title="Roles and permissions" icon="lock" href="/account/roles-and-permissions">
    Build a custom role with exactly the permissions you want.
  </Card>

  <Card title="Notifications" icon="bell" href="/account/notifications">
    Choose which events alert your staff.
  </Card>

  <Card title="Plans" icon="credit-card" href="/billing/plans">
    See what your plan includes.
  </Card>

  <Card title="Add-ons" icon="cart-plus" href="/billing/add-ons">
    Buy extra teammate seats on top of your plan.
  </Card>
</Columns>
