GoHighLevel texts sending from the wrong number

Short answer
GoHighLevel chooses the number a text goes from in order: a number picked for that message, then the number assigned to the sending user, then the number already used in that conversation, then the account's default. A workflow's From number overrides the user's and the conversation's. Texts go from the wrong number when an old conversation is tied to a previous number, the user has a different number, the workflow's From number is blank, or the chosen number can't text.
How to fix it
- See which number sent it. Hover over the text, open its ⋮ menu and choose Details.
- Change it for one conversation. In Conversations, open the contact, choose SMS and pick the From number. Old conversations stay on the previous number until you change it.
- Check the user's number. Settings > My Staff (or Users) > edit the user > Call & Voicemail Settings. Only one user can hold an LC number at a time.
- Set the workflow's number. Workflow Settings > Sender Details > From number applies to every text in that workflow; the Send SMS step has its own From Number too.
- Check the default number. The default outbound number is the fallback, and HighLevel falls back to it when the assigned number can't text.
- Make sure it can text. The number has to support SMS and be registered: A2P 10DLC, or toll-free verification.
How to find the cause
Open the text's Details (the ⋮ menu on the message) to see the exact number it went from. Then match that number to the rule in HighLevel's order that picked it.
| The number it went from | Why HighLevel picked it | What to do |
|---|---|---|
| The sending user's own number | Nobody chose a number for that message, so the user's assigned number won | Pick the From number in the composer, or change the user's Inbound Number under Settings > My Staff > Edit > Call & Voicemail Settings |
| An older number the contact texted before | The conversation stays on the number it's already using | Pick the new number from the From dropdown in that conversation |
| Your default number, when you expected another | The number you expected can't send SMS, so HighLevel fell back to the default | Check that number can text and has the A2P Verified label |
| A different number from each workflow | Each workflow's Sender Details, or each Send SMS step's From Number, sets its own | Set the From number in every workflow that texts customers |
| Missed call texts from a number they didn't call | Missed Call Text Back uses the dialed number only if it can text; otherwise the last number that messaged the contact, then the default | Make the dialed number SMS-capable and registered |
| A number you don't recognize, or one from another location | The number may be assigned to a different HighLevel location, or left over from before a move | Check it's provisioned in this location's phone system, and re-select the right number wherever it's used |
If sending fails with an error saying the From number isn't SMS-capable, HighLevel lists the usual reasons: the number is voice-only, it belongs to a different location, it isn't linked to an approved A2P campaign, or it was recently moved and old settings still point at it. After a move, re-select the number in Conversations, campaigns and workflows.
Only one user can hold an LC number at a time. If several staff share one line, HighLevel points you to the number's own settings under Phone System for call routing rather than assigning it to each user; for texts, set the From number in the workflow or the conversation.
How to confirm it's fixed
- Test as each user who texts. Have each one send a text to your own phone from Conversations without touching the From dropdown. Details on each message should show the number you expect for that user.
- Run each texting workflow once. Add a test contact with your own phone and trigger the workflow. Details on the message should show the workflow's From number.
- Reply from your phone. The reply should land in the same conversation in HighLevel, and your next text from there should go out from the same number.
- Check your phone's message list. All the test texts should sit in one thread from one number. Two threads mean two numbers are still sending.
- Test a missed call. If you use Missed Call Text Back, call each of your numbers, let it ring out, and check the text comes from the number you called.
Where this shows up in GoHighLevel
- A message's Details, from the ⋮ menu when you hover over it: the exact number that sent it.
- The From dropdown in the Conversations composer: admins see every number in the account; other users see the default, last-used, their own and unassigned numbers.
- Settings > My Staff > Edit > Call & Voicemail Settings > Inbound Number: the number assigned to each user.
- A workflow's Settings tab > Sender Details > From number, and the From Number on each Send SMS step, which takes priority for that message.
- Settings > Phone System > Phone Numbers: whether each number can send messages, and the green A2P Verified label on local numbers linked to an approved campaign.
- Settings > Phone System > Voice > Voicemail & Missed Call Text Back: the missed call text, which follows its own number order.
Common questions
- Why did a customer get texts from two numbers?
- Different users, workflows or the default sent them. Set the workflow's From number and the user assignments.
- Can staff choose any number?
- HighLevel says regular users see the default, last-used, their own and unassigned numbers.
More texting fixes
GoHighLevel SMS error 30007: why carriers filter your texts
The carrier blocked the text as likely spam. Usually a public link shortener, missing opt-out wording or weak consent.
GoHighLevel error 30034: texts fail from an unregistered number
Your US number isn't linked to an approved A2P 10DLC campaign yet. Register in Trust Center, then wait up to 24 hours.
GoHighLevel SMS error 30003: the phone couldn't be reached
The carrier couldn't reach the phone: off, no signal, or not able to take texts. It also turns on SMS DND for that contact.
A2P 10DLC campaign rejected in GoHighLevel: what to fix
The usual reasons: opt-in wording, a privacy policy that doesn't cover mobile data, sample messages, or the website.
GoHighLevel: a contact isn't getting your texts
Usually DND is on for that contact, or they replied STOP. You can't override a STOP; they have to text START.
GoHighLevel texts with links getting blocked
Public link shorteners get texts filtered. Use the full link or a short link on your own domain, with no more than one redirect.
GoHighLevel MMS or images not sending
Usually the image is too big for the carrier, the file type isn't supported, or the recipient is outside the US and Canada.
GoHighLevel SMS opt-out keywords: STOP, START and HELP
STOP, STOPALL, CANCEL, UNSUBSCRIBE, END or QUIT opt a contact out. START, YES or UNSTOP opt them back in; toll-free only takes START or UNSTOP.
Related fixes
GoHighLevel sending duplicate text messages
Usually two triggers firing on one event, re-entry left on, or the same person saved as two contacts.
Read the fix
Want GoHighLevel set up and running for you?
Book a free 15-minute call. Tell us what you sell and where your leads come from, new account or the one you have, and we'll tell you what we'd set up, how long it takes and what it costs.