Getting Started with Organizations
This guide walks you through creating your first organization, understanding your personal workspace, and switching between multiple workspaces.
Your Personal Workspace
When you sign in to LLMx Prompt Studio for the first time, a personal workspace is automatically created for you.
What’s Included
Your personal workspace comes pre-configured with:
- You as the Owner with full permissions
- A demo project to help you learn the platform
- Ready-to-use folder structure demonstrating best practices
The Demo Project
The demo project (called “JSON Extractor”) showcases key features:
- Folder hierarchy with nested prompts
- Variable inheritance from parent folders
- Prompt references using the
[[ path/to/prompt ]]syntax - Template engine configuration
Feel free to explore, modify, or delete the demo project as you learn the platform.
Creating a New Organization
Create additional organizations for teams, clients, or separate projects.
Step 1: Open the Account Menu
Click on your profile avatar or organization name in the top navigation bar to open the account menu.
Step 2: Click “New Organization”
Select New Organization from the dropdown menu. A modal dialog will appear.
Step 3: Enter Organization Details
Fill in the required information:
| Field | Description | Example |
|---|---|---|
| Name | Display name for your organization | ”Acme Corp AI Team” |
| Slug | URL-friendly identifier (auto-generated) | “acme-corp-ai-team” |
Slug Rules:
- Must be at least 3 characters
- Only lowercase letters, numbers, and hyphens allowed
- Must be unique across all organizations
- Cannot be changed after creation
Step 4: Create the Organization
Click Create to finish. You’ll be automatically redirected to your new organization’s settings page.
Tip: Invite your team members right away from the Settings page to get everyone started together.
Switching Between Organizations
If you belong to multiple organizations, you can easily switch between them.
Using the Organization Switcher
- Click on the organization name in the top navigation bar
- The account menu shows all organizations you belong to
- Each organization displays your role (Owner, Admin, Editor, or Viewer)
- Click on any organization to switch to it
URL-Based Navigation
Organizations are identified by their slug in the URL:
https://app.llmx.io/{org-slug}/
https://app.llmx.io/{org-slug}/settings
https://app.llmx.io/{org-slug}/prompts/{prompt-id}You can bookmark or share organization-specific URLs directly.
What Changes When You Switch
When you switch organizations:
- The file tree updates to show that organization’s prompts and folders
- Settings reflect the selected organization’s configuration
- Your role and permissions update based on your membership
- Any open editors reload with the new organization’s content
Organization Persistence
Your selected organization is remembered:
- Browser session: Stays selected as you navigate
- New tabs: Opens to your last selected organization
- Return visits: Automatically selects your previous organization
Note: If you’re removed from an organization, you’ll be redirected to another organization you belong to.
Understanding Organization URLs
Structure
/{org-slug} → Organization workspace
/{org-slug}/settings → Organization settings
/{org-slug}/settings?tab=members → Specific settings tabExamples
| URL | Description |
|---|---|
/my-workspace | Your personal workspace |
/acme-team | Team organization workspace |
/acme-team/settings | Team settings page |
/acme-team/settings?tab=api-keys | API keys configuration |
For Developers
Organization Context Management
The frontend uses a global context pattern for organization scoping:
// Setting organization context (happens on org switch)
import { BaseFirestoreService } from '@/services/firestore';
BaseFirestoreService.setOrgContext(orgId);
// All subsequent service calls use this context
const prompts = await promptService.list();
// Equivalent to: GET /api/v1/organizations/{orgId}/promptsState Persistence
Organization state is managed with Zustand and persisted to localStorage:
// Only minimal data is persisted
{
currentOrg: {
id: "org_abc123",
slug: "my-workspace"
}
}Full organization data is fetched fresh on each session to ensure consistency.
Auto-Creation Flow
When a new user signs in:
orgStore.loadOrganizations()is called- If no organizations exist, a personal workspace is created
- The workspace name is derived from the user’s display name or email
- A demo project is seeded with sample prompts
- The user is redirected to their new workspace
// Personal workspace naming logic
const name = user.displayName
? `${user.displayName}'s Workspace`
: 'My Workspace';
const slug = generateSlugFromEmail(user.email) || `user-${user.uid.slice(0, 8)}`;