Getting Started with Mobile Studio-SFMC

I have now been using Mobile Studio for some time and feel it’s learning path is different from Email Studio and Journey based automation, I  have found it difficult to get quick information at one place.

The following is a list of 10  essential knowledge items which I think would help anyone to have a better understanding of Mobile Studio.

Hopefully, this helps.

1.Short Code-Long Code

All SMS Messages need a shortcode or a long code before they are ready to be sent, This is like the from an address in an email. You will need to go through your Salesforce account representative team, It’s a country-specific process and will typically take 4-6 weeks to set this up. Without this step, nothing much can be done in Mobile Studio. Maybe you can ask for a test shortcode before you get the actual one to start testing your messages.

Once a shortcode is a setup , you would see a screen like below and see a shortcode numeric number.

For Long Code the setup process probably would be quicker but please keep in mind Long codes are not suitable for high volume sends and are typically 1 to 1 communication.


2.Setup KeyWord

Once the shortcode is set up, we need to create a keyword. These are like attributes against which all inbound and outbound messages would roll up. They would be one-word VERBS like JOIN, ADD. There would be a limit of keywords typically 5 that you can create for the account.


3.What to Use

MobileConnect, MobilePush, GroupConnect which one to use, Mobile Connect would satisfy most of the common use cases. The below is taken from Salesforce Help.

MobileConnect is used for

Create, send, receive, and track SMS and MMS text messages using MobileConnect. Send real-time alerts and transactional messages to subscribers using templates and a drag-and-drop interface. Automatically respond to incoming messages, manage keywords, and many other tasks.

GroupConnect is used for

Use GroupConnect to send messages to contacts via messaging apps. Currently, GroupConnect supports the LINE mobile messaging app. Use GroupConnect to create and send messages, manage contact subscriptions, and review messaging activities.

Use MobilePush to do the following:

  • Manage segmented audiences of mobile contacts.
  • Send targeted and personalized push notifications.
  • Send inbox messages.
  • Use geofence and beacon messaging for location-based campaigns.
  • View customer engagement with analytics.
  • Automate your campaigns with Automation Studio.
  • Integrate push notifications into customer journeys using Journey Builder.

In this blog, I am concentrating on Mobile Connect.

4.Mobile Connect-Message Types

Mobile Connect messages can be used from Journeys, Automation Studio, API. While creating the message we are given with the options. The below screen grabs gives a quick overview of the steps . For Journey you select Interaction.

One word of caution, you cannot delete messages once you create them, we can only activate or deactivate a message.

So please be thoughtful before creating that first message called MyDummyMessage in the prod BU :).

Create Message



5.API Based messaging

If you already have a mobile app or a website, it’s fairly simple to start sending SMS messages using API based messaging. Once the API based messaging is created in Marketing Cloud it gives an API key and then with a simple REST call we can invoke the SMS. A typical use case can be you already have a website and after user registration you want to send an SMS or for forgot the password you want to send a code through SMS , The marketing team can keep control of the messaging in Marketing Cloud and provide the API key to the IT team.

A sample REST payload would be like below. The following example is through POSTMAN. The API keyword would need to be added at the endpoint,

JSON Payload

6.SMS Response

There are two kinds of response, one is time-bound response meaning an SMS chain communication which is configured with a NEXT keyword.

Other is just on a keyword you want to capture the response. For that, you can create an inbound message and tag it with the same keyword you had created for your outbound message.

MSG(0).NOUNS stores the complete response text.

Response Capture

7.SMS Personalization

While using the SMS messages within a Journey the Journey Data is not available to the SMS send messages so we may need to retrieve the information from a Data Extension.

Also, the AMPScript functions for email send and SMS send do not have one to one parity.

8.SMS Logging

SMS Send Log.jpg


9. Did you check the No

Once I started using Mobile Studio, Initially a lot of sends were not working, the reason was the Phone Numbers did not have a 1 to start with. For US mobile sends all numbers must start with 1 . If it’s not there you need to append the phone numbers with 1 before sending.


An SMS aggregator is essentially an entity that sits between tools like Mobile Connect which are sending SMS and the wireless carriers. They are building the connections to the wireless carriers, so we don’t have to actually go and connect to all the carriers, we are connecting to one  SMS aggregator. So a lot of the send logging and response metrics are dependent on how good a job the aggregator is doing, something just to be mindful of.








Salesforce DA & Management Designer-My Experience



Recently I passed the  Salesforce Certified Data Architecture and Management Designer  Certification. This certification is on the Architect Path and an interesting one as it’s not only focused on Sales Force product suite but tests overall understanding of system integration and best practices.

In this blog, I wanted to share my experience and preparation strategy. As blog posts and experience of others who have passed the certification really helped me prepare.

What Did I study?

  • SalesForce TrailHead

SalesForce Trail Head architect-data-architecture-and-management

This is an excellent place to start, one note  I spent a lot of time going through the videos, which were enlightening and helps in getting a general understanding but from an exam specific perspective, you may not need to go through them in entirety.

  • Quizlet :

  • Resource Guide

resource guides. Specifically the use cases after page 16.


I did not expect so much focus on the relationship between objects. These are basic but you need to be very clear on object relationships, Lookup,master-detail, External Id, when to use them, How they behave in terms of record access, record deletion.

I spent a lot of time focusing on the numbers, Rolling limits, SOQL query limits, Batch Job limits, index selection criteria 30 percent for the first million, There were not many actually I think none 🙂 .

Parting Notes

Apart from all the good materials that are already available if I have to highlight top 5 focus area they would be

1.Data Migration considering MDM and Storage needs

2.Field Level Audit Trail and Event Monitoring

3.System Performance for reporting and snapshots

4.Object Relationship and Data Model Design Techniques

5. And surprisingly Time Management-I finished the exam 15 minutes early and did not get a chance to review all my answers.

Handling Multiple emails for a Subscriber in SFMC


Recently we had a unique challenge in one of our Marketing Cloud implementation, I am sharing a few of the lesson learned from the journey.

Typically in an email-based subscriber model, the contact key would be the email id and the relationship would be 1: 1 between the contact key and email address.

We, on the other hand, had 8-10 emails per customer. So first things first

  • Identifying the Subscriber Key

    The email address cannot be the subscriber key. Neither it can be something which is non-unique. We essentially had two options, getting an external id from the source system which we know is unique or generate a unique id, We went with the propagation of a unique id from the source system.

  • I send my email but it defaults to the same email address

    We send 10 emails with 10 different data extensions each filtered with a different email address, so what’s the big problem, The problem is once a subscriber email is sent Marketing cloud puts a default email address for the subscriber and all future sends are using that default email address.

  • User Initiated Send with  Data Filter – Not working

  • Automation with Filtered Data Extension -Not working

  • Journey Builder to the rescue

    This is where we decided to use Journey Builder and used a feature in data settings where a specific email address can be set for a journey which overrides the default subscriber email address.Screen Shot 2018-06-30 at 8.55.01 PM

  • By activating the journeys and building few decisions splits and Boolean checks we could get the model working where subscribers would receive emails on multiple addresses.
  • The same model should be expandable for Phone Numbers as well.

I will keep you updated on how the model scales up with volume.

In the meantime please feel free to share your thoughts and inputs!


REST -ing with Marketing Cloud in 30 Minutes

One of the great features of the Salesforce platform is most of the objects and capabilities are accessible through API, namely REST and SOAP. SalesForce Marketing Cloud is no exception, But though we know it supports API ,How do we do some quick checks to connect with REST, maybe get some details through GET or add some data through POST My hope is you should be all set to submit  GET and POST requests and get yourself familiar with the basic structure within 30 minutes if you follow this article.

Now let’s get cooking !!


  • POSTMAN: A tool through which we will submit REST requests.
  • Marketing Cloud Account: You will need Administrative access

Step 1:

Should be available for both Mac and Windows.

Screen Shot 2018-05-20 at 11.51.04 AM

Step 2:

Login to your Marketing Cloud Instance and click under your name and click on the Administration link.


Screen Shot 2018-05-20 at 11.35.05 AM

Step 3:

You need to create a newly installed package or add the component to an existing package. Assuming you are creating a new package, Once you create the package you will see an option to add component.

Screen Shot 2018-05-20 at 11.36.03 AM

Step 4 :

Once the component is created as API integration, You should get two strings known as ClientID and ClientSecret, Let’s hold on to them as we will use them later in our mix.

Step 5 :

Assuming you have installed POSTMAN, Let’s open it up. The first step in establishing a REST connection is to tell Marketing Cloud that you have the clientid and client secret and access a token which should be valid for 60 minutes.

In the POST URL provide the below URL and in the Body text put the text within {} and click Send. Don’t forget to select JSON.

You should get a value in quotes for an access token.


Step 6:

Now with known endpoints you can submit POST and GET, Change the dropdown to select POST and REST as desired, provide the URL and provide the access token as Type Bearer Token in the Token Text box without quotes, The result should show up in the box below.



You can import files to set up collection and environments and do a lot more, Hopefully these 6 steps would help you towards that Journey:).

10 Things to know about Salesforce Marketing Cloud

In my journey through Salesforce, I had picked a few things on SalesForce marketing Cloud which though simple were not apparent, and may help others better understand the platform. Please feel free to add to this list or share your experience.

10.ExactTarget is Marketing Cloud

ExactTarget was acquired by SalesForce in 2013 and the integrated marketing automation platform became SalesForce Marketing Cloud, That’s why a lot of the URL’s and API’s still referenced exact target in marketing cloud.

9.Not Org – enter BU

SalesForce Marketing cloud doesn’t have sandbox and production org based environment model as a service cloud and sales cloud do. Every instance behaves like a full-featured production instance, Key take away – Not an apple to apple mapping with SalesForce sales or service cloud-No change set based deployment. If testing in a separate environment is the must -multi BU enabled Enterprise 2.0 instance can be a solution.

8. I can’t find a single Object

In Marketing Cloud data is stored in Data Extension and Lists, Thumbrule more data, complex structure -use data extension-otherwise use list. Consider them as tables with data attributes, where you store records as rows.

7.Marketing Cloud Connect

Marketing Cloud can connect with sales cloud or service cloud and no coding necessary for that, Just need to install the marketing cloud connect package and some admin magic. Your email sends are now in sales or service cloud and you can send campaign emails from sales console.

6.IP needs to be warmed up

I have my marketing cloud and have the list of 30,000 users, let’s send that campaign promotion email. Surprise! You need to slowly warm up the IP meaning – ramping up email sends over a month or so-otherwise they will go to a place where no marketers want there email to go to -Junk.

5. Send SMS-But to hold on!

Sending SMS is fun and easy, but is your shortcode and long code set up, They may take some time to set up. Also, SMS sends are dependant on the aggregators which in turn talk with the telephone service providers, so be careful if you are expecting a specific SLA when you are sending out SMS.

4.Enhanced FTP

With Marketing cloud we can set up a set of import and export folders and can use them for inbound files and exports, really handy for bulk loads or quick data population.

3. It’s not  JavaScript-enter AmpScript

<% %> Marketing Cloud uses a scripting language very similar to JavaScript known as Ampscript, If you want to use email personalization, SMS manipulation, that’s the way to go.

2. Write SQL

I have my data in multiple data extension -or need to do a complex filter-All standard SQL will work with a bit of syntax check.

1.Beautiful API

Create a Journey-populate a data extension-update a Journey – pretty much all activities are supported through REST and SOAP. Not everyone needs to login to Marketing Cloud and go through the browser, You can have a light client and accomplish a lot.


10 Things I did not know about Salesforce

SalesForce is one of the platforms where there is a great deal of information and sometimes I think there is too much information and for a newcomer, this can be overwhelming. The below is a list of certain assumptions and misconceptions I had and slowly with time I understood I was completely wrong, It took some time for me to get there, If it helps anyone to save some time -my job would be done. I have focussed on Sales and Service cloud for this post.

Please feel free to add to the list.

No 10

Local IT will need to set up a few things for me.-No-SalesForce is a cloud-based system and if you have access to a browser and internet you are all set, You and your team can start.

No 9

SalesForce is a predefined package and I cannot create new Data Stores. In the world of SalesForce, everything is object-objects are something in similar line to an RDBMS table and we can create our own tables a.k.a salesforce custom objects, which are known as a custom object.

No 8

I have the standard objects but I need to tweak it so I have to create my own custom object-No-We can create custom fields inside a standard object.

No 7

Role and User Profiles are the same thing-You create roles and then put user profiles under them-NO! Roles are for data sharing and user profiles are for accessing the various functions of the system. A user will have a profile and he will have only 1 profile. User Profile and permission sets are more related in that sense.

No 6

I can’t change the pages where I am entering data in SalesForce and it’s true for all users-No you can-Configure the pages if you have the permission-display related list or make it simple-For service cloud typically you would have different user groups and page views and record types for case management.

No 5

I want to format fields and restrict field entry-I need a developer-No -SalesForce has a magic formula (Just formula!) -You can go to SalesForce HelpDocs and copy a ton of formulas for basic validation and use it for your objects.

No 4

I want to process my data when it’s entered/updated, I know we need triggers-I to come with a strong background of Oracle-SQL server platform-Actually you know what -surprise! Don’t need triggers all the time-Though Apex Classed and triggers have their place-enter the world of a workflow-process builder and lately flow.

No 3

I need to build few pages-I need and lightning are powerful mediums for web Development-Data entry-update and complex UI operations can be done through VisualForce and lightning-yes we would need a developer for that.

No 2

I need to build sites for my partner and users and they will not have access to SalesForce-Now tell me-what can SalesForce do for me-Nothing I guess -It can actually do a lot through Community-Partner Community and the Heroku platform-key takeaway websites can be integrated into the platform.

No 1

This one took a while for me to understand. I have my business logic in Apex but for external systems to talk to SalesForce they are going through the default REST API -No-Apex supports the creation of web services and you can have that complex business logic completely in SalesForce and outsiders only giving you the data.

Good company in a journey makes the way seem shorter. — Izaak Walton