Skip to main content
After building a Voice Agent using our no-code interface, deploy it using our RESTful API to integrate with your existing systems or build custom solutions.

Two Approaches to Triggering Calls

1. API-Based Triggering (Programmatic)

Trigger calls programmatically from your application code. Process:
  1. Create a Contact using /contact/create
  2. Trigger a call using /contact/call with the Contact ID
  3. Receive webhook notifications about call status
Best For:
  • Custom applications
  • Direct system integration
  • Real-time call triggering
  • Fine-grained control
Example:
Use Automations to trigger calls via webhooks. Process:
  1. Set up an Automation with a webhook trigger
  2. Send webhook POST requests to trigger calls
  3. Configure workflow logic in the Thoughtly UI
Best For:
  • Team collaboration (non-engineers can modify logic)
  • Complex workflows
  • No-code/low-code solutions
  • Rapid iteration
Benefits:
  • Non-technical teams can modify call logic
  • No code changes required for workflow updates
  • Visual workflow builder for complex scenarios
  • Flexible webhook payload for dynamic data
Learn More: Automations Documentation →

A Note on Naming

In the API, Voice Agents are referred to as interviews (e.g., /interview/{interview_id}). This is an internal naming convention — “interview” and “Voice Agent” mean the same thing. All dashboard and documentation references use “Voice Agent,” but API paths and response payloads use interview.

Authentication

All API requests require two headers:
Find Your Credentials:
  1. Log into Thoughtly Dashboard
  2. Navigate to Settings → Developer
  3. Copy your API token and Team ID
Security Best Practices:
  • Never expose your API token in client-side code. Always make API calls from your backend server.
  • If an API token is compromised, revoke it immediately through the dashboard to prevent unauthorized access.
  • Regularly rotate API tokens as part of your security practices.

Rate Limits

  • Limit: 100 requests per minute
  • Response: 429 Too Many Requests if exceeded
  • Best Practice: Implement exponential backoff for retries

Common Integration Patterns

Pattern 1: CRM-Triggered Calls

When a new lead is added to your CRM, trigger a qualification call:

Pattern 2: Calendar-Based Reminders

Send appointment reminders 24 hours before scheduled appointments:

Pattern 3: Real-Time Customer Support

Connect voice agent to your support queue:

Webhooks: Receiving Call Data

If your goal is to get structured data after a call ends, use an Automation with the Thoughtly -> On Call Completed trigger. It supports scoping to one agent, multiple agents, or All Agents, and keeps the workflow in Thoughtly (no webhook server required). See Triggers.
If you need server-to-server delivery to your own infrastructure, configure webhooks to receive real-time updates about calls:
Learn More: Webhooks Documentation →

API Reference

For complete API documentation, see:

API Reference

Complete endpoint documentation with examples

Webhooks

Receive real-time notifications about events

Automations

Build workflows without code

Integration Examples

Connect with popular platforms

Best Practices

1. Always Validate Phone Numbers

2. Handle Errors Gracefully

3. Use Environment Variables

4. Implement Logging

Support & Resources


API Reference

Explore complete API endpoint documentation ->