Skip to main content
Available to all organizations - Configure API access and webhooks for custom integrations, automated workflows, and real-time event notifications.

Overview

The Developer Tools section provides self-service configuration for API keys and webhooks, enabling you to:
  • API Keys: Authenticate with Tenzo’s Public API for pushing jobs and candidates
  • Webhooks: Receive real-time interview results and event notifications from Tenzo
All organizations can access these features via Settings → Developer Tools in the Tenzo dashboard.

Generating an API Key

API keys allow you to authenticate with Tenzo’s Public API for pushing jobs and candidates programmatically. To get started:
1

Navigate to Developer Tools

Go to SettingsDeveloper ToolsAPI Keys in the Tenzo dashboard
2

Create a New API Key

Click Generate New Key
3

Name Your Key

Give your key a descriptive name to help you identify it later (e.g., “Production Integration” or “Development”)Optionally, set an expiration date for added security
4

Copy and Save Your Key

Important: Your API key will only be displayed once. Copy it immediately and store it in a secure location.You won’t be able to view the full key again after closing this dialog.
Your key will start with tenzo_pk_

Managing Your API Keys

Once created, you can view all your organization’s API keys, including:
  • Key name
  • When it was created
  • Last time it was used
  • Total usage count
If a key is no longer needed or has been compromised, you can revoke it at any time. Revoked keys cannot be reactivated - you’ll need to generate a new one.
Using the API: Once you have your API key, see the Tenzo Public API Documentation for complete information on available endpoints and how to make API requests.

Configuring Webhooks

Webhooks allow Tenzo to send real-time notifications to your system when events occur, such as when a candidate completes an interview. All organizations can configure webhooks for their custom integrations and automated workflows.

Setting Up a Webhook

1

Navigate to Developer Tools

Go to SettingsDeveloper ToolsWebhooks in the Tenzo dashboard
2

Enter Your Webhook URL

Provide the URL where you want to receive webhook notifications from Tenzo
  • Your URL must use HTTPS
  • Your endpoint should accept POST requests with JSON payloads
  • Example: https://api.yourcompany.com/webhooks/tenzo-interviews
3

Set a Webhook Secret (Recommended)

Enter a webhook secret for signature verification. This allows you to verify that webhook requests are genuinely coming from Tenzo.
Save your webhook secret securely. You’ll need it to verify webhook signatures.
4

Activate Your Webhook

Toggle the Enable webhook delivery switch to start receiving webhook notifications
5

Save Your Configuration

Click Save Configuration to apply your settings

Managing Your Webhook

You can update your webhook URL, change your webhook secret, or deactivate webhooks at any time from the Webhooks page in Developer Tools. You can also delete your webhook configuration entirely if no longer needed.

How Webhooks Work

Webhook Payload

When a candidate completes an interview, Tenzo will send a POST request with the following data:
{
  "application_remote_id": "app-123",
  "candidate_name": "John Doe",
  "candidate_phone": "+15551234567",
  "candidate_email": "john@example.com",
  "call_id": "uuid",
  "job_name": "Software Engineer",
  "call_duration": "853m",
  "tenzo_interview_url": "https://app.tenzo.com/...",
  "question_completion_rate": 100,
  "overall_grade": 85,
  "call_summary": "Candidate performed well...",
  "question_results": [...],
  "call_transcript": "...",
  "sms_transcript": "...",
  "recording_url": "https://..."
}
If you provide a webhook secret, Tenzo will include an HMAC-SHA256 signature in the X-Webhook-Signature header. Verify this signature to ensure the request is from Tenzo:
import hmac
import hashlib

def verify_signature(payload, signature, secret):
    expected = hmac.new(
        secret.encode('utf-8'),
        payload.encode('utf-8'),
        hashlib.sha256
    ).hexdigest()
    return hmac.compare_digest(expected, signature)

Delivery & Retry Logic

  • Tenzo will retry failed deliveries up to 3 times with exponential backoff (0s, 2s, 4s)
  • Your endpoint should respond with a 200, 201, 202, or 204 status code to acknowledge receipt
  • Requests timeout after 30 seconds per attempt
  • Your endpoint should be idempotent to handle potential duplicate deliveries
For complete API reference and additional webhook details, see the Tenzo Public API Documentation.

Troubleshooting

Make sure:
  • Your key hasn’t expired or been revoked
  • You’re using the complete key including the tenzo_pk_ prefix
  • You’re including it in the Authorization header as shown in the API documentation
Verify that:
  • Your webhook is marked as “Active”
  • Your endpoint URL is correct and publicly accessible
  • Your firewall isn’t blocking Tenzo’s requests
  • Your SSL certificate is valid

Need Help?

Contact the Tenzo support team at support@tenzo.ai for assistance with API or webhook setup.