> ## Documentation Index
> Fetch the complete documentation index at: https://docs.voxworks.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch Screening Gates

> How batch contacts are screened against the Do Not Call Register, opt-outs and prior call history before dialling — including fail-closed behaviour, re-check timing and the Screen action.

## What are screening gates?

Screening gates are pre-dial checks that stand between a batch's queue and the dialler. Before a queued contact is called, it must pass every gate you have enabled for the batch; a contact that fails any gate is blocked from dialling and stays in the queue with a visible verdict instead of being called.

Three gates are available on every batch, configured on the **Screening gates** card under **Calling rules** in the batch's **Settings** tab. As the card puts it: *"Contacts that fail an enabled screening gate are blocked from dialling."*

Screening is deliberately **fail-closed**: only contacts with a confirmed **Clear** verdict are dialled. If a check cannot complete — for example the register can't be reached, or a phone number can't be resolved — the contact is held with an **Error** verdict rather than risked. A held contact is never silently dropped; it remains in the queue and is re-screened automatically.

***

## The three gates

| Gate                  | What it does                                                                         | Default |
| --------------------- | ------------------------------------------------------------------------------------ | ------- |
| **DNCR**              | Blocks numbers listed on the ACMA Do Not Call Register.                              | On      |
| **Opt-out**           | Blocks contacts who opted out on a previous call.                                    | On      |
| **Previously called** | Blocks contacts who already have a call record (this batch's own attempts excluded). | Off     |

Each gate is an independent switch, so you can run any combination. A footnote on the card notes that other custom screening gates are available upon request — speak to the Voxworks team if your campaign needs a bespoke check.

### DNCR

Washes each contact's number against the Australian Do Not Call Register:

* **Listed** on the register → **Blocked**.
* **Not listed** → **Clear**.
* **Indeterminate** result from the register → **Error** (held, fail-closed).
* **No usable number**, or no answer from the register → **Error** (held, fail-closed).

Numbers washed within the last 30 days reuse the cached wash result rather than querying the register again, so re-screening a large queue is fast and doesn't repeat register lookups. For wash results, badges and contact-level overrides, see [DNCR Washing](/contacts/dncr-washing).

### Opt-out

Blocks any contact flagged as opted out. The opt-out flag is set automatically when post-call analysis detects that a contact asked not to be called again on an earlier call — see [Opt-Outs](/contacts/opt-outs) for how the flag is applied and managed.

### Previously called

Blocks contacts who already have a dialled call on record — from any other batch, a one-off outbound call, or an inbound call. Two exclusions keep this gate practical:

* **Calls that never dialled don't count.** A call that was only ever scheduled, queued or cancelled is not treated as prior contact.
* **The batch's own attempts don't count.** Retry attempts within the same batch never block themselves.

This gate is off by default; switch it on for campaigns that must only ever reach fresh contacts.

***

## How verdicts work (fail-closed semantics)

Every queue item carries a single consolidated screening verdict, shown in the **Screen** column of the batch's **Queue** tab:

| Verdict     | Meaning                                                                                                               | Dials?                        |
| ----------- | --------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| **Pending** | Newly queued; not yet screened. New queue items start here while screening is active, so nothing launches unscreened. | No — held until screened      |
| **Clear**   | Passed every enabled gate.                                                                                            | Yes                           |
| **Blocked** | Failed at least one gate (on the register, opted out, or previously called).                                          | No                            |
| **Error**   | A gate could not complete its check.                                                                                  | No — held, then re-checked    |
| **Unknown** | No verdict recorded yet.                                                                                              | No — screened before dialling |

The rules behind the column:

* **Only Clear dials.** The launch step releases a call only when the contact's verdict is Clear. Every other verdict holds the item, with no exceptions.
* **Worst verdict wins.** When several gates run, the most severe result is kept: Error outranks Blocked, which outranks Clear. One failed check is enough to hold a contact.
* **Errors fail closed.** An outage or lookup failure produces Error, not Clear — a contact is never dialled because a compliance check happened to be unavailable.
* **Held items aren't cancelled.** Blocked and Error items keep their place in the queue; they simply don't dial while the verdict stands.

***

## When screening runs

Screening is part of the scheduler's continuous background work — you don't need to trigger it.

* **Lookahead.** Queue items are screened automatically in the window leading up to their scheduled call time (two hours ahead by default), so verdicts are fresh when the call is due rather than checked once at launch and left to go stale over a long campaign.
* **Verdict lifetime (TTL).** Clear and Blocked verdicts stay valid for 30 days by default. Once a verdict is older than that, the contact is re-screened before any further dialling. This works in both directions: a Clear contact who has since joined the register or opted out is caught, and a Blocked contact whose situation has changed — for example a number removed from the register — flows back into the schedule after the re-check.
* **Pending, Error and Unknown always re-screen.** These verdicts are retried automatically on each screening pass until a definitive Clear or Blocked result lands.
* **Retries are re-screened.** Each automatic retry attempt (see [Batch Calling Rules & Retries](/batches/calling-rules)) enters the queue as Pending and passes through screening again before it dials, with the 30-day wash cache keeping repeat DNCR checks cheap.

The lookahead window and verdict lifetime are platform defaults with no in-app controls. Speak to the Voxworks team for further custom configuration.

***

## Screening on demand: the Screen button

You can screen contacts manually at any time from the batch's **Queue** tab: select the contacts you want to check and click **Screen** (the button reads **Screening…** while it runs). This runs every gate currently enabled on the batch's Screening gates card against the selected contacts and writes their verdicts immediately.

* If nothing is selected, you're prompted to *"Select contacts to screen"*.
* When it finishes, a toast summarises the result — for example *"Screened 40 contacts — all clear"*, *"Screened 40 contacts — 3 blocked"*, or *"Screened 40 contacts — 3 blocked, 2 could not be verified"* when some checks errored.
* After a manual screen, the batch replans automatically so newly-cleared contacts move back into the calling schedule without waiting for the next background pass.

Manual screening uses exactly the same gates, verdicts and fail-closed rules as the automatic pass — it's a way to check a queue early (for example before launching), not a different check.

***

## DNCR enforcement

All three screening gates run automatically:

* The **Opt-out**, **Previously called**, and **DNCR** gates all run automatically in the pre-dial screening pass whenever they are switched on for the batch. With the batch's DNCR switch on, every queued contact is washed against the Do Not Call Register before it dials, and blocked or unresolved numbers are held rather than risked (fail-closed).
* The **Screen** button gives you the same check on demand: with the batch's DNCR switch on, a manual screen performs a real register wash and blocks listed numbers.

Your obligations under the Do Not Call Register Act apply regardless — see [DNCR & Opt-Out Compliance](/security/dncr-compliance).

***

## Next Steps

* [Batch Calling Rules & Retries](/batches/calling-rules) — retry policies, cancel-on-inbound and the rest of the Calling rules panel that hosts the Screening gates card.
* [Batch Queue Management](/batches/queue) — queue statuses, views and bulk actions, including where the Screen column and button live.
* [DNCR Washing](/contacts/dncr-washing) — washing contacts and lists outside batches, result badges, freshness and overrides.
* [Opt-Outs](/contacts/opt-outs) — how contacts are flagged as opted out and how that feeds the Opt-out gate.
