Handling deleted Salesforce data

When you delete data in Salesforce, we send events to notify your destinations. You can use these events to determine how you handle deleted data in each of your destinations.

 Customer.io Journeys automatically handles deleted Salesforce data

The information below is important if you want to handle deletions in other destinations. But, if you’re using Customer.io Journeys, you don’t need to do anything to handle deleted data; we handle it for you.

How it works

You can delete data in Salesforce, but the Data Pipelines API doesn’t have Delete operations. So how do your destinations know when to delete data from Salesforce?

We use Semantic Events: events that have special meaning in Data Pipelines (and Customer.io in general).

Imagine you delete a contact in Salesforce, and you’ve mapped contacts to people in Data Pipelines. When you create and update people in Salesforce, we’ll send identify calls to create/update people in your destinations.

But when you delete a person, we’ll send a track call with the event name Delete Person. And you’ll use this event to handle the deletion in your destination.

flowchart LR a(Incoming
Salesforce Data) a-->b{What kind of data is it?} b-->|person|c(Identify) b-->|object|d(Group) b-->|event|e(Track) b-->|relationship|g(Group
with userID) b-.->|delete
Here's where we use semantic events|f("Track event where the event
name is Person/Object Deleted")

Semantic events for delete operations

The data-deleting operations you can perform from Salesforce correspond to simple event names. You’ll use these event names when you set up destination actionsThe source event and data that triggers an API call to your destination. For example, an incoming identify event from your sources adds or updates a person in our Customer.io Journeys destination. to delete Salesforce data.

  • Delete Person: Removes a person from your destination
  • Delete Object: Removes an object from your destination
  • Delete Relationship: Removes a relationship between a person and an object, like when a contact leaves a company, or an account transfers to a new account manager.

You’ll notice that there’s no Delete Event operation. You can’t delete an event. An event is something that happened at a point in time. You can’t go back in time and stop that thing from happening!

Customer.io Journeys automatically handles deleted data

When you connect Salesforce to Customer.io Journeys, you’re already set to handle deleted data. We handle the semantic events coming out of Salesforce by default.

Handling semantic events in other destinations

In non-Customer.io destinations, you’ll need to set up actionsA block in a campaign workflow—like a message, delay, or attribute change. to handle delete operations.

When you set up an action, you only need to pay attention to the Action and Trigger fields. You likely don’t care about the data Structure, because you’re deleting data!

  1. In your destination, go to Actions and click Add Action.
  2. Set the action to the appropriate operation—like Delete Person or Delete Object.
  3. In your Trigger, set a condition based on the semantic event name in the format: Track Event Name is <Name of semantic event>. This means that when an event with the correct name comes in, you’ll perform the appropriate delete operation.
    the delete person action has a trigger set to event name is delete person
    the delete person action has a trigger set to event name is delete person
  4. Click Save Action.
Copied to clipboard!
  Contents
Is this page helpful?