Dialer

Dial Next Batch

*** CALLS REAL PEOPLE. *** This is the operation that dials.

Voice's own words for this handler are "the one-and-only dial path for BE-owned queue sessions" (dialer_sessions.py:2272). It picks the next contacts off the queue and places outbound calls to them, transitioning the session DRAFT -> ACTIVE or PAUSED -> ACTIVE on the way.

parallel_count is HOW MANY PEOPLE ARE CALLED AT ONCE. Sending it with a session configured for one is how a power-dial becomes a parallel dial.

Each attempt reserves credits and each connected minute charges more, so this both spends money and reaches strangers. It is tiered external rather than write for exactly that reason: "dial the next twenty people" must not be grantable by the same scope as "rename a session".

filter_spec sent here CHANGES WHO IS ELIGIBLE before the batch is picked. It is not a display filter.

post/dialer/sessions/{session_id}/next-batch

Request

  • Base URL: https://be.graph8.com/api/v1
  • URL: https://be.graph8.com/api/v1/dialer/sessions/{session_id}/next-batch
  • Auth: HTTP bearer

Path parameters

session_idstring required

Session to dial.

Headers

Authorizationstring nullable
X-Target-Org-Idstring nullable

Request body

previous_batch_idstring nullable
from_phonestring nullable
from_phone_scopestring nullable
user_emailstring nullable
agent_idstring nullable
entity_typestring nullable
parallel_countinteger nullable
dialing_mode'power' | 'parallel' nullable
campaign_idstring nullable
campaign_builder_campaign_idstring nullable
resume_intentboolean

Response

Successful Response

dataDialerPayload required

An open envelope for one dialer result.

Open because voice owns the shape of a session, a call stub and a queue stat, and it grows them without a contract bump here. A dropped field would otherwise turn an added upstream field into a removed public one.

Changes

No recorded changes to this operation across all 2 revisions of this API.