Skip to main content
AstraDial sends real-time call and lead data to your server via webhooks. When events occur — calls completed, leads created, tags updated — AstraDial delivers an HTTP POST request to your configured endpoint with the event data as JSON.

Prerequisites

Before setting up a webhook, complete the following:
1

Register with your company email

Use your official company email address to get started. This will be used for all communication and account verification.
2

Create your account

Sign up at app.astradial.com and verify your email address. You will receive a verification link — click it to activate your account.
3

Complete KYC

Complete the Know Your Customer (KYC) process from your dashboard. This is required before any webhook endpoints can be provisioned.You will need to provide:
  • Business registration details
  • Authorized contact information
  • Use case description
4

Raise a webhook request

Once KYC is approved, raise a request to create your webhook endpoint. Navigate to Settings > Integrations in your dashboard, or contact your account manager.Provide the following details in your request:
  • Your server’s static IP address (we will whitelist it on our end)
  • Preferred webhook secret or let us generate one for you
  • The events you want to receive (call logs, leads, tags, etc.)
5

Receive your webhook credentials

After your request is processed, we will share:
CredentialDescription
Webhook URLhttps://events.astradial.com/[your_company_code]
Webhook SecretA shared secret for authenticating requests
AstraDial IPsOur server IPs to whitelist on your firewall
Your company code is a unique identifier assigned during this step.

Sending data to AstraDial

Once your webhook endpoint is active, send data as a POST request with Content-Type: application/json.

Authentication

Include the webhook secret in the request header.
curl -X POST https://events.astradial.com/[your_company_code] \
  -H "Content-Type: application/json" \
  -H "X-Webhook-Secret: your_shared_secret_here" \
  -d '{ "customer_name": "John Doe", "phone_number": "+919876543210" }'
Never expose your webhook secret in client-side code or public repositories.

Payload format

All requests must be JSON with the following structure:
{
  "customer_name": "John Doe",
  "phone_number": "+919876543210",
  "event_date": "2026-03-15T10:30:00+05:30",
  "register_date": "2026-03-10T09:00:00+05:30",
  "custom_field_1": "value",
  "custom_field_2": "value"
}
FieldTypeRequiredDescription
customer_namestringYesFull name of the customer
phone_numberstringYesPhone number with country code
event_datestringNoEvent date in ISO 8601 format
register_datestringNoRegistration date in ISO 8601 format
custom paramsanyNoAny additional fields specific to your use case
Custom parameters are passed through as-is and stored alongside the standard fields. Use them to include any business-specific data you need.

Expected response

A successful request returns:
{
  "status": "success"
}
HTTP StatusMeaning
200Data received successfully
401Invalid or missing webhook secret
415Content-Type is not application/json
429Rate limit exceeded — slow down
500Server error — retry later

Receiving data from AstraDial

AstraDial sends webhook events to your server when activities occur on your account.

Call log event

Sent when a call is completed.
{
  "call_id": "unique_call_identifier",
  "duration": 120,
  "recording_url": "https://recordings.example.com/abc.mp3",
  "direction": "inbound",
  "caller_id_number": "+919876543210",
  "call_to_number": "+911234567890",
  "bot_type": "voice_streaming",
  "answered_agent": {
    "number": "+919876543210"
  },
  "call_flow": [
    {
      "type": "voice-streaming",
      "dialst": "Answered"
    }
  ]
}
FieldTypeDescription
call_idstringUnique identifier for the call
durationintegerCall duration in seconds
recording_urlstringURL to the call recording (if available)
directionstringinbound or outbound
caller_id_numberstringCaller’s phone number (for inbound calls)
call_to_numberstringDestination number (for outbound calls)
bot_typestringType of bot handling the call (if applicable)
answered_agentobjectAgent info if call was handled by an agent
call_flowarraySequence of call events

Lead created event

Sent when a new lead is created.
{
  "customer_id": "your_company_code",
  "user_number": "+919876543210",
  "call_id": "unique_call_identifier",
  "direction": "inbound",
  "source": "agent_number_or_source"
}

Tag update event

Sent when tags are updated on a lead.
{
  "customer_id": "your_company_code",
  "call_id": "unique_call_identifier",
  "tag": ["interested", "follow-up"]
}

Security

Whitelist AstraDial IPs

If you receive webhooks from AstraDial, whitelist the following IP addresses on your server firewall:
IP AddressDescription
3.7.225.55Production server
61.2.96.163Production server

Validate the webhook secret

Verify the X-Webhook-Secret header on incoming requests to confirm they originate from AstraDial.

Use HTTPS

Your webhook endpoint must use HTTPS to encrypt data in transit.

Respond quickly

Return a 200 response within 5 seconds. If you need to do heavy processing, acknowledge the webhook first and process asynchronously.

Rate limits

Webhook endpoints are rate limited to 60 requests per second per IP address. Exceeding this limit returns a 429 Too Many Requests response.

Support

Contact your AstraDial account manager or reach out to [email protected] for assistance with webhook setup.