# SMS Inbox (/docs/plugins/sms-inbox)



The **SMS Inbox** plugin lets your team text customers from the dashboard — every conversation in one inbox, with replies inline, over your own [Twilio](https://www.twilio.com) number.

It works like the customer-support chat, but over SMS: incoming texts land in the inbox, and you reply right there. Conversations are grouped by phone number and matched to a customer automatically when the number is on file.

This is a **feature** plugin — it reuses the Twilio connection you've already set up, so there's no extra credential to enter.

Before you start [#before-you-start]

Connect your Twilio account in **Company settings** first (account SID, auth token, and the number you text from). The SMS Inbox uses that same connection — you don't enter Twilio details again in the plugin.

Setup [#setup]

1. Open **Plugins → Browse Plugins** and click **Install** on **SMS Inbox**.
2. *(Optional)* In the **Configuration** section on the setup page, add one or more separate inbox numbers — see [Using a separate number](#using-a-separate-number) below. Skip this to use your existing Twilio number.
3. In your **Twilio** account, set the **incoming-message webhook** (HTTP POST) for each number the inbox uses to the URL shown in the **Configuration** section:

   ```
   https://api.resytech.com/v1/plugins/sms-chat/webhook/<your-token>
   ```

   The setup page shows the full URL — including a token unique to your account — with a copy button.
4. Click **Enable** on the setup page.

<Callout type="info">
  **Outbound texts work as soon as the plugin is enabled.** Incoming texts only start appearing once the webhook above is set on your number.
</Callout>

<Callout type="info">
  The token in the webhook URL is an extra check unique to your account — it makes the URL harder to guess. It's belt-and-braces on top of Twilio's request signature, which is the real security. A token-less URL still works, so existing setups keep running.
</Callout>

Using a separate number [#using-a-separate-number]

By default the inbox sends from and receives on your **company's connected Twilio number** — the same one your workflows use.

If you'd rather keep those apart — for example, a private number for automated workflow texts and a **public number** customers text — add the public number under **Configuration** on the setup page. The picker lists the SMS-capable numbers already on your connected Twilio account, so you just choose one (if the list can't be loaded, you can type a number instead). You can add **more than one**; each must be a number on the **same Twilio account**.

* **Receiving:** point each number's incoming-message webhook (above) at the URL on the setup page.
* **Sending:** replies always go out on the number the customer last texted, so the conversation stays on one number. When you start a new conversation and have more than one number, you pick which one to send **From**.

Using it [#using-it]

Open **Plugins → SMS Inbox**. The left panel lists your conversations (newest first, with unread badges); selecting one shows the thread and a box to reply. Use the **new-conversation** button to start a thread by entering a phone number — and, if you've set up more than one number, choosing which one to text **From**.

When an incoming number matches a customer on file, the conversation shows their name; otherwise it shows the raw number.

Permissions [#permissions]

* **Viewing** the inbox is available to any staff member at a location with the plugin enabled.
* **Sending** a message requires the &#x2A;*SMS Inbox (send)** permission. Assign it to the roles allowed to text customers. Without it, the inbox is read-only.

Good to know [#good-to-know]

* The inbox is a **shared company inbox** — because your Twilio number belongs to your company, every conversation on that number is visible to any location that has the plugin enabled.
* Each message is delivered through Twilio and counts toward your Twilio usage and billing.

Troubleshooting [#troubleshooting]

<Callout type="warn">
  If you can send texts but incoming replies never appear, the webhook is almost certainly missing or pointing at the wrong URL. Re-check it against the URL on the setup page — and remember the webhook must be set on **each** number the inbox uses, not just your default one.
</Callout>

<Callout type="warn">
  If a separate inbox number won't send or receive, confirm it's a real SMS-capable number on the **same Twilio account** you connected in Company settings. Numbers from a different account won't work.
</Callout>
