clay-install-auth

v2026.09.24

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".

GitHub
Install command
npx skhub add jeremylongshore/clay-install-auth
Markdown
SKILL.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.

  1. Open a Clay workbook (or create one)
  2. Click + Add at the bottom of the table
  3. Search for Webhooks and click Monitor webhook
  4. 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.

  1. Go to Settings > Connections in Clay
  2. Click Add Connection for each provider
  3. Paste your API key

Common providers to connect:

ProviderKey LocationCredit Savings
Apollo.ioSettings > API Keys2 credits/lookup saved
ClearbitDashboard > API2-5 credits saved
People Data LabsDashboard > API Keys3 credits saved
Hunter.ioDashboard > API2 credits saved
ZoomInfoAdmin > API5-13 credits saved
ProspeoDashboard > API Key2 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

ErrorCauseSolution
401 UnauthorizedInvalid or expired API keyRegenerate key in Settings > API
403 ForbiddenFeature not on your planEnterprise API requires Enterprise plan
422 UnprocessableMalformed webhook payloadEnsure valid JSON with Content-Type header
429 Too Many RequestsExplorer plan: 400 records/hourThrottle webhook submissions or upgrade
Webhook URL expiredTable deleted or webhook limit hitCreate new webhook (50K submission limit per webhook)
Provider connection failedInvalid third-party API keyVerify key in provider's own dashboard

Output

Record the workspace, authorized account, secret-store references, enabled features, webhook verification result, and rotation owner. Keep API keys, webhook URLs, provider credentials, and any local .env contents out of repositories, tickets, shell history, and general documentation.

Examples

Use a non-production workspace to store the key in the approved secret manager, send one synthetic authenticated webhook, and retain only the redacted result and correlation ID. If provider authentication fails, remove the failed secret reference and correct its scope with the owner rather than sharing keys or copying production credentials into local files.

Resources

Next Steps

After auth setup, proceed to clay-hello-world to send your first enrichment through Clay.

Discovery
Tags

No tags published for this skill.

Version
Latest version metadata

Version

v2026.09.24

Published

Sep 24, 2026

Category

Uncategorized

License

MIT

Source path

skills/.curated/clay-install-auth

Default branch

main

Latest commit

e5a6c3b

Tree SHA

c2dc8e8