Opt-Out and Opt-In Management in Salesforce
ValueText handles opt-in and opt-out through several mechanisms: keywords, record-level opt-out, org-level opt-out, time-based delivery, and an opt-out URL.
Last updated 28 Nov 2025This opt-out applies at the sender ID level when you use a long code or short code. Since you can send from a different sender ID, this opt-out only blocks that one sender ID.
If you send messages under a shared sender ID (for example, ValueText itself), STOP will not help you, because the reply is not accepted by that sender ID. If you send with an alphanumeric sender ID instead, use the URL in the message text to let recipients opt out. See the Opt-In URL section below.
Record-Level Opt-Out
If you send manual messages from the record level using the chat console, this section applies to you.
The console locks automatically based on a checkbox enabled at the record level, for example an SMS opt-out checkbox on the Contact record.

There are multiple checkbox fields at the record level, so you need to choose which one controls text opt-out. Go to Salesforce > ValueText app (from the App menu) > ValueText Setup tab > Step 7: Text Opt Out Settings, then choose an object [1] and select a field [2].
This setting does not affect automation. You still need to check that same checkbox in your workflow, flow, process, or Apex criteria to stop sending messages there too.
Org-Level Opt-Out
The example above is record-level opt-out. But if the same phone number is stored on more than one record, for example a contact and a lead, record-level opt-out cannot stop sending to the lead if the checkbox is only enabled on the contact.
Org-level opt-out works by phone number, not by object. It stops messages to that number from any object, whether sent manually, from a flow, or from Apex.
To enable org-level opt-out, create a record on the Opted Numbers object.
Manual Opt-Out
The phone number must include the country code, with no spaces or special characters. For example, a U.S. number would be 1xxxxxxxxx.

Set Enable OPT-OUT to true if you want to opt the number out.
Automate Opt-Out and Opt-In
You can automate the entire process so it triggers when you receive a message containing STOP or START (you can also define your own keywords in your local language).
- Create a process builder on the message bucket.
- Set the criteria:
Type__cequals "Inbound" andMessage__ccontains "STOP". - Call the Apex action:
VtOptedOutfor STOP,VtOptedInfor START. - Map the field: map
MobileNumberstoNumber__cfrom the message bucket.

Time-Based Delivery
Time-based delivery matters in countries where you cannot send promotional messages outside business hours.
- Create business hours in Salesforce and define the available hours for each day.
- Map the Business Hours ID (the 18-digit record ID) to the
rsplus__Business_Hours__cfield on the message bucket when you send the message from the process builder.
When your flow fires, it checks the business hours before sending. If it is outside business hours, the message goes out after the next business start.
Opt-In URL
If you use the BASIC or STANDARD app, or you send messages with an alphanumeric sender ID, this option applies to you.
Create a site page, or reuse an existing one, and add the publicOptoutPage page under the Site Visualforce Pages section of your site.
Build the Public URL
The public URL takes this form:
Shorten that URL with Bitly, Google, or any other URL shortener, then include the shortened URL in your message text. Recipients can use it to unsubscribe, the same way an email unsubscribe link works.