# Projects & Teams

> Manage teams with multi-tenant projects - owner, admin, and member roles, email invitations, shareable invite links, ownership transfer, and project deletion.

Source: https://docs.alphorn.dev/organizations/

Projects let you isolate teams, environments, or clients into separate workspaces. Each project has its own webhooks, channels, members, settings, and billing.

## Roles

| Role | Permissions |
|---|---|
| **Owner** | Everything an admin can do, plus transfer ownership and delete the project |
| **Admin** | Create, edit, and delete webhooks and channels, regenerate API keys and URLs, test channels, send test messages, resend deliveries, manage members and invitations, change settings and billing |
| **Member** | Read-only: view the dashboard, webhooks, the channel list, messages, and metrics |

Members can't open **Settings** or channel details (they contain credentials), and they can't change anything in the project.

## Creating a Project

Your first project is either created automatically at sign-up or you're asked to create it right after (see [Authentication → Sign Up](/authentication#sign-up)). To create another one later:

1. Click the project name at the top of the sidebar
2. Select **Create project**
3. Enter a name

## Switching Projects

Click the project name in the sidebar to switch between projects. Each project has independent:

- Webhooks
- Channels and filtering rules
- Messages and delivery logs
- Settings and failure notifications
- Members
- Plan and billing

## Inviting Members

Admins and owners invite people under **Settings → Team → Invite people**. New members can be invited as **Member** or **Admin** - the owner role is only given by [transferring ownership](#transferring-ownership).

### By email

1. Enter the email address and pick a role
2. Click **Invite**
3. The person receives an email with a link to accept the invitation. If they're not signed in, they sign in (or create an account) first, then accept

Email invitations expire after **48 hours**.

Pending invitations are listed under **Pending Invitations**, where you can cancel them.

Email invitations need email sending to be configured. On self-hosted instances without SMTP, only shareable links are available.

### By shareable link

1. Switch to the **Shareable link** tab, pick a role, and create a link
2. Send the link to the person you want to invite

Shareable links:

- Work **once** - the first person who uses the link joins the project
- Expire after **7 days**
- Can be revoked under **Invite Links**
- Stop working if the admin who created them is removed or is no longer an admin or owner

On self-hosted instances with [sign-up disabled](/authentication#invite-only-mode-self-hosted), shareable links only work for people who already have an account. Use email invitations to bring in new users.

## Managing Members

Under **Settings → Team → Members**, admins and owners can:

- **Change a member's role** between Member and Admin (an owner's role can only change through ownership transfer)
- **Remove a member** from the project (owners can't be removed - transfer ownership first)

There is no **Leave** button in the dashboard: an admin or owner removes members.

### Transferring ownership

The owner can make another member the owner with the **Transfer ownership** button next to that member. The previous owner becomes an admin.

## Renaming a Project

Admins and owners can rename the project under **Settings → General → Project Name**.

## Deleting a Project

Only the owner can delete a project, under **Settings → General**. Deleting a project permanently removes its webhooks, channels, messages, and settings.

If the project has an active paid subscription, cancel it under **Billing** first - deletion is blocked while the subscription is live.
