Dashboard guide
Team Collaboration
Invite teammates to your organization and give each of them a role. Every member can access every project in the organization, with the permissions of their role.
Team Roles
Role Hierarchy
langctl uses four roles:
| Role | Permissions |
|---|---|
| Owner | Everything, including deleting the organization |
| Admin | Projects, keys, import/export, team members and API keys |
| Member | Edit translations and keys, import and export |
| Viewer | Read-only access to projects and translations |
Note
Role hierarchy: Owner > Admin > Member > Viewer. Higher roles have all the permissions of lower roles.
Permission Matrix
| Action | Owner | Admin | Member | Viewer |
|---|---|---|---|---|
| View projects and translations | ✓ | ✓ | ✓ | ✓ |
| Export translations | ✓ | ✓ | ✓ | ✓ |
| Create, edit, publish and delete keys | ✓ | ✓ | ✓ | ✗ |
| Import translations | ✓ | ✓ | ✓ | ✗ |
| Use and approve AI translation | ✓ | ✓ | ✓ | ✗ |
| Create and edit projects, add/remove languages | ✓ | ✓ | ✓ | ✗ |
| Delete projects | ✓ | ✓ | ✗ | ✗ |
| Invite, remove and change roles of members | ✓ | ✓ | ✗ | ✗ |
| Create and revoke API keys | ✓ | ✓ | ✗ | ✗ |
| Rename the organization | ✓ | ✓ | ✗ | ✗ |
| Delete the organization | ✓ | ✗ | ✗ | ✗ |
The Team page shows a short description of what each role can do.
Inviting Team Members
From the Dashboard
- Open Team in the sidebar
- Under Invite by email, enter one or more addresses (separate several with commas)
- Select a role (Admin, Member or Viewer)
- Click Send Invite
Owners and admins can invite people. Your email address must be verified before you can send invitations.
From the CLI
langctl team invite translator@example.com --role member This needs an API key with the org:admin scope. See Team Management.
Invitation Process
When you invite someone:
- An email is sent to the invited address
- The invitation link is valid for 7 days
- The recipient opens the link and creates an account, or signs in if they already have one - with the same email address the invitation was sent to
- They’re added to the organization with the assigned role
Tip
People who already have a langctl account can accept invitations too. They’re added to your organization alongside their existing organizations, and can switch between them with the organization switcher.
If the invitation email couldn’t be sent, langctl tells you - use Copy link on the pending invitation and share the link yourself.
Pending Invitations
The Pending Invitations list shows when each invitation was sent and when it expires. For each one you can:
- Resend - Sends the email again, valid for another 7 days
- Copy link - Copies the invitation link to share it another way
- Revoke - Cancels the invitation; the link stops working
Managing Team Members
View Team Members
Organization Members lists each member’s name, email, role and join date, and the page shows how many of your plan’s seats are used.
Change Member Role
Owners and admins can change roles:
- Find the member in the list
- Choose a new role from their role menu
- Confirm the change
Warning
You can’t change your own role, and you can’t give someone a role higher than your own. Only an owner can make another member an owner.
Remove Team Members
- Click the remove button next to the member
- Confirm the removal
The member immediately loses access to the organization and its projects. Their langctl account and any other organizations they belong to are not affected. Owners can’t be removed.
Activity Log
Owners and admins can open Activity in the sidebar to see who did what in the organization: keys created, edited, published or deleted, imports, AI approvals, project changes, invitations and role changes, API keys and webhooks. Each entry names the person, links to the key or project it’s about, and shows when it happened.
Filter the list by type of activity, by member and by date range, and use Load more to go further back. Members and viewers don’t see the activity log. For the changes to a single key, see Key History.
Leaving an Organization
To leave an organization yourself, go to Settings → Leave organization. If you’re the only owner, make another member an owner first.
Team Size Limits by Plan
| Plan | Maximum Members |
|---|---|
| Free | 1 |
| Starter | 2 |
| Pro | 5 |
| Team | 20 |
| Enterprise | Unlimited |
Warning
When all seats are taken, remove a member to free one up, or move to a plan with more seats (see Subscription & Usage).
Working Together
Use Drafts for Review
A simple review workflow:
- Members create and edit keys as drafts
- A reviewer filters by Draft (and Needs review for AI translations) on the Translations page
- The reviewer approves AI translations and publishes the keys that are ready
- Developers run
langctl pull(or CI does) to bring the published translations into the app
Organize by Modules
Splitting keys into modules makes it easy to divide work - for example one person per module:
Sarah: auth module (login, signup, forgot password)
John: dashboard module (main UI, stats, reports)
Maria: marketing module (landing page, emails)
Everyone can filter the Translations page by their module. langctl doesn’t lock keys while someone edits them - if two people save the same key, the last save wins - so agree on who works on what.
Assign Appropriate Roles
Use Viewer role for:
- Stakeholders who need visibility
- External reviewers who only read
Use Member role for:
- Translators
- Content writers
- Developers
Use Admin role for:
- Team leads
- People who manage the team and API keys
Use Owner role for:
- The people responsible for the organization - keep it to one or two
Troubleshooting
Invitation Not Received
- Check the spam/junk folder
- Verify the email address is correct
- Resend the invitation, or use Copy link and share it directly
”Email Mismatch” When Accepting
- The invitation is tied to the address it was sent to
- Sign out and sign in (or sign up) with that address
Cannot Invite or Remove Members
- You need the Owner or Admin role
- Your plan’s seats may all be taken
- You can’t remove yourself (leave from Settings instead) or an owner
Security Best Practices
Principle of Least Privilege
- Start with the Viewer role
- Upgrade to Member when needed
- Admin only for team leads
- Owner only for 1-2 people
Onboarding/Offboarding
When someone joins:
- Send an invitation with the appropriate role
- Tell them which projects and modules to work on
When someone leaves:
- Remove them from the organization
- Revoke any API keys they used (API Keys in the sidebar)
Next Steps
- Subscription & Usage - Plans and member limits
- Collaboration Features - Team workflows
- Module Organization - Organize work by module