clay-enterprise-rbac
Configure Clay enterprise SSO, role-based access control, and organization management. Use when implementing SSO integration, configuring role-based permissions, or setting up organization-level controls for Clay. Trigger with phrases like "clay SSO", "clay RBAC", "clay enterprise", "clay roles", "clay permissions", "clay SAML".
Install
mkdir -p .claude/skills/clay-enterprise-rbac && curl -L -o skill.zip "https://mcp.directory/api/skills/download/8647" && unzip -o skill.zip -d .claude/skills/clay-enterprise-rbac && rm skill.zipInstalls to .claude/skills/clay-enterprise-rbac
About this skill
Clay Enterprise RBAC
Overview
Control access to Clay tables, enrichment credits, and integrations at the team level. Clay uses a workspace model where team members are assigned Admin, Member, or Viewer roles. This skill covers role assignment, credit budget allocation, API key isolation, and audit procedures.
Prerequisites
- Clay Team or Enterprise plan
- Workspace admin privileges
- Understanding of team structure and data access needs
Instructions
Step 1: Define Role Matrix
Clay has three built-in roles with fixed permissions:
| Capability | Admin | Member | Viewer |
|---|---|---|---|
| Manage workspace members | Yes | No | No |
| Manage billing and credits | Yes | No | No |
| Create/delete tables | Yes | Yes | No |
| Run enrichments | Yes | Yes | No |
| Configure integrations | Yes | No | No |
| Export data | Yes | Yes | Yes |
| View all tables | Yes | Yes | Yes |
Recommended role assignments:
roles:
admin:
assign_to:
- Revenue Operations Lead
- GTM Engineering Lead
why: "Controls billing, integrations, and team access"
member:
assign_to:
- SDRs building prospect lists
- Growth engineers building pipelines
- Marketing ops running enrichment campaigns
why: "Can create tables and run enrichments but can't change billing or integrations"
viewer:
assign_to:
- Sales managers reviewing lead quality
- Executives checking pipeline metrics
- Finance reviewing credit usage
why: "Read-only access to enriched data and exports"
Step 2: Invite and Manage Team Members
In Clay UI: Settings > Members > Invite
Best practices:
- Use company email addresses (not personal)
- Start new members as Viewers until they complete Clay training
- Audit member list quarterly -- remove departed employees immediately
Step 3: Isolate API Keys by Integration
Create separate API keys for each downstream system to enable independent revocation:
api_keys:
crm-sync-prod:
purpose: "HubSpot CRM sync from Clay"
used_by: "HTTP API column in Outbound Leads table"
rotation: quarterly
outbound-instantly:
purpose: "Push qualified leads to Instantly.ai"
used_by: "HTTP API column for outreach"
rotation: quarterly
internal-dashboard:
purpose: "Pull enrichment metrics for internal dashboard"
used_by: "Cron job reading Clay table stats"
rotation: quarterly
ci-testing:
purpose: "Integration tests in CI pipeline"
used_by: "GitHub Actions workflow"
rotation: on-demand
Step 4: Set Credit Budget Controls
Since Clay doesn't have per-user credit budgets natively, implement controls at the table level:
// src/clay/budget-controls.ts
interface TableBudget {
tableId: string;
tableName: string;
maxRows: number; // Prevent over-enrichment
autoEnrich: boolean; // Control automatic processing
owner: string; // Team member responsible
monthlyCreditsEstimate: number;
}
const TABLE_BUDGETS: TableBudget[] = [
{
tableId: 'outbound-leads',
tableName: 'Outbound Leads',
maxRows: 5000,
autoEnrich: true,
owner: 'sdr-team@company.com',
monthlyCreditsEstimate: 3000,
},
{
tableId: 'event-attendees',
tableName: 'Event Attendees',
maxRows: 1000,
autoEnrich: false, // Manual trigger only
owner: 'marketing@company.com',
monthlyCreditsEstimate: 600,
},
{
tableId: 'inbound-leads',
tableName: 'Inbound Leads',
maxRows: 2000,
autoEnrich: true,
owner: 'growth-eng@company.com',
monthlyCreditsEstimate: 1200,
},
];
function auditBudgets(budgets: TableBudget[]): void {
const totalEstimate = budgets.reduce((sum, b) => sum + b.monthlyCreditsEstimate, 0);
console.log(`=== Clay Credit Budget Audit ===`);
for (const b of budgets) {
console.log(` ${b.tableName}: ${b.maxRows} rows, ~${b.monthlyCreditsEstimate} credits/mo (owner: ${b.owner})`);
}
console.log(` Total monthly estimate: ${totalEstimate} credits`);
}
Step 5: Quarterly Access Audit
## Clay Workspace Access Audit Checklist
- [ ] Review all workspace members — remove former employees
- [ ] Verify role assignments match current job functions
- [ ] Check API key usage — revoke unused keys
- [ ] Review table access — archive unused tables
- [ ] Audit credit usage by table — identify waste
- [ ] Verify provider API key connections are current
- [ ] Update API key rotation log
- [ ] Review and update table row limits
- [ ] Check webhook submission counts (approaching 50K?)
- [ ] Document any new tables or integrations added
Error Handling
| Issue | Cause | Solution |
|---|---|---|
403 on table creation | User is Viewer role | Upgrade to Member role |
| Credits exhausted mid-campaign | No budget cap on table | Set max_rows on table |
| Integration key rejected | Key was revoked | Generate new key, update integration config |
| Unauthorized data export | Viewer exported sensitive data | Review export audit log |
| Former employee still has access | No offboarding process | Immediate removal on departure |
Resources
Next Steps
For migration strategies, see clay-migration-deep-dive.
More by jeremylongshore
View all skills by jeremylongshore →You might also like
flutter-development
aj-geddes
Build beautiful cross-platform mobile apps with Flutter and Dart. Covers widgets, state management with Provider/BLoC, navigation, API integration, and material design.
drawio-diagrams-enhanced
jgtolentino
Create professional draw.io (diagrams.net) diagrams in XML format (.drawio files) with integrated PMP/PMBOK methodologies, extensive visual asset libraries, and industry-standard professional templates. Use this skill when users ask to create flowcharts, swimlane diagrams, cross-functional flowcharts, org charts, network diagrams, UML diagrams, BPMN, project management diagrams (WBS, Gantt, PERT, RACI), risk matrices, stakeholder maps, or any other visual diagram in draw.io format. This skill includes access to custom shape libraries for icons, clipart, and professional symbols.
ui-ux-pro-max
nextlevelbuilder
"UI/UX design intelligence. 50 styles, 21 palettes, 50 font pairings, 20 charts, 8 stacks (React, Next.js, Vue, Svelte, SwiftUI, React Native, Flutter, Tailwind). Actions: plan, build, create, design, implement, review, fix, improve, optimize, enhance, refactor, check UI/UX code. Projects: website, landing page, dashboard, admin panel, e-commerce, SaaS, portfolio, blog, mobile app, .html, .tsx, .vue, .svelte. Elements: button, modal, navbar, sidebar, card, table, form, chart. Styles: glassmorphism, claymorphism, minimalism, brutalism, neumorphism, bento grid, dark mode, responsive, skeuomorphism, flat design. Topics: color palette, accessibility, animation, layout, typography, font pairing, spacing, hover, shadow, gradient."
godot
bfollington
This skill should be used when working on Godot Engine projects. It provides specialized knowledge of Godot's file formats (.gd, .tscn, .tres), architecture patterns (component-based, signal-driven, resource-based), common pitfalls, validation tools, code templates, and CLI workflows. The `godot` command is available for running the game, validating scripts, importing resources, and exporting builds. Use this skill for tasks involving Godot game development, debugging scene/resource files, implementing game systems, or creating new Godot components.
nano-banana-pro
garg-aayush
Generate and edit images using Google's Nano Banana Pro (Gemini 3 Pro Image) API. Use when the user asks to generate, create, edit, modify, change, alter, or update images. Also use when user references an existing image file and asks to modify it in any way (e.g., "modify this image", "change the background", "replace X with Y"). Supports both text-to-image generation and image-to-image editing with configurable resolution (1K default, 2K, or 4K for high resolution). DO NOT read the image file first - use this skill directly with the --input-image parameter.
pdf-to-markdown
aliceisjustplaying
Convert entire PDF documents to clean, structured Markdown for full context loading. Use this skill when the user wants to extract ALL text from a PDF into context (not grep/search), when discussing or analyzing PDF content in full, when the user mentions "load the whole PDF", "bring the PDF into context", "read the entire PDF", or when partial extraction/grepping would miss important context. This is the preferred method for PDF text extraction over page-by-page or grep approaches.
Related MCP Servers
Browse all serversPowerful MCP server for Slack with advanced API, message fetching, webhooks, and enterprise features. Robust Slack data
Supercharge AI platforms with Azure MCP Server for seamless Azure API Management and resource automation. Public Preview
Effortlessly manage Netlify projects with AI using the Netlify MCP Server—automate deployment, sites, and more via natur
Official Okta MCP server for managing identity and access management through AI. Automate user provisioning, group manag
Docy (Documentation Access) delivers real-time search and navigation of technical documentation without leaving your con
Easily access and manage Windows Screenshots from WSL2. List and retrieve screenshots with metadata, paths, or base64 co
Stay ahead of the MCP ecosystem
Get weekly updates on new skills and servers.