Most of you know I love working with Salesforce CPQ and since a short time also Salesforce Billing. If you don't know what the new Salesforce Quote-To-Cash is and why I like it so much then read my blogpost on it.
Living in Belgium and interested in learning more on Salesforce Quote-To-Cash? Then join the Belgium User Group session on April 25th 2017 and register here for free!
Beginning of february I had the chance to participate in the Beta Exam for the new Salesforce Certified CPQ Specialist certification exam. Having passed 6 Salesforce certifications at first try, having followed the Steelbrick CPQ Technical Training course, passing the CPQ Brown Belt accreditation and having more than 7 months experience in assessing & implementing Salesforce CPQ configurations, I thaught it would be a walk in the park... Well I guessed wrong,...VERY WRONG! I failed a Salesforce exam for the first time. Major Bummer! But I'm not ashamed of it ;-)
Actually it did not come as a surprise because when I came out of the exam room I just knew I didn't pass, but because it was a beta we would only get our results after 2 months. 2 months of waiting and being completely baffled by the level of detail and complexity those 110 questions were, including calculations with block prices (type slab) and discount schedules with quantities in each slab and having percentages like 12.5% and 15% and not being able to use a calculator??! In this day and age?? I can honestly say I'm not bad at math but it has been more than 18 years since I had to perform manual division with pencil and a paper ;-) I lost a lot of time at those exercises and couldn't finish responding to all questions within the given time. 8 questions unanswered and time was up... this never happened before :-(
So when approximately 2 months passed and I received my negative results I wasn't surprised, on the contrary, I gained extra motivation to pass this exam as soon as it would be made publically available to register again.
And yes about 2 weeks ago Salesforce announced this new certification was open for registration and I immediately registered and booked a seat for today, but this time I would be EXTRA prepared! This would not happen again and I want you to be prepared also!
Oh yeah and by the way I PASSED ;-) I am now a Salesforce Certified CPQ Specialist... #OVERJOYED
So for that reason I 'll list some resources for you to study and prepare yourself for this exam, but be aware for the following:
- Do not only read the resources listed underneath, you'll need to understand the concepts very well!
- Theory only will not get you to pass this exam, at least spin up a dev org and install CPQ and try configuring some bundels, quote them, make sure to create a quote template including Terms and Conditions! You can find the downloadlinks to the latest CPQ version here.
- If possible and you have access to partner training or premier training follow the Steelbrick Learning Pathway
- If you see any links to other articles within the articles hereunder, click through and read them!
- If an article contains a video, watch the video!
- Get into the details!
So here are the resources that can help you study for the Salesforce Certified CPQ Specialist exam and without reveiling any questions I've put 1, 2 or 3 exclamation marks for subjects on which I received questions and how many questions. So !!! means multiple questions or very detailed questions.
- Access the official Study Guide
- Trailhead CPQ Basics
- Adding Features
- Adding Options
- Changing Option Selection Method !
- Controlling when Bundle Configuration is Required
- An Overview of Product Bundles
- Adding Option Constraints
- Check Prior Purchases & Option Constraints (To Avoid Creating Product Rules) !!!
- Product Validation Rules !
- Configuration Selection Rules !!
- Alert Rules !
- Overview of Product Rules
- Create a Product Rule Based on a Prior Purchase !
- Product Actions !
- Configuration Attributes
- Price Rules from Configuration Attribute !
- Configuration Attribute Layouts
- Hiding Options in Configurator !!
- Auto-Mapping: Twin Fields !
- Auto-Mapping: Twin Fields Q&A !
- Bundle & Feature Level Field Sets
- Product Managed Fields
- Smart Start
- Setting Configuration Type !
- Package Product Code !!
- Package Product Description
- Subscription Pricing
- Guided Selling Overview
- Building a Workflow to Map Quote Process
- Dynamic Questions in Guided Selling
- Guided Selling Use Case !
- Custom Actions !
- Search Filters !
- Dynamically Displaying Quote Line Columns !
- Draft Watermark Added to Quote PDF
- Creating Template Sections !
- Translating Quote Templates
- Quote Template Fields
- Setting Document Output Formats !
- Creating Dynamic Proposals !!
- Custom HTML Template Content Troubleshooting !
- Receiving error when previewing Quote Template: Invalid conversion from runtime type Boolean String
- Create Template Content
- Multiple Quote Term Sections
- Building Quote Term Conditions
- Creating Standard Terms !
- Lock Quote Term from Edits
- Merge Fields !
- Generate Documents !
- Filtering Line Items to Display in Separate Sections
- Line Item Groups !!
- Automatically Grouping Line Items in Quote Templates !
- Configure Quote Line Item Columns !
- Block Pricing !!
- Discount Methods: Discount Schedules Overview !!!
- Combine Block Pricing with Discount Schedules !!!
- Percent of Total Pricing !!!
- Cost & Markup Pricing
- Price Rules 1 - Overview, Price Conditions & Price Actions !!!
- Lookup Object / Table !!!
- Real-Time Price Rules in Configuration !!
- Writing Advanced-Calculator-Compatible Formulas
- Overview of Product Pricing !!!
- Quote Line Managed Fields !
- Adding Summary Variable
- Original Price - MSRP Pricing !!!
- User-Defined Discount Schedules
- Discount Methods: Discount Schedules Overview !
- Multi-Dimensional Quoting (MDQ) !
- Configure Steelbrick CPQ Package-Level Settings !!
- Making MDQ Products Appear in the Standard Table by Default
- Segmented Products: Yearly
- Custom Segments in MDQ !!
- Quote Line Managed Fields !
- Monthly & Daily Prorate Precision !!
- Subscription Pricing !
- Effective Quantity
- Discount Methods: Partner Discounts
- Quote Calculation & Triggering Calculations !!
- Contracted Pricing !
- Ignore Parent Contracted Prices !
- Auto-Generating a Contracted Price
- Change Auto-Populate Behavior in New Quotes
- Opportunity Products Troubleshooting !
- Edit Lines Page !
- Bundle & Feature Level Field Sets !
- Quote Line Editor Overview
- Permissions on Profiles !
- Field-Level Security
- Contracts Overview !
- Contracting Assets
- Renewal Overview 1 - Setup !!
- Preserve Bundle Structure on Renewal Quotes
- Asset Amendments !
- Localization with SteelBrick - Translation Overview !
I hope you will be well prepared for this exam and I wish you lots of success!
As a Salesforce Administrator & Developer I’m always looking to expand my knowledge on the Force.com platform.
Salesforce provides lots and lots of different resources to its customers which help them to better work with the platform and deliver “best-in-class” results. Ranging from the Help & Training portal to the different Customer Success Communities, as well as the different free workbooks and paid instructor-lead courses they offer.
A couple of days ago I stumbled upon a new, completely free, way of learning that Salesforce developed called Salesforce Trailhead
As a Salesforce administrator you are probably confronted with a lot of data files in Salesforce on a daily basis, just like me. And what #awesomeadmins ALWAYS do before import data into Salesforce is preparing the file for import!
While preparing for my Salesforce Certified Administrator exam, which I passed in april this year, I wrote some notes down to review just before taking the exam.
The majority of the notes came from someone else who took the exam somewhere beginning of 2012, and as I was watching the video’s on Premier Help & Training portal, I edited and corrected them and even added some content to them.
For the past few weeks, while the family was eating, drinking and having fun over the holidays, I was actually preparing myself for the Salesforce Certified Advanced Administrator exam.
Maybe this seems a bit dorky to you, but I was actually having fun too ????
Discovering functionality that I hadn’t used before, playing with it in a developer org, making notes, trying out some own ideas tweaking the exercises… that’s just pure fun isn’t it?!
Almost every Salesforce admin knows how to create an email template which can then be used in Workflow Rules, Process Builder, Visual Flow or just manually from the “Send email” button in the activity history related list.
Actually when creating an email template you’ve got 4 options:
- HTML (with a letterhead)
- Custom (without using a letterhead)
The first 3 options let you create email templates containing mergefields of a particular object and fields of lookup relationships going up, but not down.
In most cases that’s all you need. But what if you would like to create an email template containing records from a related list like for example an Order Confirmation Email, containing the Order Details and a table of it’s related products ?
In case you use different pricebooks and products in your Salesforce org, there may come a time that you wish you could set a pricebook and go to the product search page without having the user select a pricebook from a click of a button.
As a Salesforce Admin you sometimes wish you could create a custom button on an object that does one thing depending on a certain condition or does something else if the condition is not met.
My company depended on external consultancy for such requirements and after letting then create some, analysing their code, I actually can create them myself now.
I guess it’s one of those features that you only get to know about when you get into a situation like I have ;-)
I call this a “hidden” feature because it’s one of those features you have to ask to enable through submitting a case at Salesforce Support. And if you Google hard enough with the right keywords you could find it. Let’s just say I didn’t for 2 months!!
Preparing for a Salesforce Certification exam always raises the question "What do I need to study and where can I find any good resources?".
As a good habit I developed over the last years I try to start the year of with a bang and getting a new certification always does the trick ;-)
So in this post I'll share the resources that I've used to study for the Salesforce Platform Developer I exam and what to expect from the exam.
60-70% of the questions I've got were scenario based, so you should have a good understanding of each topic referenced in the study guide. During the exam certain questions will leave you confused with more than one correct answer so read through the questions more than once before you select your answer(s).
Define your strategy:
Start with Salesforce platform developer 1 Certification study guide. Go through each section from the study guide to see if there is any specific area you need more knowledge on. Don’t rely on practice exams or exam dumps as they are mostly out-of-date and never replicates real exam. Sometimes those question/answers are just wrong. Salesforce has loads of documentation on each specific topic, so if you study hard and practice a lot in your developer org, you will do just fine!
Each section in the study guide is assigned percentage of questions:
- Logic and Process Automation (46%)
- Data Modelling and Management (12%)
- Testing (12%)
- User Interface (10%)
- Debug and deployment tools (10%)
- Salesforce Fundamentals(10%)
What to study?
First of all if you have access to a Premier Online Training catalogue or Partner Training catalogue do lookup the following online course:
It takes about 4 hours, but gives you a nice detailed summary of the most important topics and I actually had some questions that were clearly answered in this course! Highly Recommended ;-) ;-)
I watched this course when I started to study and then watched it again the morning of the exam as a review.
Besides that I studied the following materials:
Logic and Process Automation
- Describe how to programmatically access and utilize the object schema (Go through methods to validate Access Control for fields programmatically. During the exam I received a question on how to check whether user has specific permission on a specific object in a Visualforce page or not. Read through this article)
- Describe the capabilities and use cases for formula fields. (Understand when formula gets executed, Formula Data types, Building cross object formulas) . The questions around this topic might try to trick you between formula, rollup summary fields and trigger. Remember cross object formula always works from child to parent meaning you can create formula on child and reference fields from it's parent! And if a parent has to refer to children then it might be a roll-up summary field if there is a master-detail relation or otherwise a trigger for more complex logic. Workflow rules can update fields on the record itself or it's related parents for an update. Never children. Process Builder can update children!
- Describe the capabilities and use cases for roll-up summary fields. (Consideration for Roll-up summary fields, Go through the Formula & Validations trailhead)
Remember roll-up summary fields only work with Master-detail relationships, so as soon as you read that it's a lookup relation it can’t be a roll-up summary field
Very important table in the Process Automation Trailhead Module which compares capabilities of process builder, workflow, approval process and visual flow.
- Describe when to use declarative automation features vs. Apex classes and triggers (Yes same trailhead link because if you know you can’t use one of the process automation features then trigger is last option. Also check when use apex )
- Describe how to declare variables and constants in Apex and how to assign values using expressions. (Also go through apex workbook topics from Data Types and Variables till Assignment Statements)
- Describe the primitive and complex Apex data types and when to use them (Topic is covered by above link)
- Describe how to use and apply Apex control flow statements. (Be clear on when to use inline SOQL query in for loop and when not to use)
- Describe how to write and when to use Apex classes and interfaces.( Understand how inner classes can be defined, invoked from outer class, what they can refer inside their body and type of access modifier they can have. Try various scenario related to inner class by creating it in your developer org and call it from anonymous block or outer class)
- Describe how to use basic SOSL, SOQL, and DML statements. (It says basics not advanced so trailhead topics are good enough, make sure you clearly understand the difference between when to use Database class DML statement vs standard DML. Several of the questions will be about this, when can you rollback, are all records persisted to database even when one of them has an error, etc…)
- Describe the basic patterns used in triggers and classes to process data efficiently. (if you just remember to bulkify and no DML, SOQL within for loop and how to use inline SOQL query is enough for this topic. Trigger bulk operation, Trigger best practices)
- Describe when to use and how to write triggers on Trailhead. (Understand Trigger Exceptions, Context variable considerations)
- Describe the implications of governor limits on Apex transactions. (Remember in a single transaction you can retrieve 50,000 records via SOQL, update 10,000 records, execute 100 SOQL calls and 150 DML statements max that will cover majority around limits. The question will be scenario based and from code sample you will have to figure out whether whole transaction gets committed or partial or nothing. Count through number of times any DML or SOQL being executed and number of records being executed correctly.)
- Describe the relationship between Apex transactions , the save execution order, and the potential for recursion and/or cascading. (You must remember execution order by heart and there are definitely one or two questions on it. If you understand execution order you will understand when it can be recursive. )
- Describe how to implement exception handling in Apex. (I received question where there was code sample to select what kind of exception gets thrown. It was possible either null pointer or list exception. Reading carefully in first line of code there was no initialization of string and it was being referenced in apex condition so it will first throw null pointer.)
- Describe how to write Visualforce controllers. (Refer next topic links, Don’t forget Standard and custom list controller)
- Describe when and how to use standard Visualforce controllers vs. Apex custom controllers and controller extensions .
- Describe the programmatic techniques to prevent security vulnerabilities in Apex and Visualforce.
- Describe how Apex impacts the ability to make declarative changes.
- Describe the testing framework and requirements for deployment.
- Describe how to write unit tests for triggers, controllers, and classes.(Be clear on Test.startTest() and Test.stopTest() about how governor limit gets reset)
- Describe when and how to use various sources of test data.(Make sure you know how @Testsetup works and how it executes. Also know that you can load testdata from Static Resources!!)
- Describe how to execute one or multiple test classes. Describe the differences between invoking Apex in execute anonymous vs. unit test ( Unit test executes in system mode and any changes made to records are not visible out of its test execution context where with anonymous block any changes performed to data are visible after its execution is successful. Code written in anonymous block is not stored as metadata in salesforce org and user permissions are enforced during execution.)
Data Modelling and Management
- Given a set of requirements, determine the appropriate data model.(Expect scenario based questions and select whether to apply look up ,master-detail or junction relation)
- Describe the capabilities of the various relationship types and the implications of each on record access, user interface (UI), and object-oriented programming. (Scenario Questions like display child related list on parent record, have to manage permissions separately from parent etc.)
- Describe the impact of schema design and modifications on Apex Development.
- Describe how to visualize and create entity relationships. (Schema builder and it's functionalities)
- Describe the options for and considerations when importing and exporting data into development environments. (Scenario based question for whether to use data loader or built in Import Wizard.)
Debug and Deployment Tools
- Describe how to monitor and access various types of debug logs.( Expect questions like at what log level User Debugs are logged or what is a checkpoint in developer console. Go through the Developer console options for viewing logs like using logs perspective, filtering logs etc. which will be more easier than reading.)
- Describe the capabilities and security implications of the Developer Console, Workbench, and Force.com IDE.
- Describe the different processes for deploying metadata and business data.
- Describe how the different environments are used in the development and deployment process.
- Describe the considerations when developing in a multi-tenant environment.
- Describe how the Salesforce platform features map to the MVC (Model View Controller) pattern.
- Describe the capabilities of the core CRM objects in the Salesforce schema. (Read through Account & Contact trailhead, Lead & Opportunity trailhead. This topic is very general and it's all about knowing relations between these objects and their capabilities)
- Identify the common scenarios for extending an application’s capabilities using the AppExchange. (know the difference between unmanaged package and managed package)
- Given a scenario, identify common use cases for declarative customization. (Scenario based question which will focus on test takers ability to identify whether to use formula, roll-up summary field, validation rule, workflow rule, process builder or approval process. Refer to trailhead modules ‘process automation’ and ‘formula fields and validations’)
- Describe how to display Salesforce data using a Visualforce page. (Though This topic is very broad but studying basics should be enough. You can still go through first few sections in visualforce developer guide. )
- Describe the types of web content that can be incorporated into Visualforce pages (Maps, Charts, flows, PDF renderer and custom content type. This topic is very broad but you don’t need to learn details of how these components can be embedded into VF pages.)
- Describe how to incorporate Visualforce pages into Force.com applications.
- Describe the benefits of the Lightning Component framework.
- Describe the resources that can be contained in a Lightning Component
I also recommend unlocking all the Trailhead modules necessary to do the Apex Specialist Superbadge. I've done this and found it highly valuable, but I have to say that the Superbadge itself was a real pain in the **** and took me about 12 hours to complete :-(
I hope this helps anyone who wants to pass the certification exam! Good Luck!