Skip to main content

Overview

TopCalls provides a platform for professional, compliant collection calls that respect regulations. The platform includes tooling to help customers honor local calling laws (TCPA, FDCPA, GDPR) while automating initial outreach, payment negotiations, and follow-ups. Customers remain responsible for lawful use and compliance.

Compliant & Professional

Built-in compliance features ensure all calls meet regulatory requirements.

Automated Negotiation

AI agents can negotiate payment plans and handle objections, providing consistent and professional interactions.

24/7 Availability

Reach debtors at convenient times. Higher contact rates than traditional methods.

Full Documentation

Every call is recorded and transcribed. Complete audit trail for compliance.

Compliance Tooling

TopCalls provides production-ready, compliance-built platform features to help customers maintain compliance with debt collection regulations:
  • Time restrictions: Configure allowed calling hours per timezone
  • Frequency limits: Set maximum call frequency rules
  • Opt-out handling: Immediately honor do-not-call requests
  • Full transcripts: Complete records for compliance audits
  • Recording storage: Secure storage of all call recordings
  • Audit trails: Complete logs of all interactions
Compliance Responsibility: Customers are responsible for ensuring all collection calls comply with applicable laws including TCPA, FDCPA, and local regulations. TopCalls provides tooling to help maintain compliance but does not guarantee legal compliance.

Example Implementation

Legal Compliance: This use case requires strict adherence to TCPA, FDCPA, and local collection laws. Ensure all contacts are valid debtors with proper authorization. Always honor opt-out requests immediately. Consult legal counsel before implementing collection campaigns.

Step 1: Create Collection Campaign

{
  "name": "Q1 Debt Collection",
  "instructions": "You are a professional debt collection agent. Your goal is to collect payment for account {{account_number}} with a balance of {{debt_amount}}. Be firm but respectful. Offer payment plans if they can't pay in full. If they request to be removed from the call list, immediately honor that request and use the 'opt_out' tool. Never threaten or use abusive language.",
  "first_sentence": "Hi {{name}}, this is Sarah calling regarding account {{account_number}}. I'm reaching out about an outstanding balance of {{debt_amount}}.",
  "voice": "coral",
  "mode": "realtime",
  "temperature": 0.6,
  "timezone": "America/New_York",
  "dispatch_hours": {
    "start": "08:00",
    "end": "21:00"
  },
  "max_parallel_calls": 5,
  "max_attempts_per_lead": 3,
  "tools": [
    {
      "name": "process_payment",
      "description": "Process a payment for the debt",
      "parameters": {
        "account_number": { "type": "string" },
        "amount": { "type": "number" },
        "payment_method": { 
          "type": "string",
          "enum": ["credit_card", "bank_transfer", "check"]
        }
      }
    },
    {
      "name": "create_payment_plan",
      "description": "Create a payment plan for the debtor",
      "parameters": {
        "account_number": { "type": "string" },
        "monthly_amount": { "type": "number" },
        "number_of_months": { "type": "integer" }
      }
    },
    {
      "name": "opt_out",
      "description": "Remove debtor from call list per their request",
      "parameters": {
        "phone_number": { "type": "string" },
        "reason": { "type": "string" }
      }
    },
    {
      "name": "update_account_status",
      "description": "Update account status in CRM",
      "parameters": {
        "account_number": { "type": "string" },
        "status": { 
          "type": "string",
          "enum": ["payment_received", "payment_plan_created", "opt_out", "no_response"]
        },
        "notes": { "type": "string" }
      }
    }
  ],
  "leads": [
    {
      "phone_number": "+14155551234",
      "name": "John Smith",
      "account_number": "ACC-12345",
      "debt_amount": "$1,250.00",
      "debt_id": "debt_123"
    }
  ],
  "webhook_url": "https://your-app.com/webhooks/debt-collection"
}

Step 2: Handle Collection Webhooks

app.post('/webhooks/debt-collection', async (req, res) => {
  res.status(200).json({ received: true });
  
  const call = req.body;
  
  // Update account status
  if (call.call_summary.includes('payment received')) {
    await updateAccountStatus(call.metadata.account_number, 'paid');
  } else if (call.call_summary.includes('payment plan')) {
    await createPaymentPlan(call.metadata.account_number, call.metadata.payment_plan);
  } else if (call.call_summary.includes('opt out')) {
    await optOutDebtor(call.phone_number);
  }
  
  // Log interaction for compliance
  await complianceSystem.logCall({
    accountNumber: call.metadata.account_number,
    phoneNumber: call.phone_number,
    outcome: call.call_summary,
    transcript: call.transcript,
    recordingUrl: call.recording_url,
    timestamp: call.end_at
  });
});

Best Practices

✅ Do This

  • Respect regulations: Always follow TCPA, FDCPA, and local laws
  • Offer payment plans: Be flexible with payment options
  • Honor opt-outs: Immediately remove from call list if requested
  • Document everything: Keep complete records for compliance
  • Professional tone: Be firm but respectful
  • Time restrictions: Only call during allowed hours

❌ Don’t Do This

  • Threaten: Never use threatening or abusive language
  • Call outside hours: Respect time restrictions
  • Ignore opt-outs: Always honor do-not-call requests
  • Skip documentation: Maintain complete audit trails
  • Pressure excessively: Don’t be overly aggressive

Compliance Checklist

  • ✅ Time restrictions configured
  • ✅ Frequency limits enforced
  • ✅ Opt-out handling implemented
  • ✅ Full call transcripts stored
  • ✅ Recordings securely stored
  • ✅ Audit trail maintained
  • ✅ Professional scripts reviewed
  • ✅ Legal compliance verified

Operational Impact

Companies using TopCalls for collection calls measure the difference within the first month:
  • Increased capacity to handle more collection calls efficiently—replace manual dialing, scale without hiring
  • Time savings by automating initial outreach and follow-ups
  • Consistent interactions with professional, respectful AI agents
  • Better documentation with complete transcripts and audit trails
  • Measurable impact from day one—the numbers consistently tell the same story

Next Steps