As part of the integration between your Saleswhale and Salesforce, the Saleswhale system can ensure email addresses that are marked as Do-Not-Contact (DNC) in either Saleswhale or Salesforce records do not get communication from your Saleswhale bot.


  • The DNC field in Salesforce must be a boolean field

  • The boolean DNC field in Salesforce must be mapped to the one in Saleswhale

In this guide, we will look at how the system check works based on different triggers:

  • One-time preparation for Integration

  • Salesforce checks post-sync when emails are sent by your bot

  • Each time a lead is marked in Saleswhale as DNC

One-time preparation for Integration

In order to get DNC records aligned, a one time sync will be performed where:

  • Saleswhale will check against your Salesforce records and assign a Salesforce ID to all leads that already exist in Saleswhale based on email address. Email address is used as the unique identifier for leads.

  • If there are multiple copies of the same lead in Salesforce (same email address), we will take the latest modified copy and assign that Salesforce ID to the Saleswhale lead.

  • We will update any leads with Saleswhale DNC status=True into Salesforce to also reflect Salesforce DNC=True, if the value in Salesforce is False or blank

  • We will update any leads with Salesforce DNC=True into Saleswhale to also reflect Saleswhale DNC=True, if the value in Saleswhale is False

This will ensure that a lead that is marked as DNC on either Saleswhale or Salesforce will be marked on both platforms as DNC=True, thus ensuring that no communication will be sent to DNC leads from Saleswhale.

Salesforce checks post-sync

Once the sync is done, checks are done on a Just-In-Time (JIT) basis i.e. before Saleswhale bots send any piece of communication out (both initial email and follow-up emails), a sequence of checks are done as follows:

  • If lead is marked as DNC on Saleswhale, email will not be sent.

  • Saleswhale will check against Salesforce for DNC status. DNC status must be either False or blank. If DNC status is not False or blank, email will be sent.

  • If Salesforce DNC status is True on JIT check, Saleswhale will update the lead record on Saleswhale to reflect DNC=True.

  • Given this logic, a check is always done right before an email is sent, to get the DNC status of a lead and prevents an email being sent to a lead that is marked as DNC in Saleswhale or Salesforce.

*Important note: Given the nature of JIT checks, the DNC statuses across Saleswhale and Salesforce are not synced real-time or regularly. Thus, there may be discrepancies in records at any one time.


To illustrate this check with an example, when lead that exists on Saleswhale but is not touched for a long time may not have the same DNC status as on Salesforce, and will not be updated to mirror until a JIT check is performed. When email is going to be sent to said lead via Saleswhale, the JIT check will find that the lead is marked as DNC on Salesforce. Result: the email will not be sent, and Saleswhale’s record will subsequently be updated to reflect that the lead is DNC=True.

Each time a lead is marked as DNC in the Saleswhale app

When a lead explicitly requests the Saleswhale bot to be marked as DNC or when a Saleswhale user manually marks lead as DNC in-app, Saleswhale will update the DNC status in Salesforce if the lead has a Salesforce ID.

In cases where a lead does not have a Salesforce ID, Saleswhale will not be able to update the status.

Did this answer your question?