# Introduction
## Creating Webhooks
You will need the following to receive webhooks with httpSMS.
1. **Callback URL** - httpSMS will send a `POST` to this URL every time an event is triggered. This
2. **Signing Key** - When httpSMS sends a `POST` request to your endpoint, you can use the signing key to verify that the request is actually coming from the httpSMS server. The signing key is a random string that will be used to create a [JWT auth token](https://jwt.io/introduction).
3. **Events** - This is the list of httpSMS events that will be forwarded to your callback URL. We support only the following events at the moment
* `message.phone.received` - This event is emitted when your Android phone receives a new SMS
* `message.phone.sent` - This event is emitted when the httpSMS app on your phone sends out an SMS.
* `message.phone.delivered` - This event is emitted when an SMS is delivered to the recipient's phone.
* `message.send.failed` - This event is emitted when an SMS fails to be sent out by your Android phone
* `message.send.expired` - This event is emitted when an SMS expires before being sent out by your Android phone.
* `message.send.expired` - This event is emitted when an SMS expires before being sent out by your Android phone.
* `message.call.missed` - This event is emitted when your Android phone receives a missed phone call.
* `phone.heartbeat.offline` - This event is emitted when the httpSMS server did not get a heartbeat (ping) from your Android phone in the last 1 hour.
* `phone.heartbeat.online` - This event is emitted when the httpSMS server receives a heartbeat (ping) from your Android phone after it was previously offline.
4. **Phone Numbers** - This is the list of phone numbers whose events you want to listen to. You can have multiple phone numbers on your account but you can also configure the webhook to listen to events only for a subset of your phone numbers.
{% hint style="info" %}
Webhooks can be set up and managed from [Settings > Webhooks](https://httpsms.com/settings#webhooks)[ ](https://httpsms.com/settings)in your httpSMS dashboard or programmatically [using the httpSMS API](https://api.httpsms.com/index.html#/Webhooks/post_webhooks).
{% endhint %}

| Framework | Code |
|---|---|
| Laravel - PHP | https://github.com/NdoleStudio/httpsms-recipes/tree/main/laravel |
| Express - JS | https://github.com/NdoleStudio/httpsms-recipes/tree/main/express |