Super Segments Guide: Importing data from anywhere (salesforce example)
Super Segments are collections of users that are targeted by data from any external source.
This means that users or their data can be “imported” into DevCycle for targeting in experiments or features by making use of EdgeDB.
While this can all be handled via the EdgeDB API, as outlined in here, DevCycle has created a Zapier integration which allows for easy sending of data directly to the desired EdgeDB environment in a project. This makes connecting any tools with Zapier integrations directly to DevCycle extremely simple!
Lets say for example you have a particular group in SalesForce you’d like to target. Or, better yet, you’d like a live updating cohort users from salesforce to target as they come in as new leads.
DevCycle’s EdgeDB allows DevCycle to integrate with SalesForce data with ease! Here is how you can set up a consistently up to date audience or cohort to target within DevCycle using SalesForce data.
Setting up DevCycle
First and forcemost, head over to your project settings in the DevCycle dashboard and enable EdgeDB. This will enable the EdgeDB feature for this project and save your user’s data.
Setting up Zapier
First, lets create a brand new Zap
From here we can pick the official Salesforce connection. If you have not set up salesforce in Zapier yet, connect it by following this documentation.
For this case, the event we are looking for is a New Record in SalesForce.
Upon selecting that, we’re now able to test it and confirm that the connection is working.
And now, we can send that data to DevCycle. Choose DevCycle as the followup action to the SalesForce trigger.
From the event list, choose “Update EdgeDB”.
If you wish, authorize your DevCycle account. For this particular action this is not necessary, as it simply uses your server SDK keys to perform the action.
If you connect your account, the following fields will require input.
And finally, you can set up the action to send data to the appropriate section.
Server SDK Key - Use the server SDK key found in your project for the environment you’d like to store the information on.
User ID - This is the key that the supplied data will be stored under. While it is typically considered “user data”, this could be data for anything such as a restaurant ID, or a service ID, etc.
Custom Data - This is the data that will be saved. You can save as much data as you’d like. Data is stored in simple key/value format.
stored information is not shared across environments
In this example, given that this is a new salesforce record, there wouldn’t be any “user ID”, but we can use the user’s Email as our unique identifier.
In this case, we are going to save a key/value pair that has the key of inbound_leads. This key will be used later in DevCycle, so don’t forget it! It is essentially what you could consider the name of the cohort.
We’re going to save what the source of the lead was so we can specifically target users that came in from a specific source.
Once done done, you can test the zap with the inputted data from before, and you’re good to go!
Now, any time a new lead enters SalesForce, it will be sent to EdgeDB with their email as the unique ID and their lead source as custom data.
Using the data to target a DevCycle feature.
Now that we’ve got data in EdgeDB, it can be used for targeting in any feature within DevCycle.
Any data saved to EdgeDB is considered a “Custom Property” within DevCycle and can be targeted by simply adding that same property in the dashboard. To find out more about Custom Properties, read here.
To use the SalesForce data from above, simply create a new custom property in the dashboard (if it does not already exist):
We will name it “inbound_leads” exactly as we have done in the zap
And then we will specifically target a certain type of lead source. From the test above, we used “paid_search”, so we can target on that to test.
And thats it!
Now, from any SDK, as long as the enableEdgeDB is true, any user that came in from SalesForce as a Paid Source Lead will receive this feature flag!