Handling deleted Salesforce data
PremiumThis feature is available on our Premium and Enterprise plans. UpdatedWe represent data you delete in Salesforce with events. You can use these events to determine how you handle deleted data in each of your downstream integrations.
Customer.io Journeys automatically handles deleted Salesforce data
The information below is important if you want to handle deletions in services outside of Customer.io. But, if you don’t send your Salesforce data to anywhere other than Customer.io, then 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 other services 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 Customer.io. When you create and update people in Salesforce, we’ll send identify
calls to create/update people.
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.
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-.->|deleteHere'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 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 personDelete Object
: Removes an object, like an account or opportunityDelete 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 places outside of Customer.io
If you send your Salesforce data to places outside of Customer.io, you may need 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!
- In outbound integration, go to Actions and click Add Action.
- Set the action to the appropriate operation—like Delete Person or Delete Object.
- 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. - Click Save Action.