Skip to main content
BETA OUTBOUND AI PHONE CALLS POWERED BY GROK VOICE 3.0

CrazyAI Voice API Give Your AI Assistant & Booking System a Real Phone Line

Let Grok Bot, ChatGPT, Claude, or your booking software pick up the phone, call any Australian mobile or landline from your own Caller ID, speak a message in a natural human-like voice, and return the other person's exact spoken answer as text.

  • Make Calls with Just 2 Fields (destination + initial_text)
  • Unanswered Calls Cost $0.00 AUD (AI Voice usage)
  • Powered by grok-voice-3.0 & grok-voice-transcribe-2.0
  • 28 Natural Voices & 21 Languages
  • Live Call Transfers (SIP REFER) to Your Staff
  • Crazyswitch AI Voicemail Detection (AMD)
OpenAPI Reference: https://crazytel.io/docs#/CrazyAI%20Voice%20API · Base URL: https://api.crazytel.io
POST /api/v1/crazyai-voice-api/{profile_uuid}/calls 200 OK
1. Minimal 2-Field Request application/json
{
  "destination": "0491570156",
  "initial_text": "Hi Sarah, I'm calling from Acme Solar to confirm if someone will be home at 10am tomorrow?"
}
Hybrid SIP Caller ID
Voice: Eve (28 Voices)
AMD: Conversation
Smart Conditional Bye
2. Transcribed Reply & Intent Returned AUD Rated
{
  "success": true,
  "status": "completed",
  "call_connected": true,
  "callee_transcript": "Yes, I will be home at 10am.",
  "closing_text_spoken": "Wonderful, thank you for confirming! We've locked in 10am tomorrow. Have a great day, goodbye!",
  "analysis": {
    "amd_verdict": "conversation",
    "callee_reply_intent": "affirmative",
    "callee_reply_confidence": 0.9912
  },
  "billing": {
    "currency": "AUD",
    "tts_character_count": 180,
    "stt_duration_seconds": 3.7,
    "ai_retail_cost_aud": "0.005388",
    "ai_cdr_status": "billed"
  }
}
This Connected Call AI Cost: $0.0054 AUD Unanswered Calls: $0.0000 AUD

Built For Modern AI Assistants, Bots & Business Software

CrazyAI Voice API bridges the gap between text-based AI/automation and the real telephone network - without requiring you to build SIP trunks, WebRTC media servers, or audio streaming pipelines.

01 / GROK & xAI

1. Built for Grok Bot & xAI Agents

Powered natively by grok-voice-3.0 (speech-to-speech) and grok-voice-transcribe-2.0 (speech-to-text), CrazyAI Voice API lets Grok Bot place real outbound phone calls in Australia and worldwide. Save your standing persona in the portal and pass call-specific goals in a single JSON request.

grok-voice-3.0 grok-voice-transcribe-2.0 append_instructions
02 / CHATGPT & CLAUDE MCP

2. Built for ChatGPT, Claude & MCP Agents

Give ChatGPT Custom Actions, OpenAI Assistants, or Claude (via Model Context Protocol / MCP tools) the ability to make phone calls. Your AI doesn't need to process raw audio - it simply sends a phone number and what to say, and receives back clean JSON containing the person's exact words (callee_transcript) and whether they said yes or no (callee_reply_intent).

ChatGPT Actions Claude MCP Tools callee_transcript callee_reply_intent
03 / BOOKING & MEDICAL

3. Built for Booking, Medical & Appointment Systems

Automate appointment confirmations, reminders, and schedule checks for dental clinics, medical practices, salons, restaurants, and professional services. Ask "Will you be attending your 10am appointment tomorrow?", automatically speak a tailored goodbye based on whether they confirm or decline, or transfer the live call straight to your reception desk if they need to reschedule.

Dental & Medical Conditional Goodbyes Live Reception Transfer
04 / FIELD SERVICE & CRM

4. Built for Tradies, Solar, Logistics & Field Service CRM Workflows

Connect n8n, Make, Zapier, HubSpot, ServiceM8, or your custom CRM to verify site readiness before dispatching a crew - confirming someone is home, asking for gate codes, checking if there is a dog in the yard, or notifying customers that their driver is 15 minutes away.

n8n / Make / Zapier ServiceM8 & HubSpot Site Readiness Checks

How It Works in 3 Simple Steps (30-Second Setup)

Configure your voice profile once in MyAccount and trigger outbound AI phone calls from any application or agent with a single HTTPS request.

1 One-Time Setup

Pick a Phone Line & Voice (Once)

Choose which of your Crazytel PAYG Hybrid SIP Trunks to dial out from (or create a new Hybrid Trunk inline in seconds using your owned Australian Caller ID) and pick one of 28 natural voices. Click Play Sample in the portal to hear it immediately.

2 Reusable Profile

Copy Your Profile ID (profile_uuid)

When you save your Voice Profile, Crazytel gives you one unique Profile ID (profile_uuid). Your phone line, Caller ID, AI voice, voicemail rules, and polite goodbye settings are all stored inside that ID.

3 Per-Call API Trigger

Make Calls with Just 2 Things

Whenever your AI bot or booking system wants to call someone, it sends just the phone number (destination) and what to say (initial_text) to your Profile ID. Crazytel dials the number, speaks your message when they answer, listens to their reply, and returns their exact words as text (callee_transcript).

Three Flexible Call Modes - One Simple API

Every Voice Profile supports three distinct call modes (default_mode on the profile, or mode per call in the API). You can set your preferred default in the MyAccount portal and switch modes on any individual call.

Call Mode API Value Who Drives the Call? How AI Usage Is Billed Best For
1. Quick Message & Reply (Default) "single_turn" Crazytel Automated Turn
(1 question → 1 transcribed answer → smart goodbye → hang up)
TTS Speaking ($0.0285 / 1k chars) + STT Listening ($0.0063 / min) + optional AI AMD / Intent ($0.000181 / 1k tokens) Appointment confirmations ("Will you be home at 10am?"), delivery alerts, quick yes/no checks.
2. Back-and-Forth Conversation "interactive" Your Own AI Bot Decides
(Grok Bot, ChatGPT, Claude, or your app controls every turn via /say, /dtmf, /refer, /hangup)
TTS Speaking ($0.0285 / 1k chars) + STT Listening ($0.0063 / min) per turn Multi-step booking changes, IVR keypad navigation, or calls that need live transfer (/refer) to your staff.
3. Full AI Phone Agent "grok_voice_agent" Autonomous Grok Voice 3.0
(Talks back and forth automatically from start to finish using your instructions)
Full AI Phone Agent S2S ($0.1520 / min; $9.12 / hr) Hands-off conversations where you want the AI to conduct the entire phone call by itself.

Deep Dive: How Each of the 3 Call Modes Works

Select a mode below to jump to its execution flow, or compare all three side-by-side.

Mode 1: Quick Message & Reply ("single_turn")

Default Mode · Lowest Cost

The fastest, lowest-cost way to ask a customer a question and get their exact spoken answer back as text.

  1. 1. Dial & Connect: Crazytel dials destination over your PAYG Hybrid SIP Trunk (optionally running Crazyswitch AI AMD to check for voicemail).
  2. 2. Speak Opening Message: Speaks your initial_text in your chosen AI voice (e.g. "Hi Sarah, I'm calling from Acme Dental to confirm your 10am appointment tomorrow. Will you be able to make it?").
  3. 3. Transcribe Reply & Detect Intent: Listens until the person finishes speaking (using Smart Turn pause detection) and transcribes their exact words into callee_transcript alongside analysis.callee_reply_intent ("affirmative", "negative", or "neutral").
  4. 4. Speak Polite Goodbye & Hang Up: Automatically wraps up the call using your chosen Goodbye Message Style (closing_message_mode):
    • conditional (Smart Goodbye Based on Their Answer): Speaks closing_text_affirmative if they said yes, closing_text_negative if they said no, or closing_text if neutral.
    • static (One Standard Polite Goodbye): Speaks default_closing_text / closing_text before hanging up.
    • wait_for_bot (My Own AI Bot Will Send the Goodbye): Immediately returns callee_transcript to your bot while holding the call open for closing_wait_timeout_seconds (3-60s, default 10s) so your bot can send a custom goodbye to POST .../hangup.
    • none (Hang Up Immediately): Disconnects right after transcribing their answer.

Mode 2: Back-and-Forth Conversation ("interactive")

Full Turn-by-Turn Control · Live Transfer

Designed for Grok Bot, ChatGPT, Claude, and custom booking workflows that want full programmatic control over a live phone call - including live transfers to human staff.

  1. 1. First Turn: Dials destination, speaks initial_text, and transcribes the person's first answer into callee_transcript.
  2. 2. Hold Line Open (awaiting_next_turn): Instead of hanging up, Crazytel keeps the call live on the line (status: "awaiting_next_turn", session.keep_alive: true) and returns ready-to-call URLs in session.actions.
  3. 3. Your AI Decides What to Do Next: Your bot reads callee_transcript and calls any of four live session endpoints as many times as needed:
    • POST .../say - Speak the next reply (text), optionally wait for a voicemail beep (wait_for_beep: true), and either listen for the next answer (listen_for_reply: true) or end the call after speaking (end_call_after: true).
    • POST .../refer - Transfer the live call via Hybrid SIP REFER to an internal staff extension (101), call park slot (700), Australian phone number (0290001111), or sip: URI, with an optional announcement_text spoken before transferring.
    • POST .../dtmf - Press keypad digits (0-9, *, #, A-D, ,) to navigate external IVR menus and transcribe the next prompt.
    • POST .../hangup - Optionally speak a final closing_text and cleanly disconnect (SIP BYE).

Mode 3: Full AI Phone Agent ("grok_voice_agent")

Autonomous S2S · Zero Per-Turn Latency

Let Grok Voice 3.0 (grok-voice-3.0) run the entire multi-turn phone conversation autonomously in real time - with zero per-turn API round-trips required during the call.

  1. 1. Standing Instructions + Per-Call Context:
    • Portal Default (default_instructions): Save your standing business persona in the portal (e.g. "You are Eve, the friendly receptionist for Acme Solar. Always be polite, concise, and helpful.").
    • Per-Call Append (append_instructions): On each API call, pass the specific task (e.g. "You are calling John Smith to confirm his 2pm roof inspection tomorrow at 42 Wallaby Way and ask if there is a gate code or dog in the yard."). Crazytel automatically combines "{default_instructions}\n\n{append_instructions}" (returned in instructions_used).
    • Per-Call Override (instructions): Or pass instructions on a call to completely replace default_instructions for that call.
    • Optional initial_text: In grok_voice_agent mode, initial_text is optional whenever instructions are present.
  2. 2. Autonomous Conversation & Complete Transcript: Grok Voice 3.0 speaks and listens naturally until the conversation concludes, then returns the full turn-by-turn transcript (turns[]), callee_transcript, and AUD billing breakdown.

Key Features Engineered for Real-World Australian Calls

From answer-dependent goodbyes and Crazyswitch AI Voicemail Detection to native SIP REFER transfers and Australian suburb vocabulary.

Smart Answer-Dependent Goodbyes (closing_message_mode)

Never hang up abruptly after someone answers your question. In single_turn mode, CrazyAI Voice API analyses the person's spoken reply and wraps up the call naturally:

  • Smart Goodbye Based on Their Answer (conditional - Recommended): Automatically speaks your positive closing if they confirm ("Wonderful, we've locked in 10am tomorrow. Have a great day, goodbye!"), your negative closing if they decline ("No problem at all, we'll text you alternative times. Goodbye!"), or a neutral closing if their reply is open-ended.
  • One Standard Polite Goodbye (static): Speaks a single polite sign-off before hanging up.
  • My Own AI Bot Will Send the Goodbye (wait_for_bot): Immediately returns the person's transcript to your bot while holding the phone line open (3-60 seconds) so your AI can generate a custom closing message and send it to /hangup.
  • Immediate Hangup (none): Ends the call as soon as the reply is transcribed.

Crazyswitch AI AMD (Answering Machine & Voicemail Detection)

Know whether a real human or a voicemail box answered before wasting speech synthesis - or leave a crisp voicemail after the beep:

  • Zero-Cost Tone & Regex + Crazyswitch AI AMD: Combines free tone/regex checks with Crazyswitch AI AMD classification (conversation, voicemail, no_message, ivr, screener) and automatic voicemail beep detection (440-1500 Hz).
  • 1. Leave a Voicemail (leave_voicemail): Waits for the voicemail greeting and beep tone (or post-greeting silence) to finish, speaks your default_voicemail_text or per-call voicemail_text, and hangs up.
  • 2. Terminate Immediately (terminate): Hangs up as soon as voicemail is detected ($0.00 TTS cost).
  • 3. Report in API (report_only): Holds opening speech and returns voicemail_detected so your interactive bot can decide whether to leave a tailored message via /say with "wait_for_beep": true.
  • 4. Do Nothing (nothing): Continues the call normally.

Live Call Transfers to Your Staff (POST .../refer)

When a customer asks to speak to a person or needs complex rescheduling, your bot can transfer the live phone call via native Hybrid SIP REFER to:

  • Internal staff extensions (e.g. 101, 102)
  • Call park orbits (e.g. 700)
  • External Australian phone numbers (e.g. 0290001111) or sip: URIs
  • Optional spoken transfer announcement (announcement_text: "One moment please while I transfer you to our scheduling team") and optional Approved Transfer Numbers allowlist (allowed_transfer_targets) for strict security.

Keypad & IVR Navigation (POST .../dtmf)

Need your AI bot to navigate an external phone menu ("Press 1 for Bookings, Press 2 for Accounts")? Send DTMF keypad digits (0-9, *, #, A-D, and , pauses) on any active interactive call and automatically transcribe the next voice prompt.

Real-Time Signed Webhooks & Portal Call Inspector

  • Turn-by-Turn Transcripts in MyAccount: Inspect every outbound call, callee greeting, callee reply, reply intent confidence, AMD verdict, SIP status code, turn-by-turn conversation log (turns[]), and itemized AUD cost.
  • HMAC-SHA256 Webhooks: Receive automatic POST notifications at your webhook_url as soon as a call completes, signed with X-Crazytel-Signature-256.

28 Lifelike Voices, 21 Languages & Expressive Speech Tags

  • 28 Built-In AI Voices: Including Eve (energetic, warm default voice ideal for reception and bookings), Ara, Rex, Sal, Leo, and 23 additional voices - all with instant Play Sample audio preview in the portal and via API.
  • 21 Languages + Auto-Detect: Default English (en) for Australian calls, auto language detection, Chinese (zh), Japanese (ja), Spanish (es-MX), and 17 more.
  • Expressive Speech Tags: Add natural human warmth inline with [pause], [long-pause], [laugh], [chuckle], [sigh], [breath], or wrap phrases in <soft>...</soft>, <whisper>...</whisper>, <slow>...</slow>, <fast>...</fast>, and <emphasis>...</emphasis>.
  • Automatic Number & Date Normalization: Reads $45.50 as "forty-five dollars and fifty cents" and 10am as "ten a-m" automatically.

Australian Suburb & Brand Vocabulary (keyterms & pronunciation_replace)

  • Custom Words to Listen For (keyterms / extra_keyterms): Teach the speech-to-text engine up to 100 custom words - Australian suburb names (e.g. Woolloongabba, Indooroopilly), staff names, or product SKUs - so transcripts are spelled accurately.
  • Phonetic Pronunciation Dictionary (pronunciation_replace): Tell the AI voice how tricky brand names or suburbs sound phonetically (e.g. Crazytel = Crazy-tel) so it pronounces them clearly every time.

Portal Settings + Per-Call API Overrides Work Together

Configure your standing defaults once in the MyAccount portal and override or extend any parameter on a per-call basis via the API (full schema in the CrazyAI Voice API Spec):

Feature Saved on Profile (Portal Default) Sent Per-Call (POST .../calls) How They Combine at Runtime
Call Mode default_mode (single_turn, interactive, grok_voice_agent) mode Uses default_mode unless mode is passed on the call request.
Full AI Phone Agent Instructions default_instructions (or instructions) instructions (override) or append_instructions (append) instructions replaces profile instructions for that call; append_instructions combines "{default_instructions}\n\n{append_instructions}" (returned in instructions_used). In grok_voice_agent mode, initial_text is optional when instructions are present.
Polite Goodbye (single_turn) closing_message_mode, default_closing_text, default_closing_text_affirmative, default_closing_text_negative, closing_wait_timeout_seconds closing_message_mode, closing_text, closing_text_affirmative, closing_text_negative, wait_for_closing_text, or POST .../hangup Per-call fields override profile defaults. Passing closing_text_affirmative/negative auto-enables "conditional"; wait_for_closing_text: true enables "wait_for_bot". Spoken text is returned in closing_text_spoken.
Voicemail Detection (AMD) voicemail_detection_enabled, voicemail_action, default_voicemail_text, voicemail_confidence_threshold, voicemail_max_wait_beep_seconds, voicemail_post_greeting_silence_ms voicemail_detection_enabled, voicemail_action, voicemail_text, or POST .../say {"wait_for_beep": true} Per-call fields override profile defaults. On "leave_voicemail", speaks voicemail_text → default_voicemail_text → initial_text after the beep (returned in voicemail_text_spoken).
Custom Vocabulary & Pronunciation keyterms, pronunciation_replace extra_keyterms, pronunciation_replace Per-call extra_keyterms merge with profile keyterms (up to 100 unique terms). Per-call pronunciation_replace entries merge and win on conflict.

Key Business & Developer Benefits

Built from the ground up for Australian businesses, software teams, and automation builders who want reliable voice outreach without telephony overhead.

Zero Audio or SIP Engineering Required

Your developers or no-code workflows never touch RTP audio packets, WebSockets, or SIP trunks. If your app can send a POST request with two JSON fields, it can make phone calls.

$0.00 AUD AI Cost on Unanswered Calls

If the person doesn't pick up, the line is busy, or the call is cancelled before answer, you pay $0.00 AUD in CrazyAI Voice API usage.

Higher Answer Rates with Your Own Australian Caller ID

Calls dial out through your Crazytel Hybrid SIP Trunk using your verified Australian landline (02, 03, 07, 08) or mobile (04) number - so customers recognize your business and can call you back.

Eliminate Manual Confirmation Calls & No-Shows

Replace hours of repetitive front-desk reminder calls with instant, polite AI check-ins that write the customer's exact response straight back into your booking system.

Built-In Safety Guardrails

Configurable max call duration (default 5 minutes), max ring time, idle session timeouts, 5-call account concurrency limit, and a 5-second duplicate-destination cooldown prevent runaway bot loops from ever running up a bill.

100% Retail AUD Pricing

No USD conversion guesswork - every character spoken, second listened, and AI agent minute is rated transparently in Australian Dollars (AUD).

Retail AUD Pricing Schedule

CrazyAI Voice API has no monthly subscription fee. Connected calls have two transparent charges:

Charge 1: CrazyAI Voice API Usage (AUD)

Component AI Model / Engine Retail Rate (AUD) Everyday Equivalent
Speaking (Voice Playback / TTS) Grok Voice TTS $0.0285 AUD / 1,000 chars ~Half a cent per sentence ($28.50 AUD / 1M chars)
Listening (Streaming Speech-to-Text) grok-voice-transcribe-2.0 $0.0063 AUD / minute $0.38 AUD / hour while listening
Listening (REST Speech-to-Text) grok-voice-transcribe-2.0 $0.0032 AUD / minute $0.19 AUD / hour
Full AI Phone Agent Mode (S2S) grok-voice-3.0 $0.1520 AUD / minute $9.12 AUD / hour ($0.0076 AUD / text input)
Voicemail Tone & Regex Detection Crazyswitch Tone & Regex $0.0000 AUD Free
Crazyswitch AI AMD & Reply Check Crazyswitch AI AMD $0.000181 AUD / 1,000 tokens $0.1809 AUD / 1M tokens
Unanswered / Busy Calls - $0.0000 AUD Free ($0.00 AI Voice usage)

Charge 2: Outbound Phone Call Leg (PAYG Hybrid SIP Trunk)

  • Every outbound call dials out through the Crazytel Hybrid SIP Trunk (hybrid.sip.crazytel.net.au) linked to your Voice Profile using that trunk's Caller ID.
  • The standard phone call leg is billed separately on your Hybrid SIP Trunk's Pay-As-You-Go (PAYG) call rates.
  • PAYG Plans Only: Because CrazyAI Voice API places automated programmatic outbound calls, linked Hybrid SIP Trunks must be on a PAYG (Pay-As-You-Go) plan (bundled or included-minute plans do not apply to automated AI Voice API calls).

Developer Quick-Start & Full API Specification

Explore the interactive OpenAPI schema, copy ready-to-run curl examples, and inspect all 15 production REST endpoints.

Interactive OpenAPI Spec
All Crazytel API Docs
Production Base URL
https://api.crazytel.io
Authentication
X-Crazytel-Api-Key: your_api_key header (recommended) or {"api_key": "..."} in JSON body

Example 1: Place a Call with Just 2 Fields (destination + initial_text)

curl -X POST "https://api.crazytel.io/api/v1/crazyai-voice-api/{profile_uuid}/calls" \
  -H "X-Crazytel-Api-Key: $CRAZYTEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destination": "0491570156",
    "initial_text": "Hi, I'\''m calling to confirm your 10am appointment tomorrow."
  }'

Example 2: Smart Yes/No Goodbye & Automatic Voicemail Drop

curl -X POST "https://api.crazytel.io/api/v1/crazyai-voice-api/{profile_uuid}/calls" \
  -H "X-Crazytel-Api-Key: $CRAZYTEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destination": "0491570156",
    "initial_text": "Hi Sarah, I'\''m calling from Acme Solar to confirm if someone will be home at 10am tomorrow?",
    "closing_message_mode": "conditional",
    "closing_text_affirmative": "Wonderful, thank you for confirming! We'\''ve locked in 10am tomorrow. Have a great day, goodbye!",
    "closing_text_negative": "No problem at all, I'\''ll let our scheduling team know so we can text you alternative times. Goodbye!",
    "closing_text": "Thank you, I'\''ve passed your message along to our team. Have a great day, goodbye!",
    "voicemail_detection_enabled": true,
    "voicemail_action": "leave_voicemail",
    "voicemail_text": "Hi Sarah, this is Acme Solar calling to confirm your 10am installation tomorrow. Please call us back on 1300 000 111."
  }'

Example 3: Full AI Phone Agent (grok_voice_agent + append_instructions) - Keep your company's base instructions saved in the portal (default_instructions) and pass call-specific details via append_instructions:

curl -X POST "https://api.crazytel.io/api/v1/crazyai-voice-api/{profile_uuid}/calls" \
  -H "X-Crazytel-Api-Key: $CRAZYTEL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "destination": "0491570156",
    "mode": "grok_voice_agent",
    "append_instructions": "You are calling John Smith to confirm his 2pm solar roof inspection tomorrow at 42 Wallaby Way and ask if there is a gate code or dog in the yard."
  }'

Example 4: Live Interactive Actions (/say, /refer, /dtmf, /hangup) - When mode is "interactive", the call remains open (status: "awaiting_next_turn") so your bot can issue follow-up commands:

# Speak the next turn and listen for their reply
POST https://api.crazytel.io/api/v1/crazyai-voice-api/{profile_uuid}/calls/{call_uuid}/say
{
  "text": "2pm tomorrow works great! Is there a gate code our technician should know about?",
  "listen_for_reply": true
}

# Transfer the live call to staff extension 101 via Hybrid SIP REFER
POST https://api.crazytel.io/api/v1/crazyai-voice-api/{profile_uuid}/calls/{call_uuid}/refer
{
  "target": "101",
  "announcement_text": "One moment please while I transfer you to our scheduling team."
}

# Press keypad digits on an IVR menu
POST https://api.crazytel.io/api/v1/crazyai-voice-api/{profile_uuid}/calls/{call_uuid}/dtmf
{
  "digits": "1",
  "listen_for_reply": true
}

# Speak a custom closing message and hang up cleanly
POST https://api.crazytel.io/api/v1/crazyai-voice-api/{profile_uuid}/calls/{call_uuid}/hangup
{
  "closing_text": "Perfect, I've noted that down and locked in 2pm tomorrow! Goodbye!"
}

Complete Live API Endpoints (https://api.crazytel.io)

Method Endpoint Path Description
POST /api/v1/crazyai-voice-api/{profile_uuid}/calls Place an outbound AI Voice call using profile_uuid (single_turn, interactive, or grok_voice_agent) and return callee_transcript, analysis, turns, session, and AUD billing.
GET /api/v1/crazyai-voice-api/{profile_uuid}/calls List call history, transcripts, and AUD billing for profile_uuid (?limit=50&offset=0).
GET /api/v1/crazyai-voice-api/{profile_uuid}/calls/{call_uuid} Get full call details, turn-by-turn transcript (turns[]), Crazyswitch AI AMD analysis, and AUD billing.
POST /api/v1/crazyai-voice-api/{profile_uuid}/calls/{call_uuid}/say Speak next turn (text, listen_for_reply, end_call_after) or leave a custom voicemail after the beep (wait_for_beep: true).
POST /api/v1/crazyai-voice-api/{profile_uuid}/calls/{call_uuid}/refer Transfer an active call via Hybrid SIP REFER (target: extension 101, park 700, phone number, or sip: URI; optional announcement_text).
POST /api/v1/crazyai-voice-api/{profile_uuid}/calls/{call_uuid}/dtmf Send DTMF keypad tones (digits: 0-9, *, #, A-D, , pause) and transcribe the next prompt.
POST /api/v1/crazyai-voice-api/{profile_uuid}/calls/{call_uuid}/hangup Optionally speak closing_text and cleanly hang up (SIP BYE).
GET /api/v1/crazyai-voice-api/profiles List all CrazyAI Voice API profiles (profile_uuid) with live AUD pricing.
POST /api/v1/crazyai-voice-api/profiles Create a reusable Voice Profile linked to a PAYG Hybrid SIP Trunk (only name + hybrid_username or trunk_id required).
GET /api/v1/crazyai-voice-api/profiles/{profile_uuid} Get a single Voice Profile configuration and its ready-to-use call_endpoint.
PUT /api/v1/crazyai-voice-api/profiles/{profile_uuid} Partially update a Voice Profile.
DELETE /api/v1/crazyai-voice-api/profiles/{profile_uuid} Permanently delete a Voice Profile and its associated call records.
GET /api/v1/crazyai-voice-api/voices List all 28 built-in AI voices, 21 language codes (including auto), expressive speech tags, and live AUD pricing.
POST /api/v1/crazyai-voice-api/voices/preview Synthesize up to 500 characters into a 16 kHz mono WAV preview clip (audio_base64).
GET /api/v1/crazyai-voice-api/pricing Get live retail AUD pricing for TTS playback, streaming/REST STT, Full AI Phone Agent, and Crazyswitch AI AMD.

Compliance & Australian Telecommunications Standards

Crazytel builds for responsible, compliant Australian business communications:

PAYG Hybrid SIP Trunk Policy

Outbound calls require a Crazytel Hybrid SIP Trunk on a Pay-As-You-Go (PAYG) plan.

Do Not Call Register (DNCR) Compliance

Any sales, telemarketing, or promotional calling must comply with the Do Not Call Register Act 2006 (Cth) and wash contact lists against donotcall.gov.au unless valid consent is held.

ACMA Standards & Calling Hours

Calls must adhere to ACMA rules, permitted calling hours in the recipient's local Australian time zone, and upfront business identification in initial_text.

Valid Australian Caller ID & Recording Notice

Outbound calls display your owned/verified Hybrid SIP Trunk Caller ID (13/1300/1800 inbound-only numbers cannot be used as outbound CLI), with a one-click profile toggle to prepend "Please note this call is being recorded" whenever required.

Frequently Asked Questions

Everything you need to know about CrazyAI Voice API setup, call modes, Crazyswitch AI AMD, and PAYG Hybrid SIP Trunk billing.

CrazyAI Voice API lets your AI assistant (like Grok Bot, ChatGPT, or Claude), CRM, or booking system make outbound phone calls through your Crazytel Hybrid SIP Trunk, speak in a natural AI voice, listen to the person who answers, and receive their spoken reply back as text (callee_transcript).
No. You configure your phone line and voice once in the MyAccount portal to get a profile_uuid. Your app or AI bot simply sends a standard HTTPS POST request with destination and initial_text, and receives a JSON response containing the transcript, intent analysis, and billing summary.
$0.00 AUD. If the person does not answer or the line is busy, there is zero CrazyAI Voice API usage charge.
The call displays the outbound Caller ID configured on the Crazytel Hybrid SIP Trunk linked to your Voice Profile - so customers see your genuine Australian business number and can call it back.
Yes. On the Create/Edit Voice Profile screen, click New Hybrid Trunk next to the phone line selector to provision a PAYG Hybrid SIP Trunk using any of your owned Crazytel phone numbers without leaving the page.
With Crazyswitch AI AMD Detection enabled, CrazyAI Voice API detects whether a human or voicemail answered. You can choose to automatically wait for the beep tone and leave a voicemail message (leave_voicemail), hang up immediately at $0.00 TTS cost (terminate), report voicemail_detected back to your bot (report_only), or continue normally (nothing).
Yes. Set Goodbye Message Style to Smart Goodbye Based on Their Answer (conditional) (either in the portal or per call in the API). If the customer confirms, the AI speaks your affirmative goodbye; if they decline, it speaks your negative goodbye.
Yes. In interactive mode (with Allow Call Transfers to Staff enabled), your bot can call POST .../refer to transfer the live call to an internal Hybrid extension (such as 101), a call park slot (700), or an external phone number, optionally speaking a transfer announcement first.
Your Voice Profile stores your default voice, language, Hybrid trunk, voicemail rules, polite goodbye messages, custom vocabulary (keyterms), and standing agent instructions (default_instructions). On any individual API call, you can omit those fields to use your profile defaults, override them for that specific call, or combine them (for example, sending append_instructions or extra_keyterms to add call-specific context to your saved profile defaults).
Because CrazyAI Voice API places automated programmatic outbound calls, bundled or unlimited human voice plans do not apply. Linking a PAYG Hybrid SIP Trunk ensures transparent per-call billing for both the AI Voice usage and the outbound phone call leg.
You can explore the complete interactive OpenAPI specification - including all 15 endpoints, request/response schemas, and error codes - at https://crazytel.io/docs#/CrazyAI%20Voice%20API, or manage your API key and copy live curl snippets inside the portal at Products → CrazyAI Voice API → API Management (/crazyai-voice-api/api-management).

Ready to Give Your AI Assistant a Real Phone Line?

Create your Voice Profile in 30 seconds, preview 28 lifelike voices, and place your first outbound AI call with just destination and initial_text.

Need Help?