Team & members
Everything you do in partyline lives in your team — your machines, projects, runs, context threads, and parties. You get one when you sign up. To collaborate, you invite people into it; everyone on the team shares the same work.
Manage members at Settings → Members & roles, or from the CLI with ptln team (ptln org is a back-compat alias).
There is no separate "Organization" area any more — it folded into Settings. The old
/organizationand/org/<slug>links still work: both redirect to Settings → Members & roles, so bookmarks and links in old invite emails land in the right place.
Roles
Each member has one role:
- Owner — full control: manage members, assign roles, and handle billing. You can have more than one owner, and only an owner can create or change an owner — an admin asking for that gets refused.
- Admin — invite members, change other members' roles and seat types, and remove members. An owner is the one exception: admins can neither demote nor remove one.
- Member — use the system: plan and run work, join parties, view the fleet, read/write context threads.
- Billing — assignable in the role picker, and today it behaves exactly like member: nothing in partyline grants it a permission of its own yet. Pick owner for someone who actually needs to manage the subscription.
Seat type — who can drive a session
Separate from the role, each member has a seat type for shared sessions:
- Full access — can host and be granted the keyboard (a paid seat).
- Viewer — watch-only (free and unlimited).
$ ptln team access dev@acme.com fullA change to full takes effect the next time they (re)join a session — then the host grants typing with /pgrant or ctrl-\ g.
Free teams include two full-access people; promoting a third asks you to upgrade rather than failing silently. Viewers never count. On a paid plan the seat count is unlimited and the subscription quantity follows your full-access count automatically — see Settings → Billing.
Invite people
Owners and admins invite by email — they get a link to join your team:
$ ptln team invite dev@acme.com --role member--role takes member or admin; an owner is promoted after they join, by an owner.
See who's on your team and their roles:
$ ptln team membersPending invites show on the team page with when they expire — an invite link is good for 14 days. An expired one isn't resurrected: revoke it and invite again. You can revoke any pending invite, and if the email went to spam you can copy the invite link straight from the list and send it yourself.
Your handle
Your handle is how teammates and agents address you. Set it on Settings → Profile — it checks availability as you type, so you find out before you save rather than after.
Signing in
Sign-in runs through WorkOS AuthKit: /login is a bounce, not a page, and the sign-in screen itself (email, Google, GitHub) is WorkOS's, branded in its dashboard. partyline holds no provider credentials of its own, so there is no "login providers" page to manage — the old /settings/account that once listed linked identities is retired and redirects to Settings → Profile, where the address you're signed in with is shown.
The practical consequence is unchanged: sign in the same way each time. Coming in through a provider partyline has never seen for your address creates a separate account rather than joining your existing one.
Changing your sign-in email
Change it on Settings → Profile. We send a confirmation to the new address and the change only takes effect once you click it — so a typo locks nobody out, and someone else's address cannot be attached to your account. The old address is told too, and its message carries a cancel link that works without signing in — the one person who needs it may be the one who just lost the account.
Notifications
Choose what reaches you, and where, on Settings → Notifications: a run of yours finishing or needing you, your team starting a session, and being mentioned in one — over email, Slack, or both. Being invited to a session is mandatory and always sent.
Slack
Connect Slack from Settings → Integrations to get session activity in a channel and to run Parties there. Once connected:
/partyline list— show your team's active sessions/partyline start— create a session and post the join code to the channel/partyline party [mode]— open a Party (humans + AI agents) in this channel/partyline party end— end the channel's open party ·/partyline who— list its agents
Starting a session with --announce posts to the connected channel.
One Slack workspace can be connected to more than one partyline team (one per channel). When it is, run
startandpartyfrom a connected channel — partyline refuses to guess which team you meant rather than attaching your session to the wrong one.
Humans ⇄ agent messaging in a Party needs the Slack Events API enabled on your app (one-time setup). Slash commands and the web party page work without it.
Joining by invite
If you're invited and then sign up directly — never clicking the link — you still land in that team. partyline claims the pending invite the moment your email address is verified, which for Google/GitHub sign-in is immediately. This matters more than it sounds: the older behaviour quietly created a second team, and people ended up working alone in an empty one while wondering where everybody was. The now-pointless empty team is cleaned up; one you'd already put work in is never touched.
That automatic placement only happens to someone with nowhere real to be — no membership in a team that holds work, and none in a team with other people in it. If you already have a real workspace, the invite stays pending for you to accept by hand, because switching teams is a decision worth making with your eyes open. Clicking Accept & join on the invite link is that decision, and it is never blocked.
Multiple teams
Today an account works in a single team — the simplest model, and the one most groups need. If an account does end up in two, partyline resolves to the most recently joined one; there is no switcher. A second email address is the escape hatch for someone invited to another company. Belonging to more than one team properly, with a switcher, is planned for when a customer needs to keep separate groups walled off.
Automation
Team API keys, outbound webhooks and inbound triggers live on Settings → Integrations — see API keys & webhooks.