Key Takeaways
- GoHighLevel order/pipeline alerts through an Android SMS gateway are a webhook or custom action that calls POST /messages — not a plugin we ship.
- Confirm live JSON in Developer Center. GHL’s own docs own their side of the wire.
- HTTP 200 from our API is accepted. Stage changes in GHL should wait on DLR if “shipped” must mean delivered.
- Idempotency-Key from opportunity/order id stops workflow retries from double-texting.
- You bring the phone and operator credit. Platform pricing is devices plus send volume.
GHL is the CRM; the SIM is the radio
Stage “Won” or “Packed” should text a number the customer already saved. GoHighLevel holds the pipeline. The Android SIM sends. Transactional SMS. GHL’s product docs: help.gohighlevel.com. Our live contract: Developer Center.
We meter devices and volume. A GHL workflow does not include operator packs. Starter, Professional, and Business list Unlimited SMS as platform send volume; that is not unmetered carrier SMS.
REST / webhook pattern
Typical: GHL workflow custom webhook → your tiny worker → POST /api/v1/messages with Bearer from env. Or GHL inbound webhook from our DLR events to advance a stage. Do not put API keys in GHL browser fields if they leak to every agency user.
“If the workflow retries every stage change, the customer should not get three ‘your order shipped’ texts. Key the send on the opportunity id.”
Pipeline-alert failures
| Symptom | Likely cause | First check |
|---|---|---|
| Duplicate SMS on one deal | Workflow retry, no idempotency | Idempotency-Key = opportunity + event |
| Stage moved, no text | Worker 4xx / empty load / last-seen | Device health |
| CRM says sent, customer empty | Mapped accept to delivered | DLR |
| OTP delayed during a blast | Same device as pipeline marketing | Named OTP vs alerts pools |
| Wrong From | Agency sub-account sharing a SIM | One tenant, one device set |
Idempotency on opportunity id
GHL automations fire more than once. Persist gateway message ids on the contact. Hub: Android SMS gateway API. Setup: pairing.
Do not share the OTP phone
Pipeline “nurture” is a campaign. Isolate OTP. Pricing.
Next steps
Canary one test opportunity to a staff SIM. Confirm delivered webhook before you wire every stage. Operator credit stays yours.
Related product pages
Jump to the live product docs for this topic—not another long-form article.
- SMS API documentationLive endpoint reference
- device and SMS volume pricingPlans and allowances
- transactional SMS for orders and alertsEvent-driven messages
- Android SMS gateway product guideDefinition, product, and how to buy





