salesloft-debug-bundle

'Collect SalesLoft debug evidence for support tickets and troubleshooting.

4 Tools
salesloft-pack Plugin
saas packs Category

Allowed Tools

ReadBash(curl:*)Bash(tar:*)Grep

Provided by Plugin

salesloft-pack

Claude Code skill pack for Salesloft (18 skills)

saas packs v1.0.0
View Plugin

Installation

This skill is included in the salesloft-pack plugin:

/plugin install salesloft-pack@claude-code-plugins-plus

Click to copy

Instructions

SalesLoft Debug Bundle

Overview

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.

Prerequisites

  • SalesLoft API key or OAuth token
  • curl and jq available
  • Access to SalesLoft developer portal for API logs

Instructions

Step 1: Create Debug Script


#!/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"

Step 2: Check Authentication & Identity


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

Step 3: Check Rate Limit State


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

Step 4: Test Key Endpoints


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

Step 5: Collect Environment Info


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

Step 6: Check API Logs


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"

Step 7: Package


tar -czf "$BUNDLE.tar.gz" "$BUNDLE"
echo "Bundle: $BUNDLE.tar.gz ($(du -h "$BUNDLE.tar.gz" | cut -f1))"

Output

  • auth.json -- Identity and role info
  • rate-limits.txt -- Current rate limit headers
  • endpoints.txt -- Status of key API endpoints
  • env.txt -- Runtime environment (secrets redacted)

Error Handling

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

Resources

Next Steps

For rate limit issues, see salesloft-rate-limits.

Ready to use salesloft-pack?