Tuesday, 12 January 2021

A Productive selling with Marketing Cloud

    Marketing Cloud, previously known as Exact Target, is the digital marketing arm of Salesforce product family as this CRM platform allows marketers to create and manage marketing relationships and campaigns with customers. 


    The Marketing Cloud incorporates integrated solutions for customer journey management, email, mobile, social media, web personalization, advertising, content creation, content management and data analysis.  

The software helps digital marketers to create personalized 1-to-1 email communications to drive better customer engagement and marketing ROI (Return on Investment).  


    The E-mail marketing solution is one of the most preferred marketing cloud features that is scalable and comprehensive. It can execute promotional and automated campaigns, highly personalized E-mails, transactional messages, behavior triggered messages and much more on this robust platform for businesses of all size and industries.  

 

Image Source: - www.marketingcloud.today/salesforce-marketing-cloud-connect 

 

The Marketing Cloud is also connected to Salesforce Sales Cloud and Service Cloud, which enables coordination, that provides a unified experience and prevents customers from being contacted separately by marketers from all three groups. 


Marketing Cloud API and SFTP enables integration with any external systems. SSH File Transfer Protocol (SFTP) is a method for transferring data from one computer to another over the Internet. The SFTP server uses SFTP as a secure and flexible file transfer protocol. Importing lists and exporting information from SFTP server. 


    Unlike many other Email Marketing Providers, Marketing Cloud offers a robust API in several languages including C#, Java, Node, PHP, Ruby and Python. It offers both a SOAP and a REST API, but not all features are available in each. In general, the REST API has the newer features and Salesforce is constantly updating it. If your external system integration needs to be highly custom, this is the way to go. You can even take advantage of Heroku, Salesforce’s cloud-based application platform. 


Salesforce Marketing Cloud allows companies to personalize customer experiences across every channel using a combination of tools, which includes: 

1)Journey Builder: 

Make the journey of your customers from discovery to fulfillment using journey builder. Provide each of them with personalized journey and a connected experience at every stage of their buying journey, making them feels like they are only customers being handled by you.  


2)Email Studio: 

Create personalized emails tailored just for your contacts, filled with engaging and persuasive content for gaining the required traction. To send the right messages at right time you have to do is configure various data relationships and email templates.  


3)Data Studio: 

It allows marketers to find new audiences and activate data with easy integration into other channels. It has a user-friendly interface that makes it easy for everyone to use. 


4)Social Studio: 

Social Studio is an all-in-one social media marketing and management tool. Configure different workplaces and social accounts on the most suitable platforms for reaching out to your target audience. Social studio is designed to improve your social media game! 


5)Advertising Studio: 

Advertising never goes out of fashion! Provide a platform for your out-of-box ideas for creating personalized advertising campaigns. Reach out to your existing and potential customers on multiple platforms with effective cross-channel advertising. 


6)Mobile Studio: 

It helps you create and send highly targeted mobile messages. It allows you to target your audience by automatically message delivery, analyze and tracking management. 


7)Interaction Studio: 

It helps your co-ordinate online and offline and offline customer experiences with real time interaction management. It helps you guide your customers along with appropriate purchasing journey and connects to offline interactions like call center and ATMS. 


8)Datorama: 

Use advanced marketing intelligence platform to connect all relevant data available across different platforms, obtain key marketing insights based on your campaigns and create robust marketing analytics apps for improved performance. 


9)Analytics Builder: 

Use your customer database to get an insight into the behaviors and trends regarding your clients using analytics builder. Create customized and automated reports to obtain a detailed and extensive summary of the activities conducted by your team, helping you make key business decisions. 


10)Audience Studio: 

Formerly known as Salesforce DMP (Data Management Platform), helps to create a complete customer profile as it updates in real-time in accordance with new data signals and sources. It’s a holistic platform that helps power insights across advertising, content and commerce. 


11)Pardot: 

Pardot is software as a service (SAAS) marketing automation platform. Its main feature is email automation. Acquire your B2B sales lead in a personalized way to leverage your sales process.  


Want to learn more? Contact us for free consultation or learn more about our Marketing cloud services at Binary Republik-SFDC. 

If you have any questions you can reach out our Salesforce Consulting team here.

Thursday, 7 January 2021

Auto-update case owner of multiple records from list view in Service Console Application

Requirement:

Recently working with Service Console Application, came across a requirement where we need to auto update the Case Owner 
to current logged in user for all the selected case records from the list view. Along with that, we also need to implement it in a such way, so on auto assigning of the records, selected records should be opened in new tabs in a Service Console Application.

Challenge:

Using OOTB features of Salesforce, we can manually update the case owner of only one record at a time. However, in our case, we need to update multiple records with auto assigning of case owner with current logged in user.

Solution:

To achieve this,
  • We need to create a Custom List Button with a content source as a Visualforce page and added it to the Search Layout.
  • Basically, this visualforce page calls an action method from the APEX class and retrieves all the selected records and update case owner of each record based on the current logged in user.
  • We also need to implement JavaScript using Console API to open each updated record in new tab in Service Console Application.
  • The console API versions 42.0 and above of the Salesforce Console Integration Toolkit are supported in the Lightning Console JavaScript API.

ChangeCaseOwnerController Apex Class:

public class ChangeCaseOwnerController { 
    
    ApexPages.StandardSetController setCon; 
    public List<case> listofcases {get; set;} 
    public List<case> returnlist {get; set;} 
    public Map<string,string> returnMap {get; set;} 
   
    public ChangeCaseOwnerController(ApexPages.StandardSetController controller) { 
        setCon = controller; 
        listofcases = (List<case>)controller.getSelected(); //will fetch the selected records from record list
    }

    // method will update the owner of records assigned in listofcases 
    public PageReference changeOwner(){ 
        PageReference pref;
        list<case> caselist = new list<case>();       
 
        for(case c : listofcases){
            c.ownerId = UserInfo.getUserId();
            caselist.add(c);
        } 

        if(caselist.size() > 0){
            try { 
                    update caselist;            
                    returnMap = new Map<string,string>(); 
                    returnlist = [select id,CaseNumber from Case where id IN : lstcase ];  
                    for(Case casechild:  returnlist){ 
                         returnMap.put(casechild.id,casechild.CaseNumber); 
                     }
                  }  
           }
                 catch(DmlException e) { 
                      System.debug('The following Error exception has occurred: ' + e.getMessage());
          } 
       return null; 
    } 
} 

ChangeCaseOwner Visualforce Page:

<apex:page standardController="Case" recordSetVar="cases" extensions="ChangeCaseOwnerController" showHeader="false" action="{!changeOwner}"> 

    <!--include scripts from Salesforce Console Integration Toolkit: --> 
    <script src="../../soap/ajax/48.0/connection.js" type="text/javascript"></script>
    <script src="/support/console/48.0/integration.js" type="text/javascript"></script> 

    <script type="text/javascript">

    var mapofCases = '{!returnMap}'; // assign the map with Case Id and Case Number to variable
    mapofCases=  mapofCases.replace('{',''); 
    mapofCases= mapofCases.replace('}','');
    console.log(mapofCases); 
    var splitArray = mapofCases.split(","); 
 
    openTab(); //calling the function after getting separate case ids

    function openTab(){
        for (var i=0; i < splitArray.length; i++) {            
        openPrimaryTab(splitArray[i]); 
        }
    }

    function openPrimaryTab(arrayid) {
       var caseid=  arrayid.split("=")[0].trim(); 
       var casenumber=  arrayid.split("=")[1].trim();
       sforce.console.openPrimaryTab(undefined,'/'+caseid, true, casenumber);
    }
    </script>
</apex:page> 

Once APEX class and Visualforce page are created, we need to create a Custom List Button. To create a button, 
  • Go to Setup > Object Manager > Case > Buttons, Links, and Actions > New Button  
  • Set Name/Label > Select List Button > Content Source Visualforce Page > Content Select Visualforce Page [ChangeCaseOwner]. 

Once all above steps are setup and configured properly, we can see the desired results as shown in below video.
 
Output:


If you have any questions you can reach out to our Salesforce Consulting team here.