Back to skills
SKILL.md
2867 Multi Tenancy 677a145e
ASecurityManage agents across tenants using tags.
- 9 stars
- 0 votes
- 0 copies
- 0 views
- Added October 11, 2026
Works with
Security analysis
100/100npx -y skills add tools-only/X-Skills --skill 2867-multi-tenancy_677a145e --agent claude-codeAre you the author of 2867 Multi Tenancy 677a145e?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/tools-only-2867-multi-tenancy-677a145e)# Multi-Tenancy Reference
Manage agents across tenants using tags.
## Tag Format
Tags are `key:value` strings on agents. Filtering uses AND logic — all specified tags must match.
```yaml
agents:
- name: acme-support
tags:
- "tenant:acme-corp"
- "role:support"
- "env:production"
```
## Patterns
### B2B
```yaml
tags:
- "tenant:client-id"
- "role:support"
```
### B2B2C
```yaml
tags:
- "user:user-id"
- "client:client-id"
- "role:assistant"
```
## Filtering
Tags work across all relevant commands:
```bash
lettactl get agents --tags "tenant:acme-corp"
lettactl get agents --tags "role:support,env:production"
lettactl describe agent <name>
lettactl send --tags "tenant:acme-corp" "Update"
lettactl report memory --tags "tenant:acme-corp"
```
## SDK: Dynamic Tenant Provisioning
```typescript
async function provisionTenant(tenantId: string) {
const config = ctl.createFleetConfig()
.addAgent({
name: `${tenantId}-support`,
description: `Support for ${tenantId}`,
tags: [`tenant:${tenantId}`, 'role:support'],
system_prompt: { from_file: 'prompts/support.md' },
llm_config: { model: 'google_ai/gemini-2.5-pro', context_window: 32000 },
shared_blocks: ['company-kb'],
})
.build();
await ctl.deployFleet(config);
}
```
## Scale
- Server-side filtering for performance
- Async pagination (1000 items per page)
- Concurrency limit of 5 for update operations
Attribution
Comments
Loading comments…