SMS
Use SMS for reminders, pickup alerts, and other messages that need to reach a phone number. SavaraFlow quotes the destination and segment count before a live send.
Explore SMSWorkspace capability
Upload a CSV, choose the right phone or email column, and review duplicates, invalid entries, and the batch quote before committing wallet credit.
CSV bulk sending
Send one message to a list without a campaign or any code. Upload a CSV, clean it in your browser, see the price, and send up to 250 recipients in a single reserved batch.
Your file is parsed locally. Choose the phone, WhatsApp or email column and the rows are checked instantly.
Repeated numbers are merged, local numbers are completed with your country code, and anything invalid is set aside.
See the full cost for every recipient before you send, including SMS segments.
The whole batch is reserved in one step. If the balance is short, nothing is sent.
Quote and send the same batch from your server with a recipients array instead of a single address.
Every recipient gets its own message ID and status in the delivery logs.
Try it
Use the sample or drop in your own CSV. Nothing leaves this page.
| # | name | phone | Sends to | Check |
|---|---|---|---|---|
| 2 | Amina Nakato | +256 772 481 630 | +256772481630 | Valid |
| 3 | Brian Mwangi | 0701 554 210 | +256701554210 | Valid |
| 4 | Grace Nansubuga | +256701100204 | +256701100204 | Valid |
| 5 | Joseph Kato | +256 772 481 630 | +256772481630 | Duplicate |
| 6 | Sarah Akello | ask at counter | — | Invalid |
| 7 | Daniel Okello | +256 752 908 113 | +256752908113 | Valid |
| 8 | Lydia Namara | +256 772 100 208 | +256772100208 | Valid |
Local numbers are completed with +256, duplicates are merged and anything that isn’t a phone number is set aside. Your file never leaves this page.
CSV bulk sending setup
Include a header row and a phone or email column. Use international phone numbers for SMS and WhatsApp.
Choose the recipient column and remove invalid or duplicate recipients. Confirm permission for every recipient you keep.
Review the selected channel, sender, template where required, and price. Direct bulk requests support up to 250 unique recipients per batch.
The API reserves the full quote and queues the batch in one transaction. Keep the returned message IDs to track each send.
request.sh1curl -X POST "$SAVARA_HOST/api/v1/bulk/messages" \
2 -H "Authorization: Bearer $SAVARA_API_KEY" \
3 -H "Content-Type: application/json" \
4 -H "Idempotency-Key: $(uuidgen)" \
5 -d '{
6 "channel": "Email",
7 "recipients": [
8 "amina@example.com",
9 "john@example.com"
10 ],
11 "subject": "Pickup hours this week",
12 "body": "Pickup is open from 9 am to 6 pm.",
13 "consent": true
14 }'
Send a scoped key from your server and a stable Idempotency-Key for each distinct send. API reference
Specifications
The exact rules your messages follow, so there are no surprises in production.
Use cases
Use POST /api/v1/bulk/quotes and POST /api/v1/bulk/messages. Replace the direct to field with a recipients array.
The API can reject the batch when a recipient, quote, or balance changes. Resolve the problem and obtain a fresh quote before submitting a new request.
Split it into batches of 250, or use a campaign for larger audiences with a spending cap.
The file is read in your browser. Only the recipients you choose to send to are submitted with the batch.
The batch is rejected so nothing partial goes out. Fix the row, request a fresh quote and submit again.
Use SMS for reminders, pickup alerts, and other messages that need to reach a phone number. SavaraFlow quotes the destination and segment count before a live send.
Explore SMSConnect your Meta business number, send approved templates, and manage customer replies in SavaraFlow’s team inbox.
Explore WhatsAppUse SavaraMail to send receipts, account notices, and other transactional emails. Set a recognizable From name and address for your business.
Explore EmailEstimate your usage, then use the live quote for your workspace and destination.