Automation Studio ?

Automation Studio – 

Marketing Cloud Basics: Getting familiar with Automation Studio. Automation Studio is a best-in-class Marketing Automation Platform focused on Extract Transform Load or ETL capabilities. This product allows you to import, enrich and segment your data from any external data source, enabling you to integrate directly into Journey Builder to deliver any conceivable marketing message.

Posted in Cloud Computing, Integration, Marketing Cloud,,, Social Media 2.0, Triggers | Tagged , , , , , , | 1 Comment

Salesforce Spring ’17 Release: Top Features

Spring 17 Release Overview –

The Spring ’17 Release empowers everyone to be their best with amazing new innovation for Einstein and Lightning built right into the Customer Success Platform.

For sales professionals, Einstein saves reps time by guiding sales and automatically logging events, 220+ new Lightning features help reps sell faster, and Quip provides a new level of productivity with conversational documents — available right in the Lightning platform.

For service professionals, Spring ’17 helps agents close cases faster with Lightning Console, Knowledge, and Case Management. Agents can deliver conversational service through messaging platforms like WhatsApp, or SMS, and with the Field Service Einstein mobile app they can deliver support from anywhere — online or off.

For marketers, the world’s leading Data Management platform, Krux, powers more personalized targeting at scale. And with the redesigned Marketing Cloud mobile app, marketers can move Lightning fast while they’re on-the-go.

Posted in Cloud Computing, Code Coverage, Data Management, Enterpreneurship, Integration, Lightning Components,,, Visualforce | Tagged , | Leave a comment

Salesforce Spring 17 Summary

Salesforce published Spring 17 on 19th December, 2016 released preview notes and here is the quick summary –

FYI – On 6th / 07th January Sandboxes will be upgraded for new look and feel of Spring 17 release. I will be sharing the Release Notes Summary in two emails  –

  • will include Pilot and Beta Features & new in Lightning Experience.
  • Development changes

Notes can be downloaded from –

New Pilot and BETA Features –

  1. Add Skype to Lightning Record Pages (beta) – A new Skype for Business component is available for the Lightning App Builder. Add it to your record pages to get Skype controls that let you see who’s online, initiate audio and video calls, and chat. To add this component, Skype for Salesforce  (Beta) must be set up for your org. To use the component, the record page must include at least one email field.
  2. External Services (BETA) Connect to Salesforce Using a Wizard, Schema, & Flow (Beta) – Use External Services to connect your Salesforce  org to a service of your choice. Invoke methods based on the external source via a flow. Import data from the service into Salesforce. You can do all this with the help of an easy-to-use wizard. This feature is new in Lightning Experience.
  3. Long Text Areas in Custom Metadata Types (Pilot) – Essential configuration data often runs longer than the 255-character text field limit. Until this release, storing longer strings, such as API keys, specialized markup, or SOQL queries, required workarounds using text fields. Now, you can create, package, and deploy long text areas as a custom field type.
  4. Encrypt Your Data in Chatter (Pilot) – Collaboration and security don’t have to be mutually exclusive. Shield Platform Encryption now offers another layer of protection for sensitive information shared in your Chatter feed. You can encrypt feed posts, questions and answers, link names, comments, and poll questions all with one click.

Lightning Experience Changes –

 Filter Questions in Groups in More Ways – You have more ways to look at questions in your communities and Lightning Experience group feeds. You can already sort questions, now you can filter them, too.  This feature is available in Lightning Experience and in communities based on the Customer Service (Napili) template.

  1. Chatter Feeds: Create Custom Feeds, Share Posts, Love Live Comments – Create custom feeds with streams, share posts in Lightning Experience, and see how we enhanced live comments. Now you can put together the  information that’s most useful to you in your own custom feeds with Chatter streams. Create up to five Chatter streams that combine posts from different feeds and different feed types. Combine feeds from people, groups, and records, like your accounts, opportunities, and cases. This feature is new in Lightning Experience.
  2. Order Object visibility in Lightning Experience – manage the complete Order cycle associated with Opportunity Object in Lightning Experience. Global actions are available for the Contract and Order objects, so you have more control over customizing actions for Order Object.
  3. Live Comments and Better than ever – SF enhanced live comments for better usability. For example, an animation now shows you when people are commenting. Right by that animation is a list of up to three people who are actively typing comments. This feature is new in Lightning Experience.
  4. Create Shortcuts to Your Top Salesforce  Pages with Favorites – If you’re familiar with customizing tab sets in Salesforce Classic, you’ll appreciate the way you can personalize your Lightning Experience navigation with favorites. This feature is new in Lightning Experience. Favorites let you quickly access important records, lists, groups, dashboards, and other frequently used pages in Salesforce. They’re similar to bookmarks in a web browser but better because your favorites are available no matter which device or browser you use to log into Lightning Experience.
  5. Web-to-Lead: reCAPTCHA Web Form Validation – Frustrate spammers and improve the quality of your sales teams’ leads with the reCAPTCHA widget. The reCAPTCHA widget requires interested customers to select a checkbox before they can submit an inquiry about your product. Enabling spam filtering lets sales reps focus on actual prospects, and not on spam leads.
  6. Path for Quotes and Custom Objects – Help your users move faster through your business process by adding Path to your quotes and custom objects. This change applies to Lightning Experience  only. Visually display the steps in a  process, highlight key fields, and provide guidance such as handy links, policy information, and tips to users at each step. When setting up a path, choose which of the objects pick lists steps in the path are based on. For example, if you’re creating a path for a custom object called Build Out with pick list fields Percent Complete and Build Stage, choose which field to base your path on. After activating the path, add it to page layout.
  7. Lead Assignment Rules Visible in Lightning Experience – Salespeople can now see the Lead Assignment checkbox on new leads in Lightning Experience. This change applies to Lightning Experience only.
  8. Get More Context with Snippets in Article Top Results – Excerpts from Knowledge Articles on the Top Results page help users find what they’re looking for faster.  Top Results shows the best matches for your most frequently used bjects. It’s also the first page users land on when performing a Salesforce search. This change applies to Lightning Experience only.
  9. View Dashboards as Other People in Lightning Experience – Say that your sales people can only view their own opportunities, but you’d like to review all opportunities closed in the last quarter. Create a dashboard and let people view the dashboard as you (or anyone else who can see all opportunities). When your sales people open the dashboard, they see info about all opportunities instead of only their opportunities. Their data access in Salesforce remains unchanged. They can only see more data in your dashboard. This feature is new in Lightning Experience.
  10. Move Dashboards Between Folders in the Lightning Experience Dashboard Builder – If your org is using Enhanced Analytics Folder Sharing for Reports and Dashboards, folders govern who has access to the reports and dashboards saved inside. (If your org was created after the Summer ’13 Salesforce release, you already have Enhanced Analytics Folder Sharing.) To move a dashboard from one folder to another, open the Properties menu in the Lightning Experience  Dashboard Builder. This feature is new in Lightning Experience.
  11. Subscribe to Reports in Lightning Experience – You know that report you check when you arrive in the office every Monday morning? Why not have it emailed to you every Monday at 8:00 AM instead? Subscribe to up to five reports and receive refreshed report results by email on a schedule you set: daily, weekly, or monthly. This feature is new in Lightning Experience.
  12. Manage Campaign Member Statuses in Lightning Experience – Let your marketing users set up and manage the member status values for each campaign when you add the Campaign Member Statuses related list to Campaign page layouts. This change applies to Lightning Experience and all versions of the Salesforce1 mobile app.
  13. Invite External Users to Chatter Groups in Lightning Experience – Organize the Groups List View Using Tiles Use tiles on the Groups list view for a decluttered view of all your groups. You can easily toggle between the tile view and the normal grid view. This feature is available in Lightning Experience. Invite External Users to Chatter Groups in Lightning Experience We’re bringing more power to Chatter in Lightning Experience, including the ability to invite external users to your groups. Simply add external users to groups with their email addresses.
  14. List Views in Lightning Experience Default to the Last One Viewed – No longer do you see that pesky Recently Viewed list every time you navigate to a list view in Lightning Experience. Instead, the list view you worked with last on that page is the one you see when you return to the page.
  15. Add Salesforce Files to a Record from the Related List in Lightning Experience – Increase productivity by attaching Salesforce Files to a record, right from the files card. No Chatter? No problem! You can attach Files Connect files and library files too. This change applies to Lightning Experience only. Previously, to attach a file from Salesforce to your record, you had to post it in the record’s Chatter feed. Now, in Lightning Experience and communities, you can attach Salesforce files to a record as easily as a local file.


  1. Assign Record Pages by App, Record Type, and Profile – Now you can customize your users’ experience even more granular by creating custom record pages and assigning them by app, record type, and user profile. Give your sales managers a different view of opportunities than your sales reps. Configure non-profit account pages differently than standard business account pages.
  2. Customize Your Lightning Pages Even More with New Templates – You now have more templates to choose from, increasing your page design options. We’ve added three app page templates and five record page templates. The app page templates adjust dynamically between Lightning Experience and Salesforce1. The record page templates are supported in Lightning Experience  only.
    1. The new app page templates are as follows –
      1. Header and Left Sidebar —Full-width header above a left sidebar and main column. On a tablet in portrait orientation, the columns below the header are equal width.
      2. Header and Three Columns—Full-width header above three equal-width columns. On a tablet in portrait orientation, the first column becomes the main column with the other two regions stacked in a right sidebar.
  • Header and Two Columns —Full-width header above two equal-width columns.
  1. Add the Related Record Component to Your Lightning Pages – Give your users the record details they need most. Use the Related Record component to customize your Lightning pages and display the details of a related record, including the parent record, on any record page. This feature is new in Lightning Experience.
  2. Display Pending Approval Requests on Home Pages – Use the new Items to Approve component to display approval requests that your users haven’t responded to yet. This component is supported only on Home pages. This change applies to Lightning Experience only.
  3. Processes Can Execute Actions on More Than One Criteria – We streamlined the icons in Process Builder to match the rest of Lightning Experience and are piloting support for encrypted data. These changes are available in both Lightning Experience and Salesforce Classic.
    1. Process Builder Has Updated Icons – Process Builder has Updated Icons.
    2. Access Encrypted Data in Process Builder (Pilot) – Process Builder now supports encrypted fields, except in filters, like in the Update Records action. This change applies to both Lightning Experience and Salesforce Classic.
  4. Visual Flow Enhancement –
    1. Run Flows with a Lightning Skin (Generally Available)
    2. Embed Your flows in Lightning Pages (Beta)
    3. Now you see me, now you don’t. Dynamically Update flow screen fields (pilot)
    4. Business process use name field to evaluate person accounts
    5. Access encrypted data in flows (Pilot)
    6. Display Flow screen in to columns (Generally Available)
  5. Reference Lightning Design System Assets with the $Asset Global Variable – Use the $Asset global variable to access images, sprites, and other assets that are part of the Lightning Design System. Use it in Visualforce pages that also use the <apex:slds>
  6. Use the Lightning Design System in Visualforce Pages – Use the <apex:slds> element to incorporate the Lightning Design System in your Visualforce pages and align them with the styling of Lightning Experience. This component is a streamlined alternative to uploading the Lightning Design System as a static resource and using it in your Visualforce pages.
  7. New Lightning LockerService Informational Setup Page – LockerService enhances security by isolating individual Lightning components in their own containers. LockerService also promotes best practices that improve the supportability of your code by only allowing access to supported APIs and eliminating access to non-published framework internals. The new Setup page describes the LockerService critical update and provides links to more information. The page increases visibility for this important critical update. The page is purely informational and doesn’t include any settings.
  8. Share Lightning Apps with Non-Authenticated Users – Add the ltng:allowGuestAccess interface to your Lightning Out dependency app to make it available to users without requiring them to authenticate with Salesforce. This interface lets you build your app with Lightning components, and deploy it anywhere and to anyone.
  9. Apex Code –
    1. Apex Stub API Is Now Generally Available.
    2. Monitor the status of Apex Batch Jobs
    3. Only one TestSetup Method per Class is allowed/
    4. Goodbye to instanceOf Keywords Bugs
    5. Make Web Service Callouts from Chained Queable Jobs
    6. Maps of Populated SObject Fields Return Correct Values
    7. Apex has NewTransaction Security Policy Testing Requirements.
    8. Apex: New and Chance Classes and Interfaces.
    9. ConnectApi (Chatter in Apex)
  10. Get More Information with Streamlined AppExchange Listings – SF simplified AppExchange listings so that you can view key product details with fewer clicks. On listings that include a package, you see more about what the package contains, such as the number of components that can be used in Lightning App Builder.
  11. Customize the Highlights Panel with More Action Buttons – Make your record highlights more useful by including up to 10 action buttons on the highlights panel. Previously, the limit was three. We updated the label to reflect this change, and renamed the option for displaying the highlights panel in a compact view.
  12. LockerService Has Stricter Content Security Policy – When LockerService is activated in sandboxes or Developer Edition orgs, you can’t edit rich-text fields, and the fields are grayed out. Rest assured that the limitation is only temporary for Spring ’17. We’re removing this limitation before LockerService is activated for all orgs in Summer ’17. For more information, see Rich-Text Editors Disabled When LockerService Critical Update Is Active.
  13. See More Code Coverage Results in the Developer Console – You can now view all your code coverage results in the Developer Console, even when you have more than 2,000 Apex classes and triggers. Previously, the Developer Console displayed only up to 2,000 rows of code coverage results. This change applies to both Lightning Experience and Salesforce Classic.
Posted in Apex, Apex Classes, Cloud Computing, Lightning Components,, | Tagged , | Leave a comment

Number of Contacts on Account

It would be extremely awful situation for Salesforce Administrators when your the CEO / CTO asks “How many contacts are there on ‘X’ Accounts. This would become a nightmare in Salesforce to achieve this requirement because Roll Up summary only works if you’ve Master – Detail relationship. However it is extremely important in monthly reports on how many accounts we have gained so that we can analysis our success.

Let’s see how can you achieve this requirement. Create the field on Account with the Name – “Number of Contacts (API Name -Account.Number_of_Contacts__c)

Let’s create a small trigger to achieve the above requirement on Contacts –

/* Provide summary of Number of Contacts on Account record */

trigger ContactSumTrigger on Contact (after delete, after insert, after undelete, after update) {

Contact[] cons;
if (Trigger.isDelete)
cons = Trigger.old;
cons =;

// get list of accounts
Set<ID> acctIds = new Set<ID>();
for (Contact con : cons) {

Map<ID, Contact> contactsForAccounts = new Map<ID, Contact>([select Id, AccountId from Contact where AccountId in :acctIds]);

Map<ID, Account> acctsToUpdate = new Map<ID, Account>([select Id, Number_of_Contacts__c from Account where Id in :acctIds]);

for (Account acct : acctsToUpdate.values()) {
Set<ID> conIds = new Set<ID>();
for (Contact con : contactsForAccounts.values()) {
if (con.AccountId == acct.Id)
if (acct.Number_of_Contacts__c != conIds.size())
acct.Number_of_Contacts__c = conIds.size();

update acctsToUpdate.values();


Test Class for the above Trigger: ContactSumTrigger

* This class contains unit tests for validating the behavior of Apex classes
* and triggers.
* Unit tests are class methods that verify whether a particular piece
* of code is working properly. Unit test methods take no arguments,
* commit no data to the database, and are flagged with the testMethod
* keyword in the method definition.
* All test methods in an organization are executed whenever Apex code is deployed
* to a production organization to confirm correctness, ensure code
* coverage, and prevent regressions. All Apex classes are
* required to have at least 75% code coverage in order to be deployed
* to a production organization. In addition, all triggers must have some code coverage.
* The @isTest class annotation indicates this class only contains test
* methods. Classes defined with the @isTest annotation do not count against
* the organization size limit for all Apex scripts.
* See the Apex Language Reference for more information about Testing and Code Coverage.
private class ContactSumTriggerTest {

static testMethod void contactSumTest() {
//list<Account> acct = [select Id ,Number_of_Contacts__c from Account LIMIT 1];

Account acc = new Account();
acc.Name = ‘test’;

insert acc;

Contact tstCon = new Contact ( LastName = ‘Test’,
AccountId =
insert tstCon;

tstCon.FirstName = ‘Test’;

update tstCon;

delete tstCon;

undelete tstCon;

Next Step – Deploy the code to production. In case your production has data then update all the contacts once and you’re good to go.

Posted in Apex, Apex Classes, Code Coverage,, Triggers | Tagged , , , , | Leave a comment

Introducing Aura Framework

Salesforce recently announced it’s new weapon – Salesforce 1 Lightning which on Aura Framework. Today we’re going to figure out what is Aura Framework all about.

What is Aura – Aura is a UI framework for developing dynamic web apps for mobile and desktop devices. Aura provides a scalable long-lived lifecycle to support building apps engineered for growth.


Aura supports partitioned multi-tier component development that bridges the client and server. It uses JavaScript on the client side and Java on the server side.

Why Use Aura – Aura comes with a rich and extensible component set to kick start building apps. You don’t have to spend your time optimizing your apps for different devices as the components take care of that for you.

The framework intelligently utilizes your server, browser, devices, and network so you can focus on the logic and interactions of your apps.

How Do I Develop with Aura?

You can build your user interface at a granular level and easily integrate with popular toolkits and libraries, such as jQuery. Aura’s lightweight and scalable architecture uses two key building blocks: components and events.

Components use markup that looks similar to HTML. You can also use HTML or any other code that can execute within an HTML page. Components are encapsulated and their internals stay private. You can extend existing components to customize their behavior.

The robust event model enables you to develop loosely coupled components. Once you define the events that interact with your components, your team can work on the components in parallel to quickly build a powerful app.

Aura also supports a powerful expression language, embedded testing, performance, and security features.

In case of any questions or suggestions please feel free to contact at | Tweet Me @matteys

Posted in Cloud Computing | Tagged , , , , | Leave a comment

Another Punch by Salesforce – Introducing Salesforce Analytics Cloud

Salesforce gave a strong punch to its competitors this Monday by introducing much awaited product called “Salesfoce Analytics Cloud”. A platform purely designed for everyday business users, data gurus and analysts. Analytics Cloud is also known as WAVE launched on this Monday the 13th October, 2014.

Wave works on Salesforce 1 platform and Users can combine the data to make marketing, sales, customer service and take more defined and strong strategic decisions. Its is been designed so user friendly that one don’t need to wait for Admins to create the data, it directly access the data.

It can drastically low down the time spent by admin and it will reduce the frustration of Sales Head, CEO, & CFO for not getting the accurate reports. It is been called as one of the revolutionary, innovated, its fast and data on the figure tips.

Salesforce Wave Analytics Cloud.

Salesforce Wave Analytics Cloud

Download the application –

Case study from GE Capital Analytics Cloud Success Story – 

Let me know in case you have any questions or doubts. Please drop a note at or tweet me at @matteys

Posted in Cloud Computing, Data Management, | Tagged , , , , , , , , , , | Leave a comment

Turn the “Light On” – Introducing Salesforce 1 Lightning

Year 2013 was ruled by Salesforce 1 and now this year 2014 Salesforce is ready to rule the world with Salesforce 1 Lightning. Salesforce will be announcing the same in this current week and I am sure this is going to change the way we use to see the salesforce application on mobile – infact it is going to hit the wearable technology also. This is going to be the big goldmine for developers. 🙂

I spent few odd minutes to see that what all it includes, and here is my findings –

  • Salesforce 1 Lightning App Builder (Pilot) – 
    • Visually create apps with drag-and-drop components
    • Create beautiful, responsive UIs for Salesforce1 Apps
    • Use custom or off-the-shelf Lightning Components
  • Browser Support – Google Chrome / Apple Safari (for mac) / Mozilla Firefox / IE 9, 10, 0r higher.
  • Lightning Scheme Builder – A visual node layout program that allows developers to add custom objects and fields without reading massive tables.
  • Lightning Community Designer – Taps the Salesforce Communities tool to allow users to quickly build new communities that connect partners, customers, and employees.
  • Lightning Components – Where components have already been created for certain functions, developers can just drop those into new apps they are creating. Examples of already-existing components include feed, list, chart, search, and navigation. New components can be accessed on the Salesforce AppExchange.
  • Open Source Aura Framework – Lightning components are based on the open source Aura framework available at The Aura framework enables you to build apps completely independent of your data in Salesforce. Note that the open source Aura framework has features and components that are not currently available in the Lightning Component framework.

According to Scott Holden, vice-president of platform at, Lightning is all about helping Salesforce companies build apps faster.

Available Resources  –

For any questions please feel free me to drop a note at Tweet me @matteys

WordPress Post

Posted in Cloud Computing,, Visualforce | Tagged , , , , , | 1 Comment