Overview
Organizations are the top-level container for all your Simforge resources. Everything in Simforge is scoped to an organization:
- Functions
- Traces
- API Keys
- Tags
- Integrations
- Team members
How Organizations Work
When you sign up for Simforge, a personal organization is automatically created for you. You can also create additional organizations or be invited to join existing ones.
Personal vs Team Organizations
| Type | Description |
|---|
| Personal | Created automatically for each user. Ideal for individual projects. |
| Team | Created manually for collaboration. Multiple members can be invited. |
Resource Scoping
All resources in Simforge are scoped to the currently selected organization:
Functions
Functions belong to a single organization. When you create a function, it’s created in your currently selected organization.
// This call uses the API key's organization
const result = await client.call("ExtractName", { text: "John Doe" })
API Keys
API keys are scoped to an organization. When you use an API key:
- You can only call functions in that organization
- Traces are recorded to that organization
- The key only has access to that organization’s resources
Traces
Traces are automatically associated with the organization of the API key used to make the call.
Tags are organization-specific. Each organization has its own set of tags for organizing traces.
Switching Organizations
If you belong to multiple organizations, you can switch between them:
- Click the organization switcher in the header (next to your profile)
- Select the organization you want to work in
- The page will refresh with that organization’s resources
Your current organization is shown in the header. Make sure you’re in the correct organization before creating resources.
Creating an Organization
To create a new organization:
- Click the organization switcher in the header
- Click Create Organization
- Enter a name for your organization
- Click Create
Inviting Team Members
To invite members to your organization:
- Click your profile avatar and select Manage Organization
- Go to the Members tab
- Click Invite Member
- Enter their email address
- Select a role
- Click Send Invite
Roles
| Role | Permissions |
|---|
| Admin | Full access to all resources, can manage members |
| Member | Can create and edit functions, view traces |
Best Practices
- Separate environments: Create separate organizations for development, staging, and production
- Use descriptive names: Name organizations clearly (e.g., “Acme Corp - Production”)
- Manage access carefully: Only invite members who need access
- Check your organization: Always verify you’re in the correct organization before creating resources
SDK Usage
When using the SDK, the organization is determined by the API key:
// This API key determines which organization is used
const client = new Simforge({
apiKey: process.env.SIMFORGE_API_KEY, // Scoped to a specific organization
})
// All calls use that organization
const result = await client.call("MyFunction", { input: "value" })
To work with multiple organizations, use different API keys:
const prodClient = new Simforge({
apiKey: process.env.SIMFORGE_PROD_API_KEY,
})
const devClient = new Simforge({
apiKey: process.env.SIMFORGE_DEV_API_KEY,
})