SMS Webhooks and API: Build Custom Integrations

Message customers3 min readUpdated 2026-03-12

SMS Webhooks and API: Build Custom Integrations

JustCall provides webhooks and API endpoints for SMS, so you can build custom integrations that go beyond the built-in CRM connectors. Receive real-time event notifications, send messages programmatically, and sync SMS data with your own systems.

Available on: Pro plan and above


SMS Webhooks

Webhooks push event data to your application in real time. When an SMS event occurs, JustCall sends an HTTP POST request to your configured endpoint.

Available webhook events

EventWhen it fires
sms.receivedIncoming SMS received on any JustCall number
sms.sentOutbound SMS sent by an agent or automation
sms.deliveredCarrier confirms delivery to recipient
sms.failedMessage delivery failed
sms.optoutRecipient replied STOP
sms.optinPreviously opted-out contact replied START

Set up a webhook

  1. Go to Settings → Webhooks.
  2. Click Add Webhook.
  3. Enter your endpoint URL (must be HTTPS).
  4. Select the events you want to receive.
  5. Click Save.

JustCall sends a test ping to verify your endpoint is reachable.

Webhook payload

Each webhook POST includes:

{
  "event": "sms.received",
  "timestamp": "2026-03-12T14:30:00Z",
  "data": {
    "message_id": "msg_abc123",
    "direction": "inbound",
    "from": "+15125551234",
    "to": "+15125550100",
    "body": "Hi, I'd like to schedule an appointment",
    "media_urls": [],
    "justcall_number": "+15125550100",
    "contact_name": "Sarah Chen",
    "agent_id": null
  }
}

Retry policy

If your endpoint returns a non-2xx status code, JustCall retries:

  • 1st retry: 30 seconds
  • 2nd retry: 5 minutes
  • 3rd retry: 30 minutes
  • After 3 failures: webhook is paused. Check Settings → Webhooks to reactivate.

SMS API

Send messages, retrieve conversations, and manage contacts programmatically.

Authentication

All API requests require your JustCall API key and secret:

Authorization: Bearer {api_key}:{api_secret}

Find your API credentials under Settings → API & Webhooks → API Keys.

Send an SMS

POST /api/v2/texts/new
Content-Type: application/json

{
  "from": "+15125550100",
  "to": "+15125551234",
  "body": "Your appointment is confirmed for March 15 at 2 PM."
}

Retrieve conversations

GET /api/v2/texts/list?per_page=20&page=1

Get message details

GET /api/v2/texts/{message_id}

For the complete API reference, visit JustCall's developer documentation under Settings → API & Webhooks → Documentation.


Common Integration Patterns

PatternHow it works
Custom CRM loggingWebhook sms.received + sms.sent → POST to your CRM's API
Lead routingWebhook sms.received → your app checks message content → assigns via JustCall API
Appointment confirmationWebhook sms.received keyword "CONFIRM" → update your booking system
Analytics pipelineAll webhook events → your data warehouse for custom reporting

Was this helpful?