Savaraflow
Open console
← Platform

Workspace capability

Review a recipient list before sending it.

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

What you get with 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.

  • Read in your browser

    Your file is parsed locally. Choose the phone, WhatsApp or email column and the rows are checked instantly.

  • Duplicates merged

    Repeated numbers are merged, local numbers are completed with your country code, and anything invalid is set aside.

  • One price for the batch

    See the full cost for every recipient before you send, including SMS segments.

  • All or nothing

    The whole batch is reserved in one step. If the balance is short, nothing is sent.

  • Also in the API

    Quote and send the same batch from your server with a recipients array instead of a single address.

  • Tracked per recipient

    Every recipient gets its own message ID and status in the delivery logs.

Try it

Try it with a sample list

Use the sample or drop in your own CSV. Nothing leaves this page.

pickup-list.csv
#namephoneSends toCheck
2Amina Nakato+256 772 481 630+256772481630 Valid
3Brian Mwangi0701 554 210+256701554210 Valid
4Grace Nansubuga+256701100204+256701100204 Valid
5Joseph Kato+256 772 481 630+256772481630 Duplicate
6Sarah Akelloask at counter— Invalid
7Daniel Okello+256 752 908 113+256752908113 Valid
8Lydia 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.

Rows read
7
Will send
5
Duplicates
1
Invalid
1
Batch estimate · 1 SMS segment each$0.205 × $0.0392

CSV bulk sending setup

How it works

  1. Prepare the list

    Include a header row and a phone or email column. Use international phone numbers for SMS and WhatsApp.

  2. Review imported rows

    Choose the recipient column and remove invalid or duplicate recipients. Confirm permission for every recipient you keep.

  3. Quote the batch

    Review the selected channel, sender, template where required, and price. Direct bulk requests support up to 250 unique recipients per batch.

  4. Queue and monitor

    The API reserves the full quote and queues the batch in one transaction. Keep the returned message IDs to track each send.

request.sh
curl -X POST "$SAVARA_HOST/api/v1/bulk/messages" \
  -H "Authorization: Bearer $SAVARA_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
    "channel": "Email",
    "recipients": [
      "amina@example.com",
      "john@example.com"
    ],
    "subject": "Pickup hours this week",
    "body": "Pickup is open from 9 am to 6 pm.",
    "consent": true
  }'

Send a scoped key from your server and a stable Idempotency-Key for each distinct send. API reference

Specifications

Limits and details

The exact rules your messages follow, so there are no surprises in production.

Batch size
Up to 250 unique recipients
File
CSV with a header row
Channels
SMS, WhatsApp template or Email, one channel per batch
Local numbers
Completed with the country code you enter
API
POST /api/v1/bulk/quotes and /api/v1/bulk/messages
Charging
Full quote reserved atomically before queueing

Use cases

Where teams use CSV bulk sending

Questions about CSV bulk sending

Can I send a batch through the API?

Use POST /api/v1/bulk/quotes and POST /api/v1/bulk/messages. Replace the direct to field with a recipients array.

What if a row becomes ineligible?

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.

What if my list has more than 250 people?

Split it into batches of 250, or use a campaign for larger audiences with a spending cap.

Does my file get uploaded?

The file is read in your browser. Only the recipients you choose to send to are submitted with the batch.

What if a row becomes ineligible before sending?

The batch is rejected so nothing partial goes out. Fix the row, request a fresh quote and submit again.

Explore related tools

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 SMS

WhatsApp

Connect your Meta business number, send approved templates, and manage customer replies in SavaraFlow’s team inbox.

Explore WhatsApp

Email

Use SavaraMail to send receipts, account notices, and other transactional emails. Set a recognizable From name and address for your business.

Explore Email

Check the cost before you send.

Estimate your usage, then use the live quote for your workspace and destination.

Open the pricing calculator

Choose what SavaraFlow can save on this device. You can change your choice here at any time.