When to use it
Turn it on for any agent that places outbound calls to people who can ask you to stop calling, such as sales outreach, collections, and appointment reminders. Without it, a “please stop calling me” is only as reliable as your prompt, and nothing records the request for the next call. For example, a lead in a reminder campaign says “take me off your list.” The agent confirms, says goodbye, and ends the call. The campaign stops calling that lead, and every other campaign with internal DNC on skips the number too. DNC Detection works on voice agents that use a Retell LLM or a Conversation Flow (including flex mode). It doesn’t apply to custom LLM agents or chat agents. For SMS, see SMS opt-out keywords.Turn on DNC detection
1
Open the agent's settings
Open your agent, then expand Security & fallback settings.
2
Enable DNC Detection
Turn on DNC Detection. It’s off by default.
enable_dnc_detection: true when you create or update the agent.
How does the agent handle a do-not-call request?
When the caller asks not to be called or contacted again, in any language, the agent doesn’t hang up right away. It asks once:Understood. Would you like us to stop making calls to this number?
- If the caller confirms, the agent says “I’ll add your number to our do-not-call list. Thank you. Goodbye.” and ends the call. The call’s
disconnection_reasonisuser_requested_dnc. - If the caller declines or it was a misunderstanding, the conversation continues where it left off.
What happens after the call
For a phone call that ends withuser_requested_dnc:
- The contact is marked. Retell sets
do_not_calltotrueon the contact for the caller’s number (theto_numberof an outbound call, thefrom_numberof an inbound call), and creates the contact if it doesn’t exist. Web calls have no phone number, so no contact is marked. - Your CRM is updated. With a CRM connected, the change syncs out like any other contact edit.
- The campaign stops. If the call came from a campaign, the lead gets the do-not-call outcome and no further attempts are scheduled.
Skip do-not-call contacts
Marking a contact doesn’t block calls by itself. These places check the flag:
Batch calls and inbound calls don’t check
do_not_call.
SMS opt-out keywords
When someone replies to an SMS with a single opt-out keyword, Retell marks their contact as do-not-call and ends the chat. The keywords areSTOP, STOPALL, UNSUBSCRIBE, CANCEL, END, REVOKE, OPTOUT, and QUIT, matched without case and with trailing . or ! allowed. A keyword inside a longer message doesn’t count. This applies to your own SMS-enabled numbers, not the shared SMS-approved Retell numbers used for in-call SMS.
If a message fails because the recipient has already opted out with the carrier, Retell marks the contact the same way.
FAQ
Can I change what the agent says?
Can I change what the agent says?
No. The confirmation question and the goodbye are fixed, and the agent translates them into the caller’s language.
How do I take a number off the do-not-call list?
How do I take a number off the do-not-call list?
Open the contact on the Contacts page and set Do Not Call to false, or update the contact through the API. Calls, chats, CRM syncs, and imports only ever set the flag to true, so a manual change sticks.
Does a do-not-call contact block inbound calls?
Does a do-not-call contact block inbound calls?
No. The flag only affects outbound calls, SMS, and campaigns that honor DNC.
My agent already has a tool named end_call_dnc. What happens?
My agent already has a tool named end_call_dnc. What happens?
Retell uses
end_call_dnc for this feature. If your agent already has a tool with that name, DNC Detection is skipped for that agent’s calls so your tool keeps working. Rename your tool to use DNC Detection.
