Now inviting stores. Join the waitlist to hear the agent call you.

Join the waitlist

Search the docs

Find a docs page

API reference

Start a call

Call one shopper from the dashboard, queue calls to a list of contacts, or start calls from your store with the API.

At the end: a run for each shopper you chose, queued to go out inside calling hours with the flow's published version, and shown on the Calls page as it rings.

Every call is a run: one published flow for one shopper. A run places up to the flow's Tries per shopper calls and ends with the shopper's answers and an outcome. Starting runs needs the Operator, Admin or Owner role, or an API key with the runs scope.

Before any call, RowCall checks the shopper's consent for the flow's call type, any opt-out, and the flow's required inputs. See Consent records.

Call one shopper

  1. Open New call

    On Calls, choose New call. From a flow's page, Call a shopper opens the same form with that flow picked.

  2. Pick the flow

    Under Flow, pick a published one.
  3. Pick the shopper

    Under Shopper, search your contacts by name or number, or type a new number. A contact who opted out is marked Opted out, and RowCall won't call them.

  4. Fill in the details

    Under Details for this call, the flow's inputs, such as the order number. Fields the contact already has (from an import) are filled in. For a transactional flow, Order placed at (optional) allows the call within 30 minutes of the purchase.

  5. Choose Call now

    You'll see The call is queued and goes out shortly.

Call a list of contacts

  1. Import or pick the contacts

    On Contacts, choose Import contacts to bring in a CSV: map the Phone number, Name and Language columns, keep any others as fields, and record their Consent. Rows without consent are imported but can't be called yet.

  2. Select them

    Tick the contacts to call, then choose Call N contacts.
  3. Pick the flow and fill the rest

    Pick a published Flow. Each contact's own fields fill the inputs of the same name; type the rest once for everyone. Give the batch a Name (optional), such as "COD orders, Monday".

  4. Choose Queue the calls

    The batch appears on Calls with its progress. Pause, Resume or Cancel it there.

Start calls from your store

POST /v1/runs, then the run goes scheduled → dialing → done, and run.completed reaches your webhook.

Most stores start runs automatically when something happens, like an order placed or a payment failed: one POST /v1/runs per shopper, with an Idempotency-Key so a retry never calls twice.

{
  "flowKey": "order_verification",
  "phone": "+919812345678",
  "inputs": {
    "order_id": "4821",
    "items": "a pair of running shoes",
    "order_total": "2499",
    "address": "12 MG Road, Pune"
  },
  "transactionAt": "2026-10-13T09:20:00+05:30"
}

Follow it with GET /v1/runs/{runId}, or better, listen for run.completed. The developer guide walks through it end to end. Stores on Glood don't need any of this: see Glood.

When a call won't be placed

A run is refused, and nothing is created, when the shopper opted out, has no consent for the call type, a required input is missing, or (with whenClosed: "refuse") it's outside calling hours. By default a run outside calling hours waits for them to open. Every reason has a code: see Errors.

Next stepSchedule and retry

When calls go out and how often a shopper is tried.