HTTP RECIPE
Zapier
Gravity SMS works with Zapier today via Webhooks by Zapier (Premium). A native Zapier app is on the roadmap; until then this recipe is the fastest path.
Premium Zapier action required
Webhooks by Zapier is a Zapier built-in but is restricted to paid Zapier plans. The action and trigger below both rely on it.
Prerequisites
- A Gravity SMS API key from your dashboard.
- A connected RingCentral account — Connecting RingCentral.
- A Zapier plan that includes Webhooks by Zapier.
Send an SMS from a Zap
Use Webhooks by Zapier → POST as an action step.
| Field | Value |
|---|---|
| URL | https://smsgateway-api.onrender.com/v1/sms/send |
| Payload Type | json |
Data — to | Recipient phone, E.164 (e.g. +14155551234) — usually mapped from your trigger step |
Data — from | One of your RingCentral SMS-enabled numbers, E.164 |
Data — body | Message text, 1–1600 characters. Use Zapier's variable picker to insert fields from the trigger. |
| Headers | Authorization: Bearer YOUR_API_KEY |
| Headers | Content-Type: application/json |
Gravity SMS replies with HTTP 202 and a JSON body. The messageId from the response is available as an output field for later Zap steps.
Successful response Zapier will show
{"messageId": "msg_a1b2c3d4e5f6","status": "queued"}
Trigger a Zap on inbound SMS
Use Webhooks by Zapier → Catch Hook as the trigger step.
- Create a new Zap. Pick Webhooks by Zapier → Catch Hook as the trigger.
- Zapier shows you a unique webhook URL. Copy it.
- In your Gravity SMS dashboard, edit your app and paste the URL into Webhook URL. Save.
- Send a test SMS from another phone to one of your RingCentral numbers. Back in Zapier, click Test trigger. The sample payload appears.
- Build the rest of the Zap (downstream actions) using the fields below.
Payload Zapier receives
Inbound SMS payload
{"type": "sms_inbound","messageId": "msg_a1b2c3d4e5f6","from": "+15551234567","to": "+15559876543","body": "Reply text from your customer","rcMessageId": "12345678","tenantId": "tenant_abc123def456abcd","timestamp": "2026-05-11T14:30:00.000Z","receivingExtensionId": "12345678"}
Common gotchas
- Bearer prefix. The Authorization header is
Bearer sgw_..., not the bare key. - Phone format. Both
toandfrommust be E.164 — leading+and country code. Zapier's Formatter has a Phone Number transform if your source data is in another format. - Body length. Max 1600 characters. Zapier doesn't enforce this, but the gateway will reject with a 400.
- Webhook reuse. Each Catch Hook URL can only be the destination for one app. To route inbound to multiple Zaps, point your app at one Zap that fans out (or build a simple multi-Zap routing intermediary).
Consent (TCPA / similar) is your responsibility
"Send SMS on every new row" patterns are how unsuspecting users send unconsented bulk SMS. Verify each recipient has opted in before your Zap sends. The Terms of Service cover this; the law also covers it.
Related
- Zapier landing page — why it's useful
- Generic Webhook Recipe — the underlying pattern
- SMS API Reference