> clay-install-auth
Set up Clay account access, API keys, webhook URLs, and provider connections. Use when onboarding to Clay, connecting data providers, configuring API keys, or setting up webhook endpoints for programmatic data flow. Trigger with phrases like "install clay", "setup clay", "clay auth", "configure clay API key", "connect clay providers".
curl "https://skillshub.wtf/jeremylongshore/claude-code-plugins-plus-skills/clay-install-auth?format=md"Clay Install & Auth
Overview
Clay is a web-based data enrichment platform — there is no SDK to install. Integration happens through webhook URLs (inbound data), HTTP API enrichment columns (outbound calls from Clay), and the Enterprise API (programmatic people/company lookups). This skill covers account setup, API key management, provider connections, and webhook configuration.
Prerequisites
- Clay account at clay.com (free tier available)
- For Enterprise API: Enterprise plan subscription
- For webhook integration: HTTPS endpoint or tunneling tool (ngrok)
Instructions
Step 1: Get Your Clay API Key (Enterprise Only)
Navigate to Settings > API in your Clay workspace. Copy your API key. Clay's Enterprise API is limited to people and company data lookups — it is not a general-purpose table API.
# Store your Clay API key securely
export CLAY_API_KEY="clay_ent_your_api_key_here"
# Verify with a test lookup (Enterprise API)
curl -s -X POST "https://api.clay.com/v1/people/enrich" \
-H "Authorization: Bearer $CLAY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com"}' | jq .
Step 2: Configure Webhook Inbound Source
Every Clay table can receive data via a unique webhook URL. This is the primary way to send data into Clay programmatically.
- Open a Clay workbook (or create one)
- Click + Add at the bottom of the table
- Search for Webhooks and click Monitor webhook
- Copy the generated webhook URL
# Store your table's webhook URL
export CLAY_WEBHOOK_URL="https://app.clay.com/api/v1/webhooks/your-unique-id"
# Send a test record to your Clay table
curl -X POST "$CLAY_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"email": "jane@acme.com",
"first_name": "Jane",
"last_name": "Doe",
"company": "Acme Corp",
"title": "VP of Sales"
}'
The record appears as a new row in your Clay table within seconds.
Step 3: Connect Data Provider API Keys
Clay supports 150+ enrichment providers. Connecting your own API keys saves 70-80% on Clay credits.
- Go to Settings > Connections in Clay
- Click Add Connection for each provider
- Paste your API key
Common providers to connect:
| Provider | Key Location | Credit Savings |
|---|---|---|
| Apollo.io | Settings > API Keys | 2 credits/lookup saved |
| Clearbit | Dashboard > API | 2-5 credits saved |
| People Data Labs | Dashboard > API Keys | 3 credits saved |
| Hunter.io | Dashboard > API | 2 credits saved |
| ZoomInfo | Admin > API | 5-13 credits saved |
| Prospeo | Dashboard > API Key | 2 credits saved |
When you use your own API keys, 0 Clay credits are consumed — credits only apply when using Clay's managed provider accounts.
Step 4: Create .env for Local Integration Code
# .env — for local scripts that interact with Clay
CLAY_API_KEY=clay_ent_your_key # Enterprise API (if applicable)
CLAY_WEBHOOK_URL=https://app.clay.com/api/v1/webhooks/abc123 # Table webhook
CLAY_WORKSPACE_ID=ws_your_workspace # Found in Settings > Workspace
# Provider keys (optional — for direct provider calls outside Clay)
APOLLO_API_KEY=your_apollo_key
CLEARBIT_API_KEY=your_clearbit_key
HUNTER_API_KEY=your_hunter_key
Step 5: Verify Webhook Authentication
Secure your webhook endpoint with a shared secret in the header:
# Send authenticated webhook data
curl -X POST "$CLAY_WEBHOOK_URL" \
-H "Content-Type: application/json" \
-H "X-Webhook-Secret: your-shared-secret" \
-d '{"email": "test@acme.com", "source": "auth-verification"}'
Error Handling
| Error | Cause | Solution |
|---|---|---|
401 Unauthorized | Invalid or expired API key | Regenerate key in Settings > API |
403 Forbidden | Feature not on your plan | Enterprise API requires Enterprise plan |
422 Unprocessable | Malformed webhook payload | Ensure valid JSON with Content-Type header |
429 Too Many Requests | Explorer plan: 400 records/hour | Throttle webhook submissions or upgrade |
| Webhook URL expired | Table deleted or webhook limit hit | Create new webhook (50K submission limit per webhook) |
| Provider connection failed | Invalid third-party API key | Verify key in provider's own dashboard |
Output
- Clay workspace configured with API access
- Webhook URL ready to receive programmatic data
- Provider API keys connected for credit savings
.envfile with all required credentials
Resources
- Clay University — HTTP API Overview
- Clay University — Webhook Integration Guide
- Clay Plans & Billing
Next Steps
After auth setup, proceed to clay-hello-world to send your first enrichment through Clay.
> related_skills --same-repo
> fathom-cost-tuning
Optimize Fathom API usage and plan selection. Trigger with phrases like "fathom cost", "fathom pricing", "fathom plan".
> fathom-core-workflow-b
Sync Fathom meeting data to CRM and build automated follow-up workflows. Use when integrating Fathom with Salesforce, HubSpot, or custom CRMs, or creating automated post-meeting email summaries. Trigger with phrases like "fathom crm sync", "fathom salesforce", "fathom follow-up", "fathom post-meeting workflow".
> fathom-core-workflow-a
Build a meeting analytics pipeline with Fathom transcripts and summaries. Use when extracting insights from meetings, building CRM sync, or creating automated meeting follow-up workflows. Trigger with phrases like "fathom analytics", "fathom meeting pipeline", "fathom transcript analysis", "fathom action items sync".
> fathom-common-errors
Diagnose and fix Fathom API errors including auth failures and missing data. Use when API calls fail, transcripts are empty, or webhooks are not firing. Trigger with phrases like "fathom error", "fathom not working", "fathom api failure", "fix fathom".