# Voicemail webhooks

> Category: Premium Features
> Canonical URL: https://crazytel.com.au/knowledgebase/article/voicemail-webhooks

Send new voicemails, transcripts and missed-call alerts into your CRM, helpdesk or custom app.

#1 Voicemail webhooks




Send new voicemails, transcripts and missed-call alerts straight into your CRM, helpdesk or custom app.




#2 Where to set it up




#3 On an existing mailbox



- Go to Premium Features &gt; Voicemail &gt; Mailboxes and edit the mailbox.

- Open the Webhooks &amp; API tab.

- Turn on one or both options:

Notify my system — new voicemail: sends a message when someone leaves a voicemail, and again when the transcript is ready (if transcription is on).

- Notify my system — missed call alert: sends a message when a caller hangs up during your greeting without leaving a message.



- Enter your address in Notification URL.

- Optional: enter a Security code (up to 64 characters).

- Click Save Mailbox.




#3 When creating a new mailbox




The same settings appear in step 4 of the wizard, Webhooks (Optional).




The missed call webhook can also be switched on from the Alerts &amp; Notifications tab, under Missed Call Alerts &gt; API Webhook. Both switches control the same setting.




Click Webhook Documentation on the Webhooks tab to see example messages.




Tip: if your staff read voicemail in the Crazytel inbox, they already get live updates there. Webhooks are for sending voicemail into another system.




#2 Events you will receive




EventWhen it is sentSetting needed


voicemail.receivedA new voicemail has been recorded and saved.Notify my system — new voicemail
voicemail.transcription_completedThe voicemail transcript is ready.Notify my system — new voicemail, and transcription turned on for the mailbox
voicemail.missed_callA caller hung up during your greeting without leaving a message.Notify my system — missed call alert




All enabled events go to the same Notification URL.




#2 Example messages




#3 New voicemail




{
  &quot;event&quot;: &quot;voicemail.received&quot;,
  &quot;account_code&quot;: &quot;ACC123&quot;,
  &quot;settings_uuid&quot;: &quot;e830f0f5-5d93-455b-80a5-fbbdb9783f98&quot;,
  &quot;message_uuid&quot;: &quot;b20e03be-fa9c-4861-acfa-647d9692487e&quot;,
  &quot;caller_id&quot;: &quot;61400000000&quot;,
  &quot;destination_did&quot;: &quot;61299999999&quot;,
  &quot;original_did&quot;: &quot;61298786988&quot;,
  &quot;duration_seconds&quot;: 45,
  &quot;file_size_bytes&quot;: 720000,
  &quot;recording_url&quot;: &quot;https://s3.crazytel.com/voicemail/messages/ACC123/...&quot;,
  &quot;retention_expires_at&quot;: &quot;2026-12-03T00:11:00Z&quot;,
  &quot;created_at&quot;: &quot;2026-06-03T00:11:00Z&quot;
}


#3 Transcript ready


{
  &quot;event&quot;: &quot;voicemail.transcription_completed&quot;,
  &quot;account_code&quot;: &quot;ACC123&quot;,
  &quot;settings_uuid&quot;: &quot;e830f0f5-5d93-455b-80a5-fbbdb9783f98&quot;,
  &quot;message_uuid&quot;: &quot;b20e03be-fa9c-4861-acfa-647d9692487e&quot;,
  &quot;caller_id&quot;: &quot;61400000000&quot;,
  &quot;destination_did&quot;: &quot;61299999999&quot;,
  &quot;original_did&quot;: &quot;61298786988&quot;,
  &quot;duration_seconds&quot;: 45,
  &quot;transcript&quot;: &quot;Hello, I was calling to check on the progress of our order.&quot;,
  &quot;transcription_cost&quot;: 0.075,
  &quot;created_at&quot;: &quot;2026-06-03T00:12:00Z&quot;
}


#3 Missed call


{
  &quot;event&quot;: &quot;voicemail.missed_call&quot;,
  &quot;account_code&quot;: &quot;ACC123&quot;,
  &quot;settings_uuid&quot;: &quot;e830f0f5-5d93-455b-80a5-fbbdb9783f98&quot;,
  &quot;caller_id&quot;: &quot;61400000000&quot;,
  &quot;destination_did&quot;: &quot;61299999999&quot;,
  &quot;original_did&quot;: &quot;61298786988&quot;,
  &quot;hangup_cause&quot;: &quot;NORMAL_CLEARING&quot;,
  &quot;occurred_at&quot;: &quot;2026-06-03T00:13:00Z&quot;
}


FieldWhat it means


settings_uuidWhich mailbox received the call.
message_uuidA unique ID for the voicemail. Links the &quot;received&quot; and &quot;transcript ready&quot; events. Not included on missed calls, because no message was left.
destination_didThe number the voicemail was left on.
duration_secondsLength of the voicemail in seconds.
file_size_bytesSize of the audio file.
recording_urlA temporary download link for the audio. It expires quickly, so download the file straight away if you need to keep it. For later access, use the message_uuid.
retention_expires_atWhen the voicemail will be automatically deleted under your retention settings.
transcriptThe text of the voicemail.
transcription_costWhat the transcription cost, in dollars.




#2 Security


If you set a security code, each request includes:




X-CrazyVoicemail-Signature: &lt;signature&gt;
User-Agent: CrazytelVoicemail/1.0
The signature is plain hexadecimal, without a sha256= prefix. See Verifying webhook signatures.




#2 Delivery and retries



- Your server should reply with a 2xx status within about 10 seconds.

- If it does not, Crazytel tries again after 5 minutes, 15 minutes, 1 hour, 4 hours, then 12 hours. After 5 attempts the message is marked as permanently failed.




#2 How to test




Leave a test voicemail on the mailbox, then check that your system received a voicemail.received message.
