Skip to main content
A number group is a named set of your phone numbers, for example “Chennai mobiles”. Send a campaign’s did_group_ids and the campaign dials only from the numbers in those groups. You create and edit groups in the app, under Settings → Number groups. The API only reads groups: use it to find group ids and to see which numbers can dial right now.

How a group campaign picks a number

  • It uses only the numbers in its groups. It never uses your other numbers — not even when no number in the groups can dial.
  • Several groups work as one list. A number in two groups counts once.
  • A number that is resting, warming or retired stays in its group but is not used. When it is active again, the campaign uses it again by itself. You do not need to do anything.
  • A change to a group (a number added or removed) applies from the next call. No restart is needed.
  • Your number rules (a new number for each attempt, the same number after a contact) still work, but only inside the group’s numbers.
A campaign uses either one fixed number (caller_id) or number groups (did_group_ids), never both. Sending both returns 422. Without either, the campaign uses all of your numbers.

When no number in the groups can dial

The campaign waits. It does not borrow another of your numbers.
  • At start: POST /api/v1/campaigns/{id}/start returns 409 with the reason, for example “Every number in this campaign’s groups is RESTING…”.
  • While running: the campaign stays running but places no calls. Leads stay pending. The campaign’s caller_id_block field shows the reason (it is null again once the campaign can dial).
  • Email: after about 2 minutes of waiting, the person who created the campaign, your tenant admins and the people listed in Settings → Alerts get one email. When the campaign can dial again, they get one “dialling again” email. (If you pause or stop the campaign instead, no “dialling again” email is sent.) A campaign created with an API key has no creator, so the creator email is skipped.
  • Running low: a running group campaign with only one number left that can dial, or with all its numbers close to their daily limit, sends one warning email per day.
  • Turn these emails off for one campaign with alert_caller_id_blocked: false, or for all campaigns in Settings → Alerts → No usable caller ID.

Reasons


List number groups

Returns all of your number groups, sorted by name.
Scope: campaigns:read  |  Status: 200 OK

Response


Get a number group

Returns one group with its numbers and the live state of each number.
Scope: campaigns:read  |  Status: 200 OK Returns 404 if the group does not exist or belongs to another tenant.

Response

The same fields as in the list, plus members:

why_not values

New values may be added later. Treat an unknown value as “cannot dial”.

Use groups on a campaign

Send the group ids as did_group_ids when you create or update a campaign (up to 20 groups).
  • To go back to all of your numbers, update with "did_group_ids": [].
  • To move a campaign from one fixed number to groups, send "caller_id": null and the did_group_ids in the same update.
  • Pause a running campaign before you update it (see Campaigns CRUD). You do not need to pause it to change the numbers inside a group.
See Campaigns CRUD for all campaign fields.

Errors