About three years ago I was working on a Salesforce implementation for a campaigning charity. My role was to develop a SQL Server Operational Data Store that mirrored the data in their Salesforce instance. After considering a number of options we decided to develop our own download interface to regularly refresh the SQL Server database from Salesforce. Initially this was developed using Talend as the middleware, which worked pretty well for daily incremental downloads of changed Salesforce records. Continue reading “Developing a Salesforce Download”
Using the Salesforce Metadata API in .Net
The SalesForce Metadata API provides a way of deploying and retrieving customisations in your Salesforce instance such as custom objects. Like with the SOAP API for transactional data the documentation for setting up a connection in C# and .net is not great. So here I’ve outlined the process to connect and retrieve data from the API in this environment. I’ve used Visual Studio 2017 in these examples. Continue reading “Using the Salesforce Metadata API in .Net”
Converting UTC to Local Time in SQL Server
For Salesforce UTC Date Fields
Salesforce stores all datetime fields in UTC (Coordinated Universal Time) and converts them to the users’ local time when they’re displayed in the UI. If you’re extracting date data from Salesforce via the APIs then they’ll also come across as stored – so in UTC. If you want them to be in local time you need to convert them back. Fortunately this straightforward in SQL Server. Continue reading “Converting UTC to Local Time in SQL Server”
Connect to the Salesforce SOAP API in .Net
C# and the Salesforce Partner API
In general the Salesforce API documentation is excellent but I found the sample code for connecting via C# to be unhelpful at best. So here’s a full guide to connecting to the Salesforce Partner API in C# and dot Net. I’ve used Visual Studio 2017 in these examples. Continue reading “Connect to the Salesforce SOAP API in .Net”
Salesforce CRM for Charities
I first looked at Salesforce nearly 10 years ago when I was asked to consider it as a Raisers Edge replacement for a medium sized medical charity. My response then was that it simply failed to meet the basic requirements of a UK charity focused on committed giving and appeals. No gift aid, no regular giving functionality, a sales process more suited to managing high value opportunities rather than volume direct marketing – this was not a comparable system with a sector specific fundraising application like Raisers Edge. Continue reading “Salesforce CRM for Charities”
Random Splits in Marketing Selections – A SQL Solution
A common ask (if you’ll excuse the pun) in selection briefs is some kind of randomisation; as for a test mailing or for AB test. This is not a difficult job but is easy to get wrong – and when it does go wrong it can have serious consequences. Continue reading “Random Splits in Marketing Selections – A SQL Solution”
Comparing Response and Attrition Curves in SQL
I recently needed to test for similarity between several sets of time series data – specifically response curves and attrition curves – and find the most similar data sets. I’m in no way an expert on curve fitting but using the squared deviation method seemed to work quite well and lends itself to a nice implementation in SQL so thought I’d share it here. Continue reading “Comparing Response and Attrition Curves in SQL”