From salesloft-pack
Collects SalesLoft API debug bundle with auth checks, rate limits, endpoint tests, env info, and redacted configs. For preparing support tickets or diagnosing API issues.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin salesloft-packThis skill is limited to using the following tools:
Collect diagnostic data for SalesLoft API issues: authentication state, rate limit usage, endpoint reachability, and API log entries. SalesLoft provides API Logs in the developer portal for request-level debugging.
Collects Salesforce debug bundle: API limits, debug logs via SF CLI, org info, and event logs for support tickets and troubleshooting.
Diagnoses and fixes SalesLoft REST API v2 errors: 401 (tokens), 403 (scopes), 422 (validation), 429 (rate limits), 5xx. Includes OAuth troubleshooting, retry code, and curl examples.
Collects Apollo.io API debug bundle with environment info, connectivity, rate limits, key type, and endpoint tests for support tickets and issue documentation.
Share bugs, ideas, or general feedback.
Collect diagnostic data for SalesLoft API issues: authentication state, rate limit usage, endpoint reachability, and API log entries. SalesLoft provides API Logs in the developer portal for request-level debugging.
curl and jq available#!/bin/bash
# salesloft-debug.sh
set -euo pipefail
BUNDLE="salesloft-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"
TOKEN="${SALESLOFT_API_KEY:?Set SALESLOFT_API_KEY}"
echo "=== SalesLoft Debug Bundle ===" | tee "$BUNDLE/summary.txt"
echo "Generated: $(date -u +%Y-%m-%dT%H:%M:%SZ)" >> "$BUNDLE/summary.txt"
echo "--- Auth Check ---" >> "$BUNDLE/summary.txt"
curl -s -w "\nHTTP_STATUS: %{http_code}\n" \
-H "Authorization: Bearer $TOKEN" \
https://api.salesloft.com/v2/me.json \
| jq '{id: .data.id, email: .data.email, name: .data.name, role: .data.role}' \
>> "$BUNDLE/auth.json" 2>&1
echo "--- Rate Limits ---" >> "$BUNDLE/summary.txt"
curl -sI -H "Authorization: Bearer $TOKEN" \
https://api.salesloft.com/v2/people.json?per_page=1 \
| grep -iE '(ratelimit|retry-after|x-request-id)' \
>> "$BUNDLE/rate-limits.txt" 2>&1
echo "--- Endpoint Health ---" >> "$BUNDLE/summary.txt"
for endpoint in people.json cadences.json activities/emails.json; do
STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $TOKEN" \
"https://api.salesloft.com/v2/$endpoint?per_page=1")
echo "$endpoint: HTTP $STATUS" >> "$BUNDLE/endpoints.txt"
done
echo "--- Environment ---" >> "$BUNDLE/summary.txt"
echo "Node: $(node --version 2>/dev/null || echo 'N/A')" >> "$BUNDLE/env.txt"
echo "Python: $(python3 --version 2>/dev/null || echo 'N/A')" >> "$BUNDLE/env.txt"
echo "SALESLOFT_BASE_URL: ${SALESLOFT_BASE_URL:-default}" >> "$BUNDLE/env.txt"
echo "SALESLOFT_API_KEY: ${SALESLOFT_API_KEY:+[SET]}" >> "$BUNDLE/env.txt"
# Redact .env secrets
cat .env 2>/dev/null | sed 's/=.*/=***REDACTED***/' >> "$BUNDLE/config-redacted.txt" || true
echo "--- API Logs ---" >> "$BUNDLE/summary.txt"
echo "View request-level logs at:" >> "$BUNDLE/summary.txt"
echo " https://developers.salesloft.com/docs/platform/guides/api-logs/" >> "$BUNDLE/summary.txt"
echo "Filter by: date range, HTTP method, status code, endpoint" >> "$BUNDLE/summary.txt"
tar -czf "$BUNDLE.tar.gz" "$BUNDLE"
echo "Bundle: $BUNDLE.tar.gz ($(du -h "$BUNDLE.tar.gz" | cut -f1))"
auth.json -- Identity and role inforate-limits.txt -- Current rate limit headersendpoints.txt -- Status of key API endpointsenv.txt -- Runtime environment (secrets redacted)| Finding | Likely Issue | Action |
|---|---|---|
| auth.json shows 401 | Token expired | Refresh OAuth token |
| rate-limits.txt shows 0 remaining | Hit rate limit | Wait for reset, reduce request volume |
| Endpoint returns 403 | Scope mismatch | Check OAuth app scopes |
| Endpoint returns 5xx | SalesLoft outage | Check status.salesloft.com |
For rate limit issues, see salesloft-rate-limits.