Graine AI

Concurrency

How many calls your account runs at once, how many numbers ring beside them, what happens to calls beyond that, how your lines are shared between campaigns and agents, and where to see your limit.

Concurrency is how many calls your account has in conversation at the same time. Each answered call holds one line, from the moment it is answered until it has ended and its result is recorded — so a three-minute conversation holds its line for three minutes. Calls that are still ringing don't hold a line: Graine rings more numbers than you have free lines, so your lines fill with people who picked up. Your line limit is what decides how fast a campaign works through its list.

Your line limit

AccountLines
New account100 conversations at once. Calls placed one at a time — from the API, a workflow or a test call — run up to 3 at once per agent while no campaign is dialling. A campaign can use all 100.
EnterpriseSet by Graine to fit your volumes and your phone numbers, and raised on request.
Sub-accountsEach has a limit of its own, set by your Admins on the Sub-accounts page, up to your organization's own limit. See Sub-accounts.
Inbound callsNever refused and never queued. They use lines too, so while many inbound calls are live, fewer outbound calls start.

Calls ringing beside your lines

Most numbers don't answer: some are busy, some ring out, some are switched off. So Graine rings more numbers than you have free lines — the fewer of your calls are answered, the more numbers ring for each free line:

  • It looks at your calls from the last two hours. If 1 in 4 was answered, about 4 numbers ring for each free line.
  • It rings at least 1.2 and at most 6 numbers for each free line. Until your account has made 50 calls in the last two hours, it rings 2.
  • While every line is in conversation, no new numbers ring. Ringing starts again as soon as a line frees.
  • Every call that's answered is connected — nobody who picks up is hung up on — even when that briefly puts you over your limit.

Ringing calls are shared between your campaigns the same way as your lines (below), and a campaign's own Lines setting caps its ringing calls in the same proportion.

Calls over your limit wait their turn

A call that doesn't fit your limit is queued, not refused, and dials as soon as a line frees. Waiting never uses up one of a contact's tries.

  • Campaigns. Contacts wait in the campaign's queue and are called as lines free. A list of 50,000 contacts on a 20-line account runs from start to finish — it simply paces itself.
  • Calls placed one at a time — from the API, a workflow or a dashboard test call — wait in their own queue and go ahead of campaign dials, so a busy campaign never holds them back. Campaigns always keep at least a fifth of your lines. Through the API, such a call is answered 202 with reason: "waiting_for_a_free_line"; don't send it again.

Queued calls still respect calling hours: a call that is waiting when the hours close dials when they open again.

How your lines are shared

Your limit is one pool, shared by everything your account is calling.

Between campaigns. Every campaign with contacts ready to call is guaranteed an equal share of the pool, and an equal share of the numbers ringing. A campaign can also borrow what no other campaign needs, so a campaign running alone uses the whole pool. Nothing is cut off mid-call to rebalance: as calls end, new lines go where they are owed.

Your limit is 40, and…Campaign ACampaign B
both have plenty of contacts ready2020
B has only 5 contacts ready355
B is paused, or has finished40—

Between agents. While campaigns are dialling, your limit is split evenly across the agents whose campaigns have contacts ready. Each of those agents may use its share, or its per-agent limit if that is larger, and your account limit always caps the total. One campaign on one agent can use your whole limit.

Your own cap on a campaign. To keep a campaign below your account limit, set Lines in the campaign's settings. It caps the campaign's conversations, and the numbers it rings in proportion. A cap can only lower what a campaign uses — it never takes lines from another campaign or raises one past your account's limit.

Each phone network is paced on its own

Your numbers can be on different phone networks — the provider behind each number — and Graine watches each one separately. When a network starts turning calls away because it can't take them that fast, Graine slows dialling on that network only, finds the pace it accepts, and brings the pace back up on its own as soon as the network keeps up again — usually within a few minutes.

  • One network's trouble doesn't hold up the others. Campaigns calling through your other networks keep dialling at your usual pace, and can use the lines the slowed network leaves free.
  • A campaign with numbers on more than one network dials through the one with room while the other is slowed.
  • Waiting costs nothing. A call held back for its network's pace goes back to the queue; it isn't one of the contact's tries.

While a campaign is held back this way, its page says "Limited by the pace the phone network is accepting right now."

Your limit is 40, and…Campaign A — network 1Campaign B — network 2
both networks are taking calls2020
network 1 turns calls away for pacewhat network 1 acceptsthe lines A leaves free, too
network 1 keeps up againback to 2020

When the phone network turns a call away

Now and then the phone network turns a call away the moment it is placed, before it rings — for example when it won't take calls that fast just then. Nobody's phone rang, so it isn't counted: the contact goes back to the queue without using up one of its tries (up to three times for each contact). A network turning calls away because they come too fast doesn't count towards those three — that is about the pace, not the number. A call that rings and gets a busy signal or no answer is a real try, and is retried by the campaign's retry settings.

More lines only help if your phone numbers can carry them. When you ask for a higher limit, we check that your numbers can take the extra calls, so the increase turns into more conversations rather than more turned-away calls.

How to see your lines

Billing shows Calls at once — your account's limit, with the per-agent limit next to it.

A running campaign's page shows Calling now — how many of your lines it has in conversation, each call in progress, and what is limiting it right now, for example "Limited by the organisation limit."

Through the API, GET /v2/user/me returns your limits and the calls in conversation right now under concurrency — see Rate limits & concurrency.

Getting more lines

Choose Talk to us in the dashboard's sidebar. Graine raises your limit with nothing to change on your side, and the new limit applies within a minute — including to campaigns already running.

On this page