In 2016, Salesforce acquired a company known as Demandware, and re-branded their solution as Salesforce Commerce Cloud. Later, in 2018, Salesforce acquired a company known as CloudCraze, and that later became known as Salesforce B2B Commerce, and the original Demandware acquisition became known as B2C Commerce. One key difference between these two solutions is that the B2B Commerce product runs “on platform”, and the B2C (Demandware) product does not.
Having worked in software development for nearly 20 years, I’ve had a number of opportunities to speak in public (local user groups, conferences, webinars, sales engagements). The last 3 years I have worked exclusively as a solutions engineer, meaning that part of my responsibilities at work, is to actively speak to others about technology.
I decided to put together some notes I had about things I’ve learned over the years, that I feel may be useful to others looking to pursue a similar career path, or just to become more comfortable and relaxed in a public speaking environment. I tried to organize this list in a an easily digestible format, so anyone who wanted to, could reference it quickly/easily.
If you’ve been a developer for any length of time, you’ve been tasked with connecting data from system A to system B. It could be data from your ERP to your Ecommerce web store, or it might be from your CRM to your Marketing tools. These ‘point to point’ integrations work well when a business is in it’s infancy along the path of digital transformation. Unfortunately, as the number of point to point integrations grows, so does the complexity of trying to maintain those systems. They become so fragile, and so unstable, that the entire IT team is afraid to touch them let alone replace them (which would feel like a herculean task). In addition, dev teams outside of central IT are slowed down because central IT is spending all of their time maintaining and keeping those systems working and online. What if there was a better way?
In this guide, I will summarize (in some detail) the high-level features that are available to you as a seasoned developer on the Salesforce Marketing Cloud platform. I will review basics of the platform, some advanced platform features, platform-specific programming languages, integration support, API support, platform SDKs, and I’ll also discuss next steps you may wish to take in terms of Salesforce certifications. The Salesforce Marketing Cloud platform is an Enterprise grade solution and well suited for much more than basic email subscriptions. After reading this guide you’ll have a good understanding of what is possible on the solution and how you can launch, iterate, and transform your Marketing efforts at your business and what is expected from your dev team to support those efforts.
The new computing paradigm of serverless allows developers to quickly spin up, prototype, and build out applications using inexpensive usage based resources. In this article, we’re going to go over how to connect your Salesforce Outbound Messages to Azure Functions for processing. As of this writing, as far as I’m aware, there are no governor limits on Outbound Messages and also Azure Functions are priced at $0.20/million executions with 1 million in the free grant per month. If you’re not already comfortable working with Outbound Messages in .NET, I’ve got you covered with a post on this topic I did previously.
CMS stands for Content Management System. The most well-known CMS today is Wordpress. Common components of a CMS are content administration features (authoring tools for content like blogs, news, events, white papers, etc) in addition to content delivery capabilities that renders the content for consumption, such as a web page or over an API.
Outbound Messages in Salesforce are another way for your application to receive notifications of changes to your Salesforce data. Imagine you have a scenario, where you would like your external application to be notified whenever a Lead record in Salesforce is created (or edited) and the City field on the Lead is set to Chicago. It is possible in Salesforce, using an Outbound Message which is triggered from a Workflow Rule like the one I just described. I’ll discuss in detail what both of those Salesforce features are in this post.
Have you ever wished you could get a notification whenever a record type or subset of records changed in Salesforce? You may wish to be able to be notified of those changes for replicating data or to trigger behavior or an external business system.
Enter the Streaming API from Salesforce. This feature consists of several subfeatures which enable you to just that. Opting in to certain changes is possible with Push Topics. Getting a complete list of changes of everything is possible with Change Data Capture. We’re going to talk about both in this post and how you can integrate your .NET applications with Salesforce to capture those changes in near real-time.
Running into limits with your Salesforce REST API usage, or simply proactively looking to process a large amount of data in Salesforce? Due to the limits in place on how many calls you can make to the REST API on a per 24-hour period that may limit how much data you can process an alternative approach is needed. Thankfully, with the Bulk API, you can process up to 100 million records per 24-hour period, which should (hopefully) be more than enough for you.
In this post, we’re going to work on how you can test and develop against Salesforce, using the Web-Server Flow, locally on your machine. As an added bonus, we’ll look at how to make those urls public with ngrok.