---
title: "Send and receive SMS in 3CX"
url: "https://enfonica.com/help/sms/sms-in-3cx"
summary: "In the Enfonica Console, add the 3CX PBX app under Cloud SMS > Apps. Copy its URL and API key into the SMS settings of your 3CX SIP trunk. Then set your mobile number's incoming message handler to the app's Incoming SMS Handler URL, so messages to the number reach 3CX."
type: how-to
audience: everyone
products: ["Cloud SMS", "Phone Numbers"]
works_with: ["3CX v20 and later, self-hosted"]
who_can_do_this: "Whoever manages your 3CX and your Enfonica project"
---

# Send and receive SMS in 3CX

**Short answer:** In the Enfonica Console, add the 3CX PBX app under Cloud SMS > Apps. Copy its URL and API key into the SMS settings of your 3CX SIP trunk. Then set your mobile number's incoming message handler to the app's Incoming SMS Handler URL, so messages to the number reach 3CX.

**Applies to:** Cloud SMS, Phone Numbers  
**Works with:** 3CX v20 and later, self-hosted  
**Who can do this:** Whoever manages your 3CX and your Enfonica project

## Before you start

- An SMS-enabled Enfonica mobile number in your project.
- 3CX v20 or later, self-hosted, with a SIP trunk to Enfonica.
- Admin access to 3CX and to your Enfonica project.

## How SMS in 3CX works

Enfonica connects to 3CX as its SMS provider, on the same SIP trunk that your calls use. Messages your team sends from 3CX go out through Cloud SMS from your Enfonica mobile number. Messages sent to that number are passed on to 3CX. Your team texts and calls from one number.

Setup has three parts. You add the 3CX PBX app in the Enfonica Console, connect it to your 3CX SIP trunk, and then point your mobile number's incoming messages at the app.

## Add the 3CX PBX app in the Enfonica Console

1. In the [Enfonica Console](https://console.enfonica.com/), open your project, and go to **Cloud SMS > Apps**.
2. Select **Browse marketplace**, and then select **3CX PBX**.
3. Select **Add to Project**. A dialog opens with an **Outbound Notification Webhook URL**, an **API Key**, and an **Inbound webhook URL** field for 3CX's webhook. Keep the dialog open while you set up 3CX.

## Connect it to your 3CX SIP trunk

In 3CX, open the SIP trunk you use for Enfonica, and go to its SMS settings. Then copy each value across:

1. Copy the **Outbound Notification Webhook URL** from the Enfonica dialog, and paste it into 3CX as the **Provider URL**.
2. Copy the **API Key** from the Enfonica dialog, and paste it into 3CX as the **API Key**.
3. Copy the webhook URL that 3CX shows for the trunk, and paste it into **Inbound webhook URL** in the Enfonica dialog.
4. Save the trunk in 3CX, and then select **Add** in the Enfonica dialog. The app appears under **Cloud SMS > Apps**. Its page has an **Outgoing configuration** section and an **Incoming configuration** section.
5. On the trunk's **DIDs** tab in 3CX, add your mobile number in +E.164 format, for example `+61491570006`. If the number is already there for calls, check that it has the plus sign and the country code.
6. In 3CX, choose the user or queue that handles messages for that number. Only the people it reaches can send and see SMS for that number.

## Send incoming SMS to 3CX

Messages sent to your mobile number go wherever the number's incoming message handler sends them. To point the handler at 3CX:

1. In the Enfonica Console, go to **Cloud SMS > Apps**, and open the 3CX PBX app.
2. Under **Incoming configuration**, copy the **Incoming SMS Handler** URL.
3. Go to **Phone Numbers > My numbers**, and select your mobile number.
4. Under **Messaging settings**, in **Incoming message handlers**, select **Add**, and then select **HTTPS URL**.
5. Paste the URL. Make it the only handler, or the first one in the list.
6. Select **Save Changes**.

> **Warning:** If messages to your number show in the Enfonica Console but never reach 3CX, the number's handler is almost always a different or older URL. Copy the **Incoming SMS Handler** URL from the app's page again, and paste it in place of the old one.

## Check that it worked

1. From a mobile phone, text your Enfonica number. The message appears in 3CX for the user or queue you chose. In the Console, it appears in **Cloud SMS > Messages** with the status Received.
2. Reply from 3CX. The mobile phone receives the reply from your Enfonica number, and the Console shows it as Delivered.
3. Reply again from the mobile phone. The reply appears in the same conversation in 3CX.

## If it isn't working

Each of these problems comes up regularly, and most come down to one setting.

### Messages show in the Console but not in 3CX

Enfonica received the message, but either it couldn't pass the message to 3CX, or 3CX delivered it somewhere nobody is looking. Check these settings:

- The number's handler is the app's **Incoming SMS Handler** URL. See [Send incoming SMS to 3CX](https://enfonica.com/help/sms/sms-in-3cx#incoming).
- The DID in 3CX is in +E.164 format.
- If the number goes to a queue, check which members the queue reaches.

If the message still doesn't appear, check the 3CX logs for SMS errors, and send us the details in [What to send us](https://enfonica.com/help/sms/sms-in-3cx#what-to-send-us).

### Replies start a new conversation

3CX matches conversations by number. Send to numbers in +E.164 format, such as `+61491570006`, so that a reply from that mobile joins the same conversation.

### Only one person can see a conversation

In a 3CX queue, every member can see a conversation that nobody has taken. After someone takes it, or 3CX assigns it to them automatically, it's hidden from the others. If everyone in the queue should see every message, turn off automatic assignment for the queue in 3CX.

### You can't tell which number a message came in on

3CX doesn't show which DID received an SMS. Give each mobile number its own queue, and add the same people to each queue. The queue name then shows which number the message came in on.

### Sending from 3CX fails with Bad Request

3CX shows an error such as `Failed to send message(s) to the provider` with `"status":400`. Check these causes:

- If you send from an alphanumeric sender ID to Australian numbers, the sender ID must be registered and Active in this project. See [SMS from your sender ID won't send to Australian numbers](https://enfonica.com/help/sender-ids/sender-id-not-sending).
- If your 3CX was set up for SMS before the 3CX PBX app existed, replace that setup with the app. Follow the steps in this article.

### A conversation disappeared from 3CX

When a conversation is marked as dealt with or archived, 3CX stops showing it. Every message stays in **Cloud SMS > Messages** in the Enfonica Console, so you can still find what was said.

## Questions

### Can my team send from our business name?

Yes. The app can send from your mobile number or from an alphanumeric sender ID of up to 11 characters. Sender IDs that send to Australian numbers must be registered first. To learn how, see [Register an alphanumeric sender ID for SMS in Australia](https://enfonica.com/help/sender-ids/register-alphanumeric-sender-id).

People can't reply to a sender ID, so use your mobile number for conversations.

### Can we send and receive photos?

No. Enfonica's virtual mobile numbers support calls and SMS, but not MMS. Picture messages sent to the number aren't received.

### Can we use a mobile number we already have?

Yes. Port it to Enfonica, and it works with 3CX like any other Enfonica mobile number. After the port, the number can't receive MMS, so first check that this is fine for the people who text you. To learn how, see [Port your phone numbers to Enfonica](https://enfonica.com/help/porting/port-numbers-to-enfonica).

### Does this work with other phone systems?

The Marketplace in **Cloud SMS > Apps** also has apps for Yeastar PBX and Genesys Cloud (Genesys Open Messaging). You set them up the same way.

## What to send us

Include these and we can trace the message.

- The number or sender ID you sent from, and the number you sent to.
- The date and time you sent it, with your timezone.
- The message ID, if you sent it with the API.
- What you expected and what happened instead.

[Contact support](https://enfonica.com/contact-support?article=%2Fhelp%2Fsms%2Fsms-in-3cx&topic=sms)

## Related

- [Connect 3CX to Cloud SIP](https://enfonica.com/help/3cx/connect-3cx-cloud-sip.md)
- [Register an alphanumeric sender ID for SMS in Australia](https://enfonica.com/help/sender-ids/register-alphanumeric-sender-id.md)
- [An SMS wasn't delivered, or arrived late](https://enfonica.com/help/sms/sms-not-delivered.md)
- [Why is my SMS billed as more than one message?](https://enfonica.com/help/sms/message-segments.md)
- [Message webhooks (docs)](https://enfonica.com/docs/cloud-sms/webhooks/)

---

Web version: https://enfonica.com/help/sms/sms-in-3cx
