Overview
Gravity SMS is a multi-tenant REST API that enables organizations to send and receive SMS messages through their RingCentral accounts. Each tenant connects their own RingCentral account, registers one or more apps, and interacts with the gateway using API keys.
Who is this for
Developers building applications that need programmatic SMS capabilities. Common use cases include CRM integrations, appointment reminders, notification services, and Power Automate flows.
How it works
The gateway sits between your application and RingCentral. Instead of integrating directly with the RingCentral SDK, your app sends simple REST requests to the gateway.
- Create a tenant — An admin creates a tenant representing your organization.
- Connect RingCentral — The tenant authorizes the gateway to use their RingCentral account via OAuth.
- Register an app — Register your application and receive an API key.
- Send and receive SMS — Use the REST API to send messages. Receive inbound SMS via webhooks or WebSocket.
Capabilities
REST API
Send SMS, check delivery status, query message history, manage apps and tenants.
WebSocket
Real-time delivery status updates and inbound SMS notifications over a persistent connection.
Webhook delivery
Inbound SMS messages are forwarded to your app via HTTP POST to a URL you configure.
Multi-tenancy
Each tenant has isolated data, credentials, and phone numbers. Multiple apps per tenant.
Architecture
The gateway is built on Hono (Node.js) with MongoDB for persistence, Redis for caching and rate limiting, and BullMQ for asynchronous message delivery. Outbound SMS requests are queued and processed with automatic retries and per-phone rate limiting.
Related docs
- Quickstart — Send your first SMS in 5 steps
- Authentication — API key format and roles
- Connecting RingCentral — OAuth setup walkthrough