TrailblazerDX 2022: Recap

Wow, it’s good to be back. What an event. After two years without any in-person activities, it was a surreal experience to say the least. Salesforce did an excellent job getting folks in and out of the venue, and making the whole event as well-run as we’ve all come to expect from them. The keynotes, sessions, and the concert experience (Weezer) were all very memorable, and they covered a ton of ground. There were a few stand-out items for me that I took particular note of and I’d like to discuss them here. In addition, there are currently (as of this post) 18 sessions on Salesforce+ available to view on-demand.

Platform Unification

A heavy emphasis was placed throughout the show on how Mulesoft will be used to glue together some of the recent additions to the Salesforce family (Tableau, Slack) and leverage some low-code Flow tooling, like Mulesoft Composer, to assist with those orchestrations. You could tell from the amount of air-time that this topic got, that this will be a heavy emphasis for the company in the coming years.

Mulesoft: Anypoint Code Builder

This was a big one for me. Mulesoft showed off new tooling, directly in VS Code, that will be used to develop API specifications, API flows, and will serve as a complete replacement for the aging Anypoint Studio product. It was a very, very welcome announcement for me and will make the process of building APIs on Mulesoft much more pleasant experience. There will be a beta of this later this year.

Read more here.

Salesforce Functions

Anyone who has be interested by serverless compute such as AWS Lambda or Azure Functions will immediately be interested in Salesforce Functions. This was announced a few years ago, but has made significant progress and there is already a well documented set of developer material available for it. Functions may exist in either NodeJS or Java, and have access to both Salesforce data and also Heroku data. These are a great way to bridge data from external systems, using technology you are already familiar with, into (or out of) Salesforce.

Read more here.

Event Based Architectures

Salesforce is leaning into the event-driven development model. Several mentions of the new Pub/Sub gRPC API were mentioned as the future of this style of architecture. This solution is a managed abstraction of Apache Kafka and handles all of the integration into Salesforce for the developer. If you are building software on Salesforce that previously would leverage Platform Events, Streaming API, or Change Data Capture… it is strongly recommended to use the new Pub/Sub API for that development.

Additionally, several mentions during the show were given to AWS for the new Event Relay service that sends events from Salesforce Event Bus to Amazon EventBridge. This makes it easier than ever to integrate data and functionality from AWS with your Salesforce data. Event information (such as when a record is updated, or modified) can flow from Salesforce to AWS and also back to Salesforce after processing is complete (also as event). Admins will also be able to configure this with low-code configuration in the future to better collaborate with AWS development/devops teams.

Read more on Pub/Sub API here

Read more on AWS EventBridge / Event Relay here.

DevOps Center

Long the wheelhouse of tools like Gearset, Salesforce has now entered the DevOps arena and will be making change management and deployments a first-class citizen inside the Salesforce Platform. A public beta has been confirmed for June.

 

Developer Introduction to Salesforce B2C Commerce Cloud

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.

The development paradigm for B2C Commerce Cloud relies on developer knowledge of server-side Javascript (similar to NodeJS, but is actually Rhino Javascript). Similar to the Marketing Cloud (ExactTarget) product, developers who are used to developing with Salesforce DX, Lightning Web Components, and Apex will find that there is none of that here. The entire solution is different, however that has changed somewhat with the introduction of add-on products like Salesforce OMS, Salesforce Loyalty, and other features which run on-platform, but are integrated with B2C Commerce. Additionally, there is in-fact, an accelerator from Mulesoft, which will let you quickly connect your B2C Commerce instance to your core sales/service instance(s). It is not required to integrate the two, but does greatly simplify the process.

 

Developer Introduction to Mulesoft

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?

 

Complete Developer Introduction to Salesforce Marketing Cloud

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.

 

Serverless Salesforce Messaging with Azure Functions

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.

 

Developer Introduction to Salesforce CMS

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.

 

Working with Salesforce Outbound Messages in .NET

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.

 

Getting Started with the Salesforce Streaming API in .NET Core

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.

 

Processing Large Amounts of Data in Salesforce with Bulk API 2.0

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.