From clari-pack
Configures Clari API key authentication, environment setup, and connectivity tests for forecast data exports to Snowflake, BigQuery, or Redshift.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin clari-packThis skill is limited to using the following tools:
Set up Clari API access for exporting forecast data, pipeline snapshots, and revenue intelligence to your data warehouse. Clari uses API key authentication via the `apikey` header, with the primary API at `api.clari.com/v4/`.
Exports Clari forecasts and pipeline snapshots via REST API. Tests connectivity, polls job status, downloads JSON data. For initial integrations post-auth.
Installs and configures Apollo.io API authentication for Node.js/TypeScript or Python projects. Sets up HTTP clients, .env keys, client code, and verifies with health endpoint.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Share bugs, ideas, or general feedback.
Set up Clari API access for exporting forecast data, pipeline snapshots, and revenue intelligence to your data warehouse. Clari uses API key authentication via the apikey header, with the primary API at api.clari.com/v4/.
# Store securely -- never commit
export CLARI_API_KEY="your-api-token-here"
# Verify the key works
curl -s -H "apikey: ${CLARI_API_KEY}" \
https://api.clari.com/v4/export/forecast/list \
| jq '.forecasts | length'
# .env -- NEVER commit this file
CLARI_API_KEY=your-api-token
CLARI_BASE_URL=https://api.clari.com/v4
CLARI_ORG_ID=your-org-id
# .gitignore
.env
.env.local
import requests
import os
api_key = os.environ["CLARI_API_KEY"]
headers = {"apikey": api_key, "Content-Type": "application/json"}
# List available forecasts
response = requests.get(
"https://api.clari.com/v4/export/forecast/list",
headers=headers,
)
response.raise_for_status()
forecasts = response.json()["forecasts"]
for fc in forecasts:
print(f" {fc['forecastName']} (ID: {fc['forecastId']})")
Clari Copilot (conversation intelligence) has a separate API:
# Copilot uses OAuth2 -- different from the forecast API
# Register at https://api-doc.copilot.clari.com
export CLARI_COPILOT_CLIENT_ID="your-client-id"
export CLARI_COPILOT_CLIENT_SECRET="your-client-secret"
# Get access token
curl -X POST https://api.copilot.clari.com/oauth/token \
-d "grant_type=client_credentials" \
-d "client_id=${CLARI_COPILOT_CLIENT_ID}" \
-d "client_secret=${CLARI_COPILOT_CLIENT_SECRET}"
| Error | Cause | Solution |
|---|---|---|
401 Unauthorized | Invalid or expired token | Regenerate at User Settings > API Token |
403 Forbidden | Insufficient permissions | Contact Clari admin for API access |
404 Not Found | Wrong API version or endpoint | Use /v4/ prefix |
| Connection refused | IP allowlist | Check with IT for API access from your network |
Proceed to clari-hello-world to export your first forecast.