Tuesday, 30 August 2016

A Slack Bot for Salesforce

6:02 pm

Slack is a team collaboration application that has gained a significant amount of momentum over the last 2 years. One of the things that sets Slack apart is the simple and powerful way it can integrate with external applications (Google Drive, Twitter, Trello, or any other app). Using Incoming Webhooks, external apps can automatically post messages to Slack channels when specific events under their control occur.

In this article, I will demonstrate how to integrate Slack and Salesforce.
Business Use Case: Send a direct message in Slack when users created a new lead in Salesforce.

Solution of above business requirement 
There are few possible solutions for the above business scenario, but I would like to use Process Builder and Apex to show you the case.

1. Create a Webhook 
Incoming Webhooks are a simple way to post messages from external sources into Slack. They make use of normal HTTP requests with a JSON payload. And now we can configure the Salesforce Lead integration.

2. Create the Apex Class for the Slack message Publisher 
Each bot has an additional class within Salesforce which contains the end point URL for the chat.postMessage method, you can find that here: https://api.slack.com/methods/chat.postMessage.

In Spring '15 release, a new Apex annotation was introduced. @InvocableMethod Annotation lets us mark an Apex method as being something that can be call from somewhere other than Apex. Thus, we can implement the Apex Class to post the message, and you have to input the Webhook URL created in step 1.

public class SlackSalesforceLeadPublisher {

    private static final String slackURL = 'XXXXXXXXXXXXX';

    public class LeadRd {
        @InvocableVariable(label='Lead Name')
        public String LeadName;
    @InvocableMethod(label='Post to Slack')
    public static void postToSlack(List<LeadRd> leads) {
        LeadRd ld = leads[0]; 
        Map<String,Object> msg = new Map<String,Object>();
        msg.put('text', 'You have a new Lead:\n' + ld.LeadName + '\nPlease follow up.');
        msg.put('mrkdwn', true);
        String body = JSON.serialize(msg);    
        System.enqueueJob(new QueueableSlackCall(slackURL, 'POST', body));
    public class QueueableSlackCall implements System.Queueable, Database.AllowsCallouts {
        private final String url;
        private final String method;
        private final String body;
        public QueueableSlackCall(String url, String method, String body) {
            this.url = url;
            this.method = method;
            this.body = body;
        public void execute(System.QueueableContext ctx) {
            HttpRequest req = new HttpRequest();
            Http http = new Http();
            HttpResponse res = http.send(req);

3. Create the Process in Salesforce Process Builder 
To call your apex code, you can directly to use process builder. Follow the below instructions to create a Process.

3.1  Click on Name | Setup | App Setup | Create | Workflows & Approvals | Process Builder
3.2  To create a new process from scratch, click on the New Button available on Process management page. A popup will appear where you have to enter the Name.

3.3  Click on Object node to add object and then select Lead object.
For the entry criteria, Select only when a record is created. Once you’re done click on the Save button

3.4  The next task is to add Process Criteria, To do this click on Add Criteria, enter Name, Type of action and set filter conditions.
In this case we can set "No criteria - just execute the actions!"

3.5  The next step is to add an Immediate action to Process. Click on Add Action (Under Immediate actions), Select the type of action to create (In our case Apex), and then fill out the fields to define the action.

**Under Apex Class section, It will list out all the classes that contain methods annotated with @InvocableMethod Annotation.

3.6  Once you are done, click on the Save button. And don't forget to active the Process by clicking on the Activate button.

It’s time to test this feature

1. Navigate to the Lead tab, and create the Lead record.

2. You can now see the direct message on Slack!

Monday, 29 August 2016

Use V2MOM to Grow Your Team

11:01 am
Ref. https://www.salesforce.com/blog/2013/04/how-to-create-alignment-within-your-company.html

When Alex Bard sold his last startup Assistly for $80 million to Salesforce, he said a big reason he took the offer was to get a chance to work closely with Salesforce CEO Marc Benioff.Indeed, for the next five years, Bard was one of Benioff's top lieutenants, running Salesforce's Service Cloud unit, which is now its second largest business with nearly $2 billion in annual revenue.Bard left Salesforce in 2014 to join a company called Campaign Monitor, an email marketing software maker with $250 million in funding.Although Bard is no longer part of Salesforce, he says learned a lot from Benioff.

Bard shared three things that he liked so much at Salesforce, and he implemented V2MOM at his current company. So, what's V2MOM?

V2MOM stands for Vision, Values, Methods, Obstacles and Measures
This is a list of management guidelines Marc invented that stands for vision, values, methods, obstacles, and measures when launching the company in 1999.

Here’s what Benioff wrote on Salesforce’s first-ever V2MOM:

What is a vision?
Your vision answers the question "What do I want?" A clear vision help you communicate why you're here and what impact you're going to have.
Your vision should be aligned with the company vision, with your manager's V2MOM, and it should be personal. It should be an honest reflection of your own vision for your own work. If you manage a team, it should be reflective of the purpose of the team and your collective impact.

What are values?
Your values answer the question "What is important to me as I pursue my vision?" Think of your values as principles and beliefs that guide the everyday decisions you'll make on priorities. Prioritize your values, get aligned with your team and your manager on these values because clarity here will help make so other decisions easier throughout the year.
What are methods? Your methods answer the question "What am I going to do?" or if you're managing a team, "What are WE going to do?" Use your methods to describe what high-level actions and steps are required to achieve the vision. Prioritize your methods so that everyone understands where you're focused.

What are obstacles?
Obstacles define the challenges, problems, and issues you need to overcome in order to complete your methods and achieve your vision. What the biggest challenge you face? What's going to make your work hard? What's going to get in your way? By honestly confronting these obstacles up front, you can plan for them. Once again, prioritize, prioritize, prioritize.

What are measures (aka metrics)?
Measures answer the question "How will I know if I am successful?" Measures specific the actual result you're aiming to achieve. It's a best practice to specify a numerical outcome and a time-frame. Prioritize your measures - most important measures first, "nice to haves" at the end.

V2MOM is not a corporate policy, and everyone should get their own V2MOM
The cool thing about a V2MOM is a fact that at first it might look like this "phoney corporate policy" but in the end it's not. It's a document that really states what you want to achieve in the coming months, why you want all that and how you want to get there.

Friday, 26 August 2016

One more our consultant passed Salesforce.com Certified Admin Exam

12:44 pm
Just Received the good news from my teammate, Kammy Lai, she passed her certified admin exam this morning!

What to expect for the exam
You can opt to take this exam online or in a classroom setting, both proctored. The exam consists of 60 multiple choice questions, and you have 90 minutes to complete it. The passing score is 65%, and you cannot use any reference material during the exam. Not sure where to begin when prepping for the exam?

These three tips for passing the Salesforce Certified Administrator Exam can help you get started. 

1. Find reliable study material.
Visit http://certification.salesforce.com/Administrators and download the free study guide. Look at the test outline and review each topic. If you don't know answers then look up the answers in Salesforce Learning Center and you will find the answer.

Some study guides that you can consider:
1. Salesforce Certification Exam Notes (Study Guides)
This note highlights things that you should need to know for this exam.
2. Salesforce Ben - Certified Administrator Quiz
Well-known Free Exam Quiz
3. Salesforce Ben - Certified Administrator Mock Exam
Well-known Free Exam Mock Exam
4. Sfdcstudy,org Study Notes
Its Admin study notes content is very good, broken out by exam objective. There is also access to quizzes and online games.

2. Create a developer org and practice.
Salesforce Trailhead is a great practice instrument, as it offers various exercise challenges and multiple modules. The great thing about Trailhead is that if you don’t complete the exercise correctly, it provides you with hints as to what you missed. I’d strongly recommend completing the Admin Beginner, Admin Intermediate, and CRM trails before taking the certification exam.

3. Give yourself enough time to study.
Studying for the exam is not something you want to do in one day or one week.  I would recommend budgeting at least one month to absorb the concepts discussed in each test section.  Allow for one hour per day to study and then increase the number of hours as you get closer to the test date.

Have you taken the Salesforce Certified Administrator exam? Are you preparing for the exam now? Share your tips in the comments!

Thursday, 25 August 2016

Salesforce's next AI product "Salesforce Einstein"

11:42 am

ref. from forbes

Salesforce is at work on an artificial intelligence-related product called Einstein, according to a lengthy profile of CEO Marc Benioff that’s online today and is set to appear in the Sept. 13 issue of Forbes.

Einstein is Salesforce's attempt to add artificial intelligence to its flagship customer relationship management product. While we don't know many details about the product yet, Benioff does tend to like to tease the company's major new product releases by dribbling out tidbits before the official announcement.

The product is set to launch at Salesforce’s Dreamforce conference Oct. 4-7 in San Francisco, according to the report. Salesforce declined to comment. The Forbes profile portrays Benioff as a hyper-energetic co-founder/CEO with a strong social conscience who has built an innovative 17-year-old company that has grown fast but now needs new innovation to continue to flourish.

For instance, Benioff tweeted out that Einstein will be the "first comprehensive AI platform for CRM." While that sounds like a bunch of buzzword gibberish, it underscores that Einstein is the AI product that Benioff had hinted about a few months back, when he spoke to Wall Street analysts during a quarterly conference call

"We are introducing this AI wrapper," he said. "Artificial intelligence is becoming part of Sales Cloud." He said at the time, that AI will eventually be part of all of the company's apps."

Benioff’s acquisition spree means he has AI features already at his fingertips:

  1. Smart data discovery (Beyondcore)
  2. Relationship intelligence and communication trends (RelateIQ, Implisit)
  3. Smart scheduling (Tempo AI)
  4. Guided selling (Steelbrick)
  5. Image recognition (Metamind)
  6. Content discovery (PredictionIO)
  7. Media topic trending prediction (ALIA by Minhash)
  8. Fraud and security breach prediction (Toopher)
  9. Server maintenance prediction (Coolan)

Wednesday, 24 August 2016

Useful Google Chrome Extension Every Salesforce Admin and Developer Should Have

12:57 pm

It’s no secret that Google Chrome is incredibly powerful web browser. And if you spend a lot of time in Salesforce.com, there are a bunch of Salesforce extensions that will make your life a whole lot easier.


Add ColumnCopy into your Chrome
ColumnCopy allows you to click right on a list on any website and essentially copy the values. Not only does it copy columns, but it can also copy table values. Once copied, the values of the column or table can be dropped into Excel, Google Docs or right into Salesforce.

Salesforce Navigator

Add Salesforce Navigator into your Chrome
Salesforce Navigator is extremely simple and will save Consultants, Developers and Administrators a massive amount of time when trying to navigate through Salesforce. Once installed into Chrome Salesforce navigator will sit dormant in the background until you press the magic key combo, Shift + Space. What this will do is launch a mini floating search bar in the middle of your page that allows you to search the whole of Salesforce.

Salesforce Admin Check All

Add Salesforce Admin Check All into your Chrome
Salesforce Admin Check All is an extension that enhances the Salesforce Setup pages by adding "check all" checkboxes to various checkbox lists. This enhanced functionality helps make some setup tasks more efficient by potentially saving administrators from having to manually check each checkbox in a list individually.

Record and Metadata Comparator for Salesforce 

Add Record and Metadata Comparator for Salesforce
This extension compares any two objects or its records (could be from same org or different orgs) and highlights all the differences found. It can show you the following
- Which fields are missing in target org.
- Which fields are missing in source org
- which fields have metadata difference (change in formula, datatype , required etc.)

- which fields have data value mismatch

Sandbox Favicon

Add Sandbox Favicon into your Chrome
This is very useful for Consultants, Administrators and Developers that work between sandboxes and production a lot. This little extension will change the Favicon (The little logo next to browser tabs) on Salesforce Sandboxes to an S.

Salesforce API FieldNames

Add Salesforce API FieldNames into your Chrome
This extensions is to toggle between API field names and labels on salesforce detail pages.

Friday, 19 August 2016

Women's Digital Health Startup Bloomlife Raises $4M in Seed Funding

4:49 pm


Founded in 2014 by Eric Dy, PhD and Julien Penders, MSc and based in San Francisco with offices in Belgium, Bloomlife is a digital health company designing the future of prenatal care with technology to improve the health of moms and babies. Bloomlife is developing smart pregnancy wearables that measure important health parameters of mom and baby from conception to birth. By combining wearable technology with data analytics, Bloomlife strives to provide moms and clinicians with better information to improve birth outcomes. www.bloomlife.com

SAN FRANCISCO, Aug. 16, 2016 /PRNewswire/ -- Bloomlife, digital health company focused on improving the health of moms and babies, announced the closing of $4 million seed funding round led by investors Marc Benioff and Efficient Capacity, LanzaTech Ventures, MeusInvest, Hanmi IT, The Chernin Group, Kapor Capital, and Act One Ventures. This round brings Bloomlife's total funding to $6M.

Marc Benioff, founder of Salesforce, is no stranger to women’s issues in the tech world. He’s famously advocated for women in the tech workplace and seems to have set his eyes on helping women’s health.

With the new funding, Bloomlife is focused on building out its commercialization efforts for its first product, a smart pregnancy wearable that automatically detects and tracks contractions which expectant moms can visualize on their smartphone. With their innovative technology, Bloomlife allows the expectant mom to better understand her body and gain peace of mind throughout the third trimester.  "Every pregnancy is unique and expectant moms are looking for validation of what they are feeling. Boomlife provides an objective second opinion," says Eric Dy. Bloomlife's pregnancy wearable is only available through an exclusive Early Access Program on their website www.bloomlife.com until launch. Funding will also be used to accelerate commercialization of next features.

Wednesday, 10 August 2016

Automatically Get Geocodes for Addresses and show it on the Visualforce Map

11:24 am
Help your sales and marketing teams find nearby prospects, assign territories and campaigns, and more! All this is a cinch with geocodes. In just a few clicks, you can set up and activate the geocode clean rules for your org. Then, geocodes are added for addresses on existing and new accounts, contacts, and leads. You can set up geocode clean rules in Salesforce Classic only.

Geocodes are added only for some standard addresses:

  • Billing Address on accounts
  • Shipping Address on accounts
  • Mailing Address on contacts
  • Address on leads
** Person accounts are not supported.

This feature needs to be enabled by the following steps:

  • From Setup, enter Clean Rules in the Quick Find box, then select Clean Rules.
  • Edit a geocode clean rule. There are four geocode clean rules available.
  • Review your clean rule settings.
  • Save the rule.
  • Activate the rule.
  • If Clean all records when this rule is activated or saved is selected, geocodes are automatically added to all existing records. New records automatically get geocodes when they’re saved. Existing geocode values are overwritten.
  • Repeat this process for the other geocode clean rules.

Now you can create map with Visualforce!

A basic map without markers requires only an <apex:map> component. This component defines the map’s basic canvas, including its dimensions, location, and initial zoom level.

The center attribute defines the point around which the map is centered. You can provide center values in several formats.
  • A string that represents an address. For example, "1 Market Street, San Francisco, CA". The address is geocoded to determine its latitude and longitude.
  • A string that represents a JSON object with latitude and longitude attributes that specify location coordinates. For example, "{latitude: 37.794, longitude: -122.395}".
  • An Apex map object of type Map<String, Double>, with latitude and longitude keys to specify location coordinates.

<apex:page standardController="Contact">
    <!-- Display the address on a map -->
    <apex:map width="600px" height="400px" mapType="roadmap" zoomLevel="16" >
        <apex:mapMarker position="{!Contact.mailingLatitude}{!contact.mailingLongitude}" title="{!contact.Name}" >
                <apex:outputPanel layout="block" style="font-weight: bold;">
                    <apex:outputText>{! contact.Name }</apex:outputText>
                <apex:outputPanel layout="block">

This code produces the follow map. 
  • In this example, I have added the location marker by entering the Geocode from Contact.
  • And even I didn't inpu the "Center" point in <Apex:map> , we can input display the location by adding the child <Apex:mapMaker> component. 
  • The mapType value is "roadmap", a standard street map. Other options are "satellite", and "hybrid".
  • Using "<apex:map:inInfoWindow>" component, we can display more information regarding the location. The body of the <apex:mapInfoWindow> component is displayed in the info window when users click or tap the marker, and can be Visualforce markup, HTML and CSS, or plain text.

Tuesday, 9 August 2016

New Trust.Salesforce.com will be released in September

1:20 pm
Trust.salesforce.com is Salesforce's website to provide transparency around service availability, performance, security, privacy and compliance in order to instill trust and confidence in their service.


If you don't know which instance that you are using, you can view the instance reflected on the URL.
e.g. Http://na1.Salesforce.com/..
It is on the NA1 instance.

But if you are using "MyDomain":

  • Select the “?” icon available on the Top left hand corner
  • Enter your company's Domain into the text box under 'My Domain'
  • Click Find

It would give you the Instance your Org is hosted on.

What is the Star icon next to the “?” icon?

  • The Star icon is used to select which instance in particular you'd like to view alone (i.e.NA0, NA1 etc.)
  • Click on the Star Icon
  • Mark the instance/s you would like to view in particular
  • Click on the 'a' icon to save the changes.

What does each availability status represent? 
  • The color indications on the Status tab on Salesforce Trust site, determine the availability status of each instance. Below mentioned are the details:
  • Green (Available): This instance is available and fully functional.
  • Blue (Informational): Information about the instance that is not a performance issue or service disruption. 
  • Purple (Maintenance): This instance is currently in maintenance. A message will be provided regarding your ability to access the instance during the maintenance. 
  • Yellow (Performance issues): The instance is still accessible, however there is particular functionality that may be unavailable, or the service may be running with significant latency. 
  • Red (Service disruption): The instance is inaccessible to customers. 

How's about "Beta trust.salesforce.com"?
You can go there from this path https://beta.status.salesforce.com/status

As you can see, each instance's performance is now calculated on six metrics so you'll at least know which bit of the service is misbehaving. 

Here's what you see if you click on one of those orange incident balloons. 

Friday, 5 August 2016

Salesforce Winter 17 is coming soon

11:19 am
Salesforce Winter '17 Sandbox Preview Instructions

The Salesforce Winter ‘17 release is quickly approaching and soon you'll be able to take advantage of exciting new features and functionality! If you are a Sandbox customer, you have the opportunity to get early access to Winter ‘17 in your Sandbox and test new customizations and features before your production organization is upgraded.

The Sandbox Preview window for Winter ‘17 is scheduled to begin September 9, 2016. If you would like your Sandbox organization to take part in the Winter ‘17 Preview, your Sandbox must be active on a preview instance by September 9, 2016 to take part in an overall instance upgrade.
Please read carefully and follow the instructions in the next section for specific information on how to handle each of your Sandboxes.  In most cases, you will not need to do anything because your Sandbox is already on a preview instance.  But you may need to take action by September 2, 2016 in order for your Sandbox to take part in the Winter ‘17 Preview

General Information about the Sandbox Service:
From the time your Production Instance (e.g. NA2, EU1, AP0) was upgraded, all Sandbox creation and refresh requests were routed to a Sandbox instance that will be upgraded for the preview.  We will continue to route these requests to Preview Sandbox Instances until September 2, 2016.
Starting September 3, 2016, all creation and refresh requests will be routed to non-preview instances until your production instance is upgraded to Winter ‘17.
You have from now until September 2, 2016 to decide if you would like your Sandbox to take part in the Winter ‘17 Preview. Follow the steps below for each Sandbox org that you have.

Note: If you have a full Sandbox, be mindful of the 29-day refresh policy and plan accordingly.

Thursday, 4 August 2016

Cannot open Excel file exported via Salesforce Report export after Microsoft Office update on July 12th 2016

11:19 am

I believe that most of you are familiar with Salesforce Report Export feature. So, today I am not planning to explain how to export xls from Salesforce standard report, but I would like to share what I have encountered on this well-known feature.

After I downloaded the file, I couldn't open it via MS excel 2013. Thus, I tried to view it via notepad, I found that the table style is ready in the connect. However, I couldn't open it via excel. That's why I tried to search this issue in "Salesforce Success Community". And I am confused as I have found this issue on it.


My current issue
1. Create a report and export it as "Printable View" or "Export Details"
2. Open the report by Excel on Windows.
3. Excel will show empty content.

Following the installation of a Microsoft security update released on July 12, 2016, users are unable to open Excel files downloaded from several websites, including Salesforce.
The update is documented in the Microsoft article linked below:

UPDATE ***** 7/22/2016*****
Microsoft has published a KB Article about this issue, including suggested workarounds:

After applying the MS Office update from Microsoft:
Microsoft Security Bulletin MS16-088 - Critical
Security Update for Microsoft Office (3170008)
Published: July 12, 2016

1. Create a report and export it as "Printable View" or "Export Details"
2. Open the report by Excel on Windows.
3. Excel will show empty content.

Note: Salesforce cannot advise on the settings or applied patches for Microsoft products. Please work with your internal IT department to determine the best course of action for users within your organization.

We are working in cooperation with Microsoft to resolve this issue.

1. Unblock access in File Properties. To do this:
-Right click on the file and choose Properties
-On the General tab, click Unblock
-Click OK


2. Disable the Protected View setting within Excel. To do this:
-Open MS Excel
-Go to File > Options
-Click Trust Center (from the menu on the left)
-Click the 'Trust Center Settings' button
-Click Protected View (from the menu on the left)
-Remove the check mark next to "Enable Protected View for files originating from the internet"
-Click OK
-Click OK


3. Change the export file format to "Comma Delimited .csv". To do this:
-Run the report and then click Export Details
-Change the export file format to "Comma Delimited .csv"
-Click Export
NOTE: Exported .csv files do not contain the formatting found in the .xls files. Please review the exported file to ensure it meets your needs.

4. Remove this specific MS update from the local computer

At the end, I have chosen Option 1. And it works!

Link a single Contact to Multiple Accounts

11:02 am
Have you ever had an Issue trying to figure out how to solve a Client's data structure or model Issue when it comes to Contacts being duplicates in so many places because they are really not duplicates but are contacts for all the Accounts you are working on for one reason or another.

In some businesses and industries it is common to link one contact with multiple accounts. And you can find this idea in IdeaExchange.


Now "Contacts to Multiple Accounts" is now generally available as of the Summer 16 release.

Let's watch a recent webinar highlighting this feature:

We can view the details from the release note:


John Smith is a vice president at Acme Corporations, and Acme is the account on his contact record (1). But John is also involved with the nonprofit organization Greendot Media. By adding Greendot Media as a related account on John’s contact record (2), reps can track this other relationship. John is considered a direct contact to Acme because Acme is the account on his contact record (3). And he’s considered an indirect contact to Greendot Media and any other accounts that he becomes related to (4).

Directly and indirectly related accounts on a contact record
John also appears as a related contact on the Greendot Media account record and any other accounts that he’s indirectly related to (5).

Directly and indirectly related contacts on an account record.

This feature needs to be enabled on the Account Settings screen. Once enabled, you decide the behavior when a user deletes an account with direct contacts related to other accounts or when users replace the primary account as shown below.

  • From Setup, enter Account Settings in the Quick Find box, then select Account Settings.
  • Select Allow users to relate a contact to multiple accounts.
  • Add the Related Contacts related list to the account page layouts that your reps use.

Wednesday, 3 August 2016

Salesforce buys word processing app Quip for $750M

6:11 pm

"Microsoft buying LinkedIn was surprise to a lot of people, Oracle then decided to acquire Netsuite." How's about Salesforce?!

Salesforce plans to buy Quip, a startup focused on mobile document management. The deal puts Salesforce in a position to better compete with productivity platforms Google Drive and Microsoft Office 365.

Quip was founded in 2012 and had raised $45 million in funding, with other investors (in addition to Marc Benioff and Salesforce Ventures) including Peter Fenton and Benchmark, Greylock, and Yuri Milner. Quip already counts several key companies, including Taylor’s former company Facebook, among its customers.

What is Quip?
Quip is free for individual users while small companies pay $12 per user per month. Larger enterprises pay $25 per user per month. Customers include Facebook, Electronic Arts, CNN, and New Relic. Quip has raised $45 million from Benchmark and Greylock.

Supported languages ​​: English , Simplified Chinese
Cost: free
iOS Download : https://itun.es/i6hD8YY
Android Download : https://goo.gl/ms7STw
Mac Download : https://goo.gl/Y5ZY5v
Windows Downloads : https://goo.gl/h4uVp9
Quip desktop version : https://quip.com/

Tuesday, 2 August 2016

I want to take SFDC platform developer I exam

4:10 pm

As many of you may be aware, Salesforce.com has announced changes to the Salesforce Developer Certification roadmap. Even though I am existing Salesforce Certified Force.com Developer(DEV401), it's time to take the Salesforce platform developer I.

Quick facts about the Exam (Platform Developer I):
1. 60 multiple-choice questions
2. 105 minutes allotted to complete the exam
3. 68% is the passing score
4. Registration fee is USD 200
5. Retake fee is USD 100
6. No hard-copy or online materials may be referenced during the exam
7. No prerequisites

To prepare this examination, I decided to spend 1 week my off-hours working through the suggested materials in the Salesforce Certified Platform Developer I study guide. Well, I admit that I am quite nervous.

So what topics that I plan to study?!

Standard Objects:
In past few years, I have participated in different Salesforce project, of course it included well-known Sales Cloud & Service Cloud, I believe that I have a good understanding of how the Standard Objects are used by actual users of Salesforce.

  • Accounts & Contacts Trailhead
  • Leads & Opportunity Trailhead
  • List of all Standard Objects
  • Sales Cloud Data Model
  • Service Cloud Data Model
Apex vs Salesforce built-in tools:
  • As a developer, we should know what we can do, what we can't do in below items.
  • Workflows
  • Trigger
  • Process Builder
  • Flow
Primitive Data Types:
Apex uses the same primitive data types as the SOAP API. All primitive data types are passed by value. All Apex variables, whether they’re class member variables or method variables, are initialized to null. Therefore, we have to make sure that we have initialized our variables to appropriate values before using them. For example, initialize a Boolean variable to false.

Developer Related Limits:
Know the most common Salesforce Limits, especially those relating to DML, Triggers, SOQL, and SOSL. Most likely you won’t be asked directly about them, but general Apex related questions will require you to know them. Always check for them in these questions.

Developer Console:
The developer Console provides a convenient sets of tools, but 

Changes Sets:
Using change sets, we don't have to be an experienced programmer, but we can still deploy changes with point-and-click tools. Use change sets to send customizations from one Salesforce org to another. For example, you can create and test a new object in a sandbox org, then send it to your production org using a change set. Change sets can only contain modifications you can make through the Setup menu. For example, you can’t use a change set to upload a list of contact records. Change sets contain information about the org. They don’t contain data, such as records.

Change sets allow you to validate changes before you send them to the target organization, providing another layer of safety. Because you can control which components are in a change set, you have fine-grained control over the deployment. Also, the target organization (in this scenario, the production organization) can choose when to deploy the change set it has received. For example, if you want to enable a change set during off-hours, you can do so no matter when the changes were sent.

Finally, change sets make the overall release process easier, because you can easily deploy the same change set to more than one environment.

I have another post and explained to that.

Apex Unit Test:
The Apex testing framework enables you to write and execute tests for your Apex classes and triggers on the Force.com platform. Apex unit tests ensure high quality for your Apex code and let you meet requirements for deploying Apex. In the meantime, before we can deploy we code or package it for the Force.com​ AppExchange, at least 75% of Apex code must be covered by tests, and all those tests must pass. So how to achieve it?

Why use Standard Set Controllers or Standard List Controllers?
  • Standard Controllers
  • Standard List Controllers
  • Custom Controllers 
  • Controller Extensions
  • StandardSetController Class 

Order of Executions:
To aviod infinite looping, we should know the ordering of Salesforce execution. 

All requests are delimited by the trigger, class method, Web Service, Visualforce page or anonymous block that executes the Apex code. If the entire request completes successfully, all changes are committed to the database. For example, suppose a Visualforce page called an Apex controller, which in turn called an additional Apex class. Only when all the Apex code has finished running and the Visualforce page has finished running, are the changes committed to the database. If the request does not complete successfully, all database changes are rolled back.


Good luck to me, I hope to tell you guys my good news!

Back to Top

What I Can Help



Do you wanna share posts

I am always looking for writers that have something interesting to say about Salesforce. Whether you have a post in mind or would like to collaborate on one, get in touch! - Click Contact Me