Skills Development SalesLoft API Debugging Toolkit

SalesLoft API Debugging Toolkit

v20260423
salesloft-debug-bundle
A comprehensive bash script designed to collect critical diagnostic evidence for troubleshooting SalesLoft API issues. It checks authentication status, current rate limit headers, and the operational health of key endpoints. This bundle is ideal for preparing detailed, reproducible support tickets when encountering persistent API connectivity or authorization problems.
Get Skill
264 downloads
Overview

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.

Info
Category Development
Name salesloft-debug-bundle
Version v20260423
Size 4.06KB
Updated At 2026-04-28
Language