Do not call

Every outbound call is checked against this list before the carrier is asked to dial: a campaign, a single call over the API, and a call an agent places all go through the same check. The list belongs to your organization, not to one agent or one campaign.

Numbers are stored in international (E.164) form, so a number added the way it appears on one contact list still matches when it arrives spelled another way.

How a number gets on the list

Three ways:

  • You add one. From the do-not-call page, or over the API.
  • You import a list. A bulk add, usually an export from your own CRM.
  • An agent records one during a call. The agent has a built-in tool for exactly this, alongside ending a call and transferring one.

The agent's tool is deliberately passive. It fires when the person says plainly that they do not want to be called again, and it never asks, because prompting for an opt-out puts the idea in front of people who were not thinking about it. You do not have to add anything to the prompt for this to work, and adding a question about it is the one thing that makes it worse.

Every entry keeps how it got there and, when an agent recorded it, which call it came from - so a request can be traced back to the conversation it was made in. Adding and removing are both recorded in the audit log.

How far an entry reaches

Someone who refused marketing has not refused a call about their own order. Blocking every call on either kind of request would mean deciding something they never said, so each entry carries its own reach:

  • Every call. The default for a request an agent recorded, because those are the person's own words.
  • Marketing only. The default for an entry you add or import, because those are usually an operational record rather than something the person stated.

You can change either one; narrowing a request an agent recorded is recorded against whoever chose it, since that is the organization deciding what someone meant.

Which of these a given campaign honours is a campaign setting. Calls placed over the API always honour the whole list: they cannot say what kind of call they are.

Managing the list

await glytos.dnc.add('+15551230000', 'asked on a call');
await glytos.dnc.import(['+15551230001', '+15551230002'], 'CRM export');

// Allow a transactional call about this person's own order.
await glytos.dnc.setScope('+15551230000', 'marketing');

const { items, total } = await glytos.dnc.list({ search: '0555' });
await glytos.dnc.remove('+15551230000');

Adding a number that is already on the list returns the existing entry rather than failing: your intent is satisfied either way, and the first entry is the one carrying the original reason.

What a suppressed contact looks like

In a campaign, a suppressed contact is marked as such rather than as a failure, so it neither reads as a problem nor counts toward the failure limit that halts a campaign. Before you start, you can see how many contacts each policy would reach - including how many of those people asked on a call not to be contacted.

A do-not-call list is one part of what outbound calling is regulated on, and the rules differ by country. Glytos gives you the controls and the record; the obligation is yours.

Do not call · Glytos Docs