Claude Code skill pack for HubSpot (30 skills)
Installation
Open Claude Code and run this command:
/plugin install hubspot-pack@claude-code-plugins-plus
Use --global to install for all projects, or --project for current project only.
Skills (30)
Apply HubSpot advanced debugging techniques for hard-to-diagnose issues.
HubSpot Advanced Troubleshooting
Overview
Deep debugging techniques for complex HubSpot issues that resist standard troubleshooting.
Prerequisites
- Access to production logs and metrics
- kubectl access to clusters
- Network capture tools available
- Understanding of distributed tracing
Evidence Collection Framework
Comprehensive Debug Bundle
#!/bin/bash
# advanced-hubspot-debug.sh
BUNDLE="hubspot-advanced-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE"/{logs,metrics,network,config,traces}
# 1. Extended logs (1 hour window)
kubectl logs -l app=hubspot-integration --since=1h > "$BUNDLE/logs/pods.log"
journalctl -u hubspot-service --since "1 hour ago" > "$BUNDLE/logs/system.log"
# 2. Metrics dump
curl -s localhost:9090/api/v1/query?query=hubspot_requests_total > "$BUNDLE/metrics/requests.json"
curl -s localhost:9090/api/v1/query?query=hubspot_errors_total > "$BUNDLE/metrics/errors.json"
# 3. Network capture (30 seconds)
timeout 30 tcpdump -i any port 443 -w "$BUNDLE/network/capture.pcap" &
# 4. Distributed traces
curl -s localhost:16686/api/traces?service=hubspot > "$BUNDLE/traces/jaeger.json"
# 5. Configuration state
kubectl get cm hubspot-config -o yaml > "$BUNDLE/config/configmap.yaml"
kubectl get secret hubspot-secrets -o yaml > "$BUNDLE/config/secrets-redacted.yaml"
tar -czf "$BUNDLE.tar.gz" "$BUNDLE"
echo "Advanced debug bundle: $BUNDLE.tar.gz"
Systematic Isolation
Layer-by-Layer Testing
// Test each layer independently
async function diagnoseHubSpotIssue(): Promise<DiagnosisReport> {
const results: DiagnosisResult[] = [];
// Layer 1: Network connectivity
results.push(await testNetworkConnectivity());
// Layer 2: DNS resolution
results.push(await testDNSResolution('api.hubspot.com'));
// Layer 3: TLS handshake
results.push(await testTLSHandshake('api.hubspot.com'));
// Layer 4: Authentication
results.push(await testAuthentication());
// Layer 5: API response
results.push(await testAPIResponse());
// Layer 6: Response parsing
results.push(await testResponseParsing());
return { results, firstFailure: results.find(r => !r.success) };
}
Minimal Reproduction
// Strip down to absolute minimum
async function minimalRepro(): Promise<void> {
// 1. Fresh client, no customization
const client = new HubSpotClient({
apiKey: process.env.HUBSPOT_API_KEY!,
});
// 2. Simplest possible call
try {
const result = await client.ping();
console.log('Ping successful:', result);
} catch (error) {
console.error('Ping failed:', {
message: erroChoose and implement HubSpot validated architecture blueprints for different scales.
HubSpot Architecture Variants
Overview
Three validated architecture blueprints for HubSpot integrations.
Prerequisites
- Understanding of team size and DAU requirements
- Knowledge of deployment infrastructure
- Clear SLA requirements
- Growth projections available
Variant A: Monolith (Simple)
Best for: MVPs, small teams, < 10K daily active users
my-app/
├── src/
│ ├── hubspot/
│ │ ├── client.ts # Singleton client
│ │ ├── types.ts # Types
│ │ └── middleware.ts # Express middleware
│ ├── routes/
│ │ └── api/
│ │ └── hubspot.ts # API routes
│ └── index.ts
├── tests/
│ └── hubspot.test.ts
└── package.json
Key Characteristics
- Single deployment unit
- Synchronous HubSpot calls in request path
- In-memory caching
- Simple error handling
Code Pattern
// Direct integration in route handler
app.post('/api/create', async (req, res) => {
try {
const result = await hubspotClient.create(req.body);
res.json(result);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
Variant B: Service Layer (Moderate)
Best for: Growing startups, 10K-100K DAU, multiple integrations
my-app/
├── src/
│ ├── services/
│ │ ├── hubspot/
│ │ │ ├── client.ts # Client wrapper
│ │ │ ├── service.ts # Business logic
│ │ │ ├── repository.ts # Data access
│ │ │ └── types.ts
│ │ └── index.ts # Service exports
│ ├── controllers/
│ │ └── hubspot.ts
│ ├── routes/
│ ├── middleware/
│ ├── queue/
│ │ └── hubspot-processor.ts # Async processing
│ └── index.ts
├── config/
│ └── hubspot/
└── package.json
Key Characteristics
- Separation of concerns
- Background job processing
- Redis caching
- Circuit breaker pattern
- Structured error handling
Code Pattern
// Service layer abstraction
class HubSpotService {
constructor(
private client: HubSpotClient,
private cache: CacheService,
private queue: QueueService
) {}
async createResource(data: CreateInput): Promise<Resource> {
// Business logic before API call
const validated = this.validate(data);
// Check cache
const cached = await this.cache.get(cacheKey);
if (cached) return cached;
// API call with retry
const result = await this.withRetry(() =>
this.client.create(validated)
);
// Cache result
await this.cache.set(cacheKey, result, 300);
// Async follow-up
await this.queue.enqueue('hubspot.post-create', result);
return result;
}
}
Variant C: Microservice
Configure HubSpot CI/CD integration with GitHub Actions and testing.
HubSpot CI Integration
Overview
Set up CI/CD pipelines for HubSpot integrations with automated testing.
Prerequisites
- GitHub repository with Actions enabled
- HubSpot test API key
- npm/pnpm project configured
Instructions
Step 1: Create GitHub Actions Workflow
Create .github/workflows/hubspot-integration.yml:
name: HubSpot Integration Tests
on:
push:
branches: [main]
pull_request:
branches: [main]
env:
HUBSPOT_API_KEY: ${{ secrets.HUBSPOT_API_KEY }}
jobs:
test:
runs-on: ubuntu-latest
env:
HUBSPOT_API_KEY: ${{ secrets.HUBSPOT_API_KEY }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
- run: npm ci
- run: npm test -- --coverage
- run: npm run test:integration
Step 2: Configure Secrets
gh secret set HUBSPOT_API_KEY --body "sk_test_***"
Step 3: Add Integration Tests
describe('HubSpot Integration', () => {
it.skipIf(!process.env.HUBSPOT_API_KEY)('should connect', async () => {
const client = getHubSpotClient();
const result = await client.healthCheck();
expect(result.status).toBe('ok');
});
});
Output
- Automated test pipeline
- PR checks configured
- Coverage reports uploaded
- Release workflow ready
Error Handling
| Issue | Cause | Solution |
|---|---|---|
| Secret not found | Missing configuration | Add secret via gh secret set |
| Tests timeout | Network issues | Increase timeout or mock |
| Auth failures | Invalid key | Check secret value |
Examples
Release Workflow
on:
push:
tags: ['v*']
jobs:
release:
runs-on: ubuntu-latest
env:
HUBSPOT_API_KEY: ${{ secrets.HUBSPOT_API_KEY_PROD }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- run: npm ci
- name: Verify HubSpot production readiness
run: npm run test:integration
- run: npm run build
- run: npm publish
Branch Protection
required_status_checks:
- "test"
- "hubspot-integration"
Resources
Next Steps
For deployment patterns, see hubspot-de
Diagnose and fix HubSpot common errors and exceptions.
HubSpot Common Errors
Overview
Quick reference for the top 10 most common HubSpot errors and their solutions.
Prerequisites
- HubSpot SDK installed
- API credentials configured
- Access to error logs
Instructions
Step 1: Identify the Error
Check error message and code in your logs or console.
Step 2: Find Matching Error Below
Match your error to one of the documented cases.
Step 3: Apply Solution
Follow the solution steps for your specific error.
Output
- Identified error cause
- Applied fix
- Verified resolution
Error Handling
Authentication Failed
Error Message:
Authentication error: Invalid API key
Cause: API key is missing, expired, or invalid.
Solution:
# Verify API key is set
echo $HUBSPOT_API_KEY
Rate Limit Exceeded
Error Message:
Rate limit exceeded. Please retry after X seconds.
Cause: Too many requests in a short period.
Solution:
Implement exponential backoff. See hubspot-rate-limits skill.
Network Timeout
Error Message:
Request timeout after 30000ms
Cause: Network connectivity or server latency issues.
Solution:
// Increase timeout
const client = new Client({ timeout: 60000 });
Examples
Quick Diagnostic Commands
# Check HubSpot status
curl -s https://status.hubspot.com
# Verify API connectivity
curl -I https://api.hubspot.com
# Check local configuration
env | grep HUBSPOT
Escalation Path
- Collect evidence with
hubspot-debug-bundle - Check HubSpot status page
- Contact support with request ID
Resources
Next Steps
For comprehensive debugging, see hubspot-debug-bundle.
Execute HubSpot primary workflow: Core Workflow A.
HubSpot Core Workflow A
Overview
Primary money-path workflow for HubSpot. This is the most common use case.
Prerequisites
- Completed
hubspot-install-authsetup - Understanding of HubSpot core concepts
- Valid API credentials configured
Instructions
Step 1: Initialize
// Step 1 implementation
Step 2: Execute
// Step 2 implementation
Step 3: Finalize
// Step 3 implementation
Output
- Completed Core Workflow A execution
- Expected results from HubSpot API
- Success confirmation or error details
Error Handling
| Error | Cause | Solution |
|---|---|---|
| Error 1 | Cause | Solution |
| Error 2 | Cause | Solution |
Examples
Complete Workflow
// Complete workflow example
Common Variations
- Variation 1: Description
- Variation 2: Description
Resources
Next Steps
For secondary workflow, see hubspot-core-workflow-b.
Execute HubSpot secondary workflow: Core Workflow B.
HubSpot Core Workflow B
Overview
Secondary workflow for HubSpot. Complements the primary workflow.
Prerequisites
- Completed
hubspot-install-authsetup - Familiarity with
hubspot-core-workflow-a - Valid API credentials configured
Instructions
Step 1: Setup
// Step 1 implementation
Step 2: Process
// Step 2 implementation
Step 3: Complete
// Step 3 implementation
Output
- Completed Core Workflow B execution
- Results from HubSpot API
- Success confirmation or error details
Error Handling
| Aspect | Workflow A | Workflow B |
|---|---|---|
| Use Case | Primary | Secondary |
| Complexity | Medium | Lower |
| Performance | Standard | Optimized |
Examples
Complete Workflow
// Complete workflow example
Error Recovery
// Error handling code
Resources
Next Steps
For common errors, see hubspot-common-errors.
Optimize HubSpot costs through tier selection, sampling, and usage monitoring.
HubSpot Cost Tuning
Overview
Optimize HubSpot costs through smart tier selection, sampling, and usage monitoring.
Prerequisites
- Access to HubSpot billing dashboard
- Understanding of current usage patterns
- Database for usage tracking (optional)
- Alerting system configured (optional)
Pricing Tiers
| Tier | Monthly Cost | Included | Overage |
|---|---|---|---|
| Free | $0 | 1,000 requests | N/A |
| Pro | $99 | 100,000 requests | $0.001/request |
| Enterprise | Custom | Unlimited | Volume discounts |
Cost Estimation
interface UsageEstimate {
requestsPerMonth: number;
tier: string;
estimatedCost: number;
recommendation?: string;
}
function estimateHubSpotCost(requestsPerMonth: number): UsageEstimate {
if (requestsPerMonth <= 1000) {
return { requestsPerMonth, tier: 'Free', estimatedCost: 0 };
}
if (requestsPerMonth <= 100000) {
return { requestsPerMonth, tier: 'Pro', estimatedCost: 99 };
}
const proOverage = (requestsPerMonth - 100000) * 0.001;
const proCost = 99 + proOverage;
return {
requestsPerMonth,
tier: 'Pro (with overage)',
estimatedCost: proCost,
recommendation: proCost > 500
? 'Consider Enterprise tier for volume discounts'
: undefined,
};
}
Usage Monitoring
class HubSpotUsageMonitor {
private requestCount = 0;
private bytesTransferred = 0;
private alertThreshold: number;
constructor(monthlyBudget: number) {
this.alertThreshold = monthlyBudget * 0.8; // 80% warning
}
track(request: { bytes: number }) {
this.requestCount++;
this.bytesTransferred += request.bytes;
if (this.estimatedCost() > this.alertThreshold) {
this.sendAlert('Approaching HubSpot budget limit');
}
}
estimatedCost(): number {
return estimateHubSpotCost(this.requestCount).estimatedCost;
}
private sendAlert(message: string) {
// Send to Slack, email, PagerDuty, etc.
}
}
Cost Reduction Strategies
Step 1: Request Sampling
function shouldSample(samplingRate = 0.1): boolean {
return Math.random() < samplingRate;
}
// Use for non-critical telemetry
if (shouldSample(0.1)) { // 10% sample
await hubspotClient.trackEvent(event);
}
Step 2: Batching Requests
// Instead of N individual calls
await Promise.all(ids.map(id => hubspotClient.get(id)));
// Use batch endpoint (1 call)
await hubspotClient.batchGet(ids);
Step 3: Caching (from P16)
- Cache frequently accessed data
- Use cache inva
Implement HubSpot PII handling, data retention, and GDPR/CCPA compliance patterns.
HubSpot Data Handling
Overview
Handle sensitive data correctly when integrating with HubSpot.
Prerequisites
- Understanding of GDPR/CCPA requirements
- HubSpot SDK with data export capabilities
- Database for audit logging
- Scheduled job infrastructure for cleanup
Data Classification
| Category | Examples | Handling |
|---|---|---|
| PII | Email, name, phone | Encrypt, minimize |
| Sensitive | API keys, tokens | Never log, rotate |
| Business | Usage metrics | Aggregate when possible |
| Public | Product names | Standard handling |
PII Detection
const PII_PATTERNS = [
{ type: 'email', regex: /[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g },
{ type: 'phone', regex: /\b\d{3}[-.]?\d{3}[-.]?\d{4}\b/g },
{ type: 'ssn', regex: /\b\d{3}-\d{2}-\d{4}\b/g },
{ type: 'credit_card', regex: /\b\d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}\b/g },
];
function detectPII(text: string): { type: string; match: string }[] {
const findings: { type: string; match: string }[] = [];
for (const pattern of PII_PATTERNS) {
const matches = text.matchAll(pattern.regex);
for (const match of matches) {
findings.push({ type: pattern.type, match: match[0] });
}
}
return findings;
}
Data Redaction
function redactPII(data: Record<string, any>): Record<string, any> {
const sensitiveFields = ['email', 'phone', 'ssn', 'password', 'apiKey'];
const redacted = { ...data };
for (const field of sensitiveFields) {
if (redacted[field]) {
redacted[field] = '[REDACTED]';
}
}
return redacted;
}
// Use in logging
console.log('HubSpot request:', redactPII(requestData));
Data Retention Policy
Retention Periods
| Data Type | Retention | Reason |
|---|---|---|
| API logs | 30 days | Debugging |
| Error logs | 90 days | Root cause analysis |
| Audit logs | 7 years | Compliance |
| PII | Until deletion request | GDPR/CCPA |
Automatic Cleanup
async function cleanupHubSpotData(retentionDays: number): Promise<void> {
const cutoff = new Date();
cutoff.setDate(cutoff.getDate() - retentionDays);
await db.hubspotLogs.deleteMany({
createdAt: { $lt: cutoff },
type: { $nin: ['audit', 'compliance'] },
});
}
// Schedule daily cleanup
cron.schedule('0 3 * * *', () => cleanupHubSpotData(30));
Collect HubSpot debug evidence for support tickets and troubleshooting.
HubSpot Debug Bundle
Overview
Collect all necessary diagnostic information for HubSpot support tickets.
Prerequisites
- HubSpot SDK installed
- Access to application logs
- Permission to collect environment info
Instructions
Step 1: Create Debug Bundle Script
#!/bin/bash
# hubspot-debug-bundle.sh
BUNDLE_DIR="hubspot-debug-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$BUNDLE_DIR"
echo "=== HubSpot Debug Bundle ===" > "$BUNDLE_DIR/summary.txt"
echo "Generated: $(date)" >> "$BUNDLE_DIR/summary.txt"
Step 2: Collect Environment Info
# Environment info
echo "--- Environment ---" >> "$BUNDLE_DIR/summary.txt"
node --version >> "$BUNDLE_DIR/summary.txt" 2>&1
npm --version >> "$BUNDLE_DIR/summary.txt" 2>&1
echo "HUBSPOT_API_KEY: ${HUBSPOT_API_KEY:+[SET]}" >> "$BUNDLE_DIR/summary.txt"
Step 3: Gather SDK and Logs
# SDK version
npm list @hubspot/sdk 2>/dev/null >> "$BUNDLE_DIR/summary.txt"
# Recent logs (redacted)
grep -i "hubspot" ~/.npm/_logs/*.log 2>/dev/null | tail -50 >> "$BUNDLE_DIR/logs.txt"
# Configuration (redacted - secrets masked)
echo "--- Config (redacted) ---" >> "$BUNDLE_DIR/summary.txt"
cat .env 2>/dev/null | sed 's/=.*/=***REDACTED***/' >> "$BUNDLE_DIR/config-redacted.txt"
# Network connectivity test
echo "--- Network Test ---" >> "$BUNDLE_DIR/summary.txt"
echo -n "API Health: " >> "$BUNDLE_DIR/summary.txt"
curl -s -o /dev/null -w "%{http_code}" https://api.hubspot.com/health >> "$BUNDLE_DIR/summary.txt"
echo "" >> "$BUNDLE_DIR/summary.txt"
Step 4: Package Bundle
tar -czf "$BUNDLE_DIR.tar.gz" "$BUNDLE_DIR"
echo "Bundle created: $BUNDLE_DIR.tar.gz"
Output
hubspot-debug-YYYYMMDD-HHMMSS.tar.gzarchive containing:summary.txt- Environment and SDK infologs.txt- Recent redacted logsconfig-redacted.txt- Configuration (secrets removed)
Error Handling
| Item | Purpose | Included | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Environment versions | Compatibility check | ✓ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SDK version | Version-specific bugs | ✓ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Error logs (redacted) | Root cause analysis | ✓ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Config (redacted) | Configuration issues | ✓ | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Network
Deploy HubSpot integrations to Vercel, Fly.
ReadWriteEditBash(vercel:*)Bash(fly:*)Bash(gcloud:*)
HubSpot Deploy IntegrationOverviewDeploy HubSpot-powered applications to popular platforms with proper secrets management. Prerequisites
Vercel DeploymentEnvironment Setup
vercel.json Configuration
Fly.io Deploymentfly.toml
Secrets
Google Cloud RunDockerfile
Deploy Script
Environment Configuration Pattern
Health Check EndpointConfigure HubSpot enterprise SSO, role-based access control, and organization management.
ReadWriteEdit
HubSpot Enterprise RBACOverviewConfigure enterprise-grade access control for HubSpot integrations. Prerequisites
Role Definitions
Role Implementation
SSO IntegrationSAML Configuration
OAuth2/OIDC Integration
Organization ManagementCreate a minimal working HubSpot example.
ReadWriteEdit
HubSpot Hello WorldOverviewMinimal working example demonstrating core HubSpot functionality. Prerequisites
InstructionsStep 1: Create Entry FileCreate a new file for your hello world example. Step 2: Import and Initialize Client
Step 3: Make Your First API Call
Output
Error Handling
ExamplesTypeScript Example
Python Example
ResourcesNext StepsProceed to Execute HubSpot incident response procedures with triage, mitigation, and postmortem.
ReadGrepBash(kubectl:*)Bash(curl:*)
HubSpot Incident RunbookOverviewRapid incident response procedures for HubSpot-related outages. Prerequisites
Severity Levels
Quick Triage
Decision Tree
Immediate Actions by Error Type401/403 - Authentication
429 - Rate Limited
500/503 - HubSpot Errors
Communication TemplatesInternal (Slack)Install and configure HubSpot SDK/CLI authentication.
ReadWriteEditBash(npm:*)Bash(pip:*)Grep
HubSpot Install & AuthOverviewSet up HubSpot SDK/CLI and configure authentication credentials. Prerequisites
InstructionsStep 1: Install SDK
Step 2: Configure Authentication
Step 3: Verify Connection
Output
Error Handling
ExamplesTypeScript Setup
Python Setup
ResourcesNext StepsAfter successful auth, proceed to Identify and avoid HubSpot anti-patterns and common integration mistakes.
ReadGrep
HubSpot Known PitfallsOverviewCommon mistakes and anti-patterns when integrating with HubSpot. Prerequisites
Pitfall #1: Synchronous API Calls in Request Path❌ Anti-Pattern
✅ Better Approach
Pitfall #2: Not Handling Rate Limits❌ Anti-Pattern
✅ Better Approach
Pitfall #3: Leaking API Keys❌ Anti-Pattern
✅ Better Approach
Pitfall #4: Ignoring Idempotency❌ Anti-Pattern
✅ Better Approach
PitfallImplement HubSpot load testing, auto-scaling, and capacity planning strategies.
ReadWriteEditBash(k6:*)Bash(kubectl:*)
HubSpot Load & ScaleOverviewLoad testing, scaling strategies, and capacity planning for HubSpot integrations. Prerequisites
Load Testing with k6Basic Load Test
Run Load Test
Scaling PatternsHorizontal Scaling
Connection PoolingConfigure HubSpot local development with hot reload and testing.
ReadWriteEditBash(npm:*)Bash(pnpm:*)Grep
HubSpot Local Dev LoopOverviewSet up a fast, reproducible local development workflow for HubSpot. Prerequisites
InstructionsStep 1: Create Project Structure
Step 2: Configure Environment
Step 3: Setup Hot Reload
Step 4: Configure Testing
Output
Error Handling
ExamplesMock HubSpot Responses
Debug Mode
ResourcesExecute HubSpot major re-architecture and migration strategies with strangler fig pattern.
ReadWriteEditBash(npm:*)Bash(node:*)Bash(kubectl:*)
HubSpot Migration Deep DiveOverviewComprehensive guide for migrating to or from HubSpot, or major version upgrades. Prerequisites
Migration Types
Pre-Migration AssessmentStep 1: Current State Analysis
Step 2: Data Inventory
Migration Strategy: Strangler Fig Pattern
Implementation PlanPhase 1: Setup (Week 1-2)
Phase 2: Adapter Layer (Week 3-4)Configure HubSpot across development, staging, and production environments.
ReadWriteEditBash(aws:*)Bash(gcloud:*)Bash(vault:*)
HubSpot Multi-Environment SetupOverviewConfigure HubSpot across development, staging, and production environments. Prerequisites
Environment Strategy
Configuration Structure
base.json
development.json
staging.json
production.json
Environment Detection
Secret Management by EnvironmentLocal DevelopmentSet up comprehensive observability for HubSpot integrations with metrics, traces, and alerts.
ReadWriteEdit
HubSpot ObservabilityOverviewSet up comprehensive observability for HubSpot integrations. Prerequisites
Metrics CollectionKey Metrics
Prometheus Metrics
Instrumented Client
Distributed TracingOpenTelemetry SetupOptimize HubSpot API performance with caching, batching, and connection pooling.
ReadWriteEdit
HubSpot Performance TuningOverviewOptimize HubSpot API performance with caching, batching, and connection pooling. Prerequisites
Latency Benchmarks
Caching StrategyResponse Caching
Redis Caching (Distributed)
Request Batching
Connection Optimization
Pagination OptimizationImplement HubSpot lint rules, policy enforcement, and automated guardrails.
ReadWriteEditBash(npx:*)
HubSpot Policy & GuardrailsOverviewAutomated policy enforcement and guardrails for HubSpot integrations. Prerequisites
ESLint RulesCustom HubSpot Plugin
ESLint Configuration
Pre-Commit Hooks
TypeScript Strict Patterns
Architecture Decision RecordsADR TemplateExecute HubSpot production deployment checklist and rollback procedures.
ReadBash(kubectl:*)Bash(curl:*)Grep
HubSpot Production ChecklistOverviewComplete checklist for deploying HubSpot integrations to production. Prerequisites
InstructionsStep 1: Pre-Deployment Configuration
Step 2: Code Quality Verification
Step 3: Infrastructure Setup
Step 4: Documentation Requirements
Step 5: Deploy with Gradual Rollout
Output
Error Handling
ExamplesHealth Check ImplementationImplement HubSpot rate limiting, backoff, and idempotency patterns.
ReadWriteEdit
HubSpot Rate LimitsOverviewHandle HubSpot rate limits gracefully with exponential backoff and idempotency. Prerequisites
InstructionsStep 1: Understand Rate Limit Tiers
Step 2: Implement Exponential Backoff with Jitter
Step 3: Add Idempotency Keys
Output
Error Handling
|