Receive incoming messages by configuring webhooks on your application. When someone sends a message to your phone number, Chirp delivers it to your webhook endpoint in real-time.Documentation Index
Fetch the complete documentation index at: https://docs.buildwithchirp.com/llms.txt
Use this file to discover all available pages before exploring further.
Prerequisites
Before receiving messages, you need:- A phone number assigned to your application
- A webhook configured for the
MESSAGE_CREATEDevent
How It Works
- User sends an SMS or MMS to your Chirp phone number
- Chirp receives the message from the carrier
- Chirp creates a
MESSAGE_CREATEDevent - Chirp sends the event to your configured webhook URL
- Your application processes the message and responds
Webhook Payload
When an incoming message is received, Chirp sends a POST request to your webhook URL:Payload Fields
event - The event type (MESSAGE_CREATED)
data.id - Unique message identifier
data.from - Phone number that sent the message
data.to - Your Chirp phone number that received the message
data.text - Message text content (null if MMS with no text)
data.subject - MMS subject line (null for SMS)
data.mediaUrls - Array of media URLs for MMS messages
data.type - Message type (SMS or MMS)
data.direction - Always INBOUND for received messages
data.status - Message status (RECEIVED)
data.createdAt - ISO 8601 timestamp
Handling MMS Messages
MMS messages may include media attachments:mediaUrls.
Responding to Your Webhook
Your webhook endpoint should:- Respond with a
200 OKstatus code - Respond within 5 seconds
- Process the message asynchronously if needed
Testing Incoming Messages
You have two options for testing incoming messages without sending a real SMS:- Browser-based Playground — open the Playground in your dashboard, pick a “User Phone Number”, and send. Your webhook fires in real-time.
- API-based simulation —
POST /v1/playground/sms/inboundwith a test API key. Useful for end-to-end tests, CI, and local development. See Simulating Inbound Messages.
Webhook Retries
If your webhook endpoint fails to respond or returns an error:- Chirp will retry delivery
- Retries use exponential backoff
- Failed webhooks are logged in your dashboard