When using data extensions are the entry source, you are given the option to Choose How to Process Entry Source Data by either Evaluating New Records Only or Evaluating All Records.

But when Salesforce Data event (Contacts/Leads) is used, the only action criteria available is when the Contact or Lead is created or updated. But the caveat is that the rule doesn't run if that record previously met the rule criteria:

  • Each time a record is created or updated, Salesforce evaluates the primary object rule criteria.
  • If criteria are met when a new record is created, the rule runs.
  • When a record is updated, the rule runs only if the record meets rule criteria after the update. The rule does not run when a record that previously met rule criteria is updated.

In other words, if an existing contact or lead matches the rule criteria, they won't get entered into the journey unless that record is first updated to not match the criteria and then updated again to match the criteria.

For example, if I have a contact record with a boolean field of Journey and the rule criteria only injects into the journey contacts with a Journey value of True. Any contact records which already have a Journey value of True are ignored unless they are:

  1. Created as a new contact with matching rule criteria of Journey = True or
  2. Having to first change the value to False, and then update it to True

It seems rather half-baked to have to manipulate data to inject existing contacts/leads in a journey. Is there an equivalent to Evaluating All Records for Salesforce Data entry events?

  • 1
    Well, I don't think it's half-baked. Anytime you try to bring in new data rules in an already running system, you always have to think of existing data and generally you do one-time data updates. Same is the case here. You need to fire a dummy update for entering existing in the journey
    – Maneesh
    Aug 9, 2019 at 18:42
  • It's not an ideal solution to fire a dummy update as there are multiple journeys using Salesforce Data as the entry event and it would re-inject those people into other journeys. Aug 9, 2019 at 19:49
  • Sounds like your looking for a custom JB entry event or an API triggered one where you run that logic on your own backend. Aug 9, 2019 at 20:26

1 Answer 1


So SF Entry events are for real time injection based on an upstream process. Since this process uses apex/flows/process builder within SFDC this is how the api call is made to inject a contact into a journey. If a record isn't created or updated it won't kick off the needed flows

You could simply create a DE off the data stream objects which would achieve your use case, since there isn't any upstream process to kick off the flow. And then use this DE in your entry event and evaluate all records or new.

You could also use a process where a contact/lead is added to a journey when added to a campaign and have a process where you add them to this campaign within SFDC, and then they will be injected into the journey

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .