Enhance platform functionality with custom solutions

Salesforce Marketing Cloud platform provides a huge range of capabilities for implementing and automating marketing needs. However, if you do have the experience in the long-term use of this platform, you might have also encountered the use-cases for which the standard functionality of the platform is not sufficient. An example is the use of SMS Gateway instead of the native solution included in the Mobile Studio, or sending of Viber messages. There are many such examples – but don’t worry, that doesn’t mean you have to limit yourself to what is available by default. Fortunately, Marketing Cloud provides the possibility to enhance the platform’s functionality with custom solutions. And in this blog series, we will be talking about such possibilities.

What is a custom solution?

The custom solutions that we will talk about in this blog are external web applications that can be integrated with Marketing Cloud. Of course, you need technical skills to develop such applications. But on the other hand, you get the opportunity to configure both front-end design and back-end logic as you need.

Types of custom solutions

Below are the types of custom solutions that you can integrate with Marketing Cloud:

  1. Journey Builder Activity – a custom activity that will be accessible in the Journey Builder canvas.
  2. Journey Builder Decision Split – similar to Journey Builder activity, but allows splitting the flow into two or more paths based on custom logic.
  3. Journey Builder Entry Source – allows you to control users who enter into the journey. For example, exclude users who are currently in other journeys.
  4. Content Block – the custom content block that will appear in the Content Builder canvas among other content blocks.
  5. Marketing Cloud Application – an iframed application that will appear in your Marketing Cloud account right under the AppExchange icon.

How does it work?

The complete flow with all the details will be described in one of our future articles. However, in short, the whole process can be divided into three stages:

  1. Web application development.
  2. Hosting the custom component. Use a web server that communicates via SSL (port 443). Salesforce recommends using Heroku as a hosting provider.
  3. Connection and configuration of the application inside the Marketing Cloud.

Below you can find an example scheme of the custom activity hosted on AWS that uses Amazon DocumentDB for data aggregation.

We will dive deeper into the details of the scheme and the application implementation in the article devoted to Journey Builder Custom Activity development.

Tech stack

Almost all custom applications consist of two parts: frontend and backend. For the backend, you can use any technology that you are familiar with. In our case, we use NodeJS and one of the frameworks:




The backend is also responsible for rendering the UI, and we use the PUG view engine for that purpose.

When we talk about the custom activity, then plain javascript is used for the frontend part. Custom Content Blocks are more complex and require the use of Vue.js with VUEX.

The deployment most often occurs on Heroku (since this is the official recommendation from Salesforce), but AWS (Docker), K8S are also used sometimes.

What should be prepared before the next session?

  1. Marketing Cloud Instance – Make sure you have administrator access to the instance.
  2. Installed Package – this package will contain the configuration of custom components. Below are the steps that will help you to create the installed package:
    • Go to Setup of your Marketing Cloud Instance.
    • Navigate to Apps -> Installed Packages and click New.
    • Name your package and click save (you can also provide some description).
    • That is it for now. There is no need to proceed with components’ creation as this part will be covered in the next articles.
  3. Heroku Account – You can register for free by clicking here.
Spread the love
Avatar photo

Orkhan Alakbarli

Salesforce Technology Director