Documentation Index
Fetch the complete documentation index at: https://f4c7a9e2d8b1-docs.tenzo.ai/llms.txt
Use this file to discover all available pages before exploring further.
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, meeting-note events, and other notifications from Tenzo
Generating an API Key
API keys allow you to authenticate with Tenzo’s Public API for pushing jobs and candidates programmatically. To get started: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
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
Configuring Webhooks
Webhooks allow Tenzo to send real-time notifications to your system when events occur — for example, when a candidate completes an interview or a meeting note finishes post-processing. All organizations can configure webhooks for their custom integrations and automated workflows.Setting Up a Webhook
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
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.
Activate Your Webhook
Toggle the Enable webhook delivery switch to start receiving webhook notifications
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
Event Types
A single webhook URL receives every event type below. Switch on the top-levelevent field to dispatch:
interview.results— fired when a candidate completes a phone screeningnote.finalized— fired when a meeting note completes post-processing (transcript, summary, and field extraction)
interview.results Payload
When a candidate completes an interview, Tenzo will send a POST request with the following data:
note.finalized Payload
Sent once after a meeting note finishes post-processing (transcript saved, summary generated, and field extraction complete). meeting.type is either interview or intake.
extractedJobData is populated for intake meetings; extractedCandidateData is populated for interview meetings; both keys are always present, and the one that doesn’t apply is null. The payload carries only IDs for the linked candidate and job — use the Tenzo Public API to fetch names, emails, and other denormalized details so they don’t go stale.
Intake example (meeting.type: "intake"):
meeting.type: "interview") — same shape, but extractedCandidateData is populated and extractedJobData is null:
- For intake meetings, the generated HTML job description is included under
extractedJobData.job_description_html. Other keys inextractedJobDataare the structured ATS fields configured for your org. attendeesare derived from the transcript by unique email, in first-seen order. Name is best-effort.candidateIdandjobIdarenullwhen the note is not linked to a candidate or job.remoteJobIdis the ATS-side job ID (e.g. Greenhouse, Workday) for the linked job.nullwhen there’s no linked job, or when the job hasn’t been pushed to an ATS yet.- Top-level keys and the
meetingblock are camelCase. Inner objects ontranscript[]andnotes(e.g.start_ts,end_ts,sections,questions) are emitted in snake_case as shown. - The webhook payload omits Tenzo-internal coaching/QA annotations: the top-level
notes.annotationsarray, the per-questionannotationsarray, and the per-speakeremail/ messageidon transcript entries are not sent. Attendee emails are surfaced onmeeting.attendeesinstead.
Signature Verification (Recommended)
If you provide a webhook secret, Tenzo will include an HMAC-SHA256 signature in theX-Webhook-Signature header. Verify this signature to ensure the request is from Tenzo:
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
API Key Not Working
API Key Not Working
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
Not Receiving Webhooks
Not Receiving Webhooks
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
Related Resources
- Tenzo Public API Documentation - Complete API reference and webhook details
- ATS Integrations - Overview of ATS integration options