0% found this document useful (0 votes)
245 views73 pages

Interview QA

Uploaded by

Sujata Vinkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
245 views73 pages

Interview QA

Uploaded by

Sujata Vinkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 73

Scenario#1 : On Apex Trigger -

Create a Parent Object with name 'Parent' and a Child Object with name 'Child'

Create a Picklist field with name 'Parent Values' in Parent Object with Values '1,2,3,4'

Create a Picklist field with name 'Child Values' in Child Object


'1a,1b,1c,2a,2b,2c,Others'

Trigger code should do the below tasks -

1. If parent object picklist is set to 1 then in Child set picklist value back to null
and they can select only 1a,1b,1c in child, for remaining throw error
2. If parent object picklist is set to 2 then in Child set picklist value back to null
and they can select only can select only 2a,2b,2c for remaining throw error
3. If parent object picklist is set to 3 then in Child set picklist value back to null
and they can select only can select only Others for remaining throw error

Solution:-
Please follow the below steps to proceed with this example.

S.N
o Component

Follow the order as mentioned below to create the components

Configuration

1 Create New App


App Label: Sample
App Name Sample
Note: Enable security for all the profiles.

2 Create New Custom Object


Singular Label: Parent
Plural Label: Parents
Object Name: Parent

Standard Field:
Field Label Parent No:
Data Type: Auto Number
Display Format: P-{00000}

3 Create New Custom Field


S.N
o Component

Object: Parent__c
Data Type: Picklist
Field Label: Parent Values
Values: Enter values, with each value separated by a new line.
Note:

 Enter 1, 2, 3, 4 values (each value in a new line)


 Enable security for all the profiles.
Field Name: Parent_Values

4 Create New Custom Object


Singular Label: Child
Plural Label: Childs
Object Name: Child

Standard Field:
Field Label Child No:
Data Type: Auto Number
Display Format: C-{00000}

5 Create New Custom Field


Object: Child__c
Data Type: Lookup(Parent__c)
Field Label: Parent
Field Name: Parent
Note: Enable security for all the profiles.

6 Create New Custom Field


Object: Child__c
Data Type: Picklist
Field Label: Child Values
Values: Enter values, with each value separated by a new line.
Note:
 Enter 1a,1b,1c,2a,2b,2c,Others values (each value in a new
line)
 Enable security for all the profiles.
Field Name: Child_Values

7 Create New Custom Tabs


Create tabs for Parent and Child objects Note: Enable only for the
Sample Application.

Customization
S.N
o Component

1 Create New Apex Trigger


Object: Parent__c
Name: ParentTrigger
Note: Please see the trigger logic below under: ***ParentTrigger***

2 Create New Apex Trigger


Object: Parent__c
Name: ChildTrigger
Note: Please see the trigger logic below under: ***ChildTrigger***

***ParentTrigger***
trigger ParentTrigger on Parent__c (after insert, after update) {
List childUpdLst = new List();
for(Parent__c prnt : [select id,Parent_Values__c, (select Child_Values__c
from Childs__r) from Parent__c where id in: trigger.newMap.keyset()]) {
if(prnt.Parent_Values__c == '1' || prnt.Parent_Values__c == '2' ||
prnt.Parent_Values__c == '3') {
for(Child__c child : prnt.Childs__r) {
child.Child_Values__c = '';
childUpdLst.add(child);
}
}
}
if(childUpdLst.size() > 0) {
TriggerUtility.bypassChildVald = true;
update childUpdLst;
}
}

***ChildTrigger***
trigger ChildTrigger on child__c (before insert, before update) {
Set parentIds = new Set();
for(Child__c child : trigger.new) {
parentIds.add(child.Parent__c);
}

Map parentMap = new Map(


[select Parent_Values__c from Parent__c where id in: parentIds]
);

for(Child__c child : trigger.new) {


if(parentMap.get(child.Parent__c).Parent_Values__c == '1' &&
child.Child_Values__c != '1a' &&
child.Child_Values__c != '1b' && child.Child_Values__c != '1c' && !
TriggerUtility.bypassChildVald)
child.addError('You can select only 1a or 1b or 1c.');
else if(parentMap.get(child.Parent__c).Parent_Values__c == '2' &&
child.Child_Values__c != '2a' &&
child.Child_Values__c != '2b' && child.Child_Values__c != '2c' && !
TriggerUtility.bypassChildVald)
child.addError('You can select only 2a or 2b or 2c.');
else if(parentMap.get(child.Parent__c).Parent_Values__c == '3' &&
child.Child_Values__c != 'Others'
&& !TriggerUtility.bypassChildVald)
child.addError('You can select only Others.');
}
}

100 SALESFORCE INTERVIEW QUESTIONS


Check Out Topic Wise Top Interview Questions With Answers.

1. In Data loader using upsert operation can u do update a record if that record
id is already exist in page and if updated that record then can u update
2records with having same id and if not updated 2 records then what error
message is given?

It is not possible to update records with same id in a file using upsert operation. It will
throw "duplicate ids found" error.

2. One product cost is 1000. It is stored in invoice so once if change the cost of
product to 800 then how can i update it automatically into a invoice?

We can achieve this using triggers or through relationship among objects.

3. One company is having some branches and all branches having different
departments. So, now I want to display all departments from all branches in a
single visualforce page?

Using subquery we can fetch all the required data and we can display it in VF page.

4. Can you please give some information about Implicit and Explicit Invocation
of apex?
 
Triggers - Implicit
Javascript remoting - Explicit
 
5. what is apex test execution?
 
Executing apex test classes.
 
6. In an apex invocation how many methods that we can write as future
annotations?

10

7. In how many ways we can invoke flows?


  
We can invoke flows from different ways
 From Apex
 From Process Builder
 Directly from the button invocation

8. what is apex test execution?


 
Executing apex test classes

9. I have an account object, I have a status field which has open and completed
checkboxes, when ever I click on completed, I want an opportunity to be
created automatically. Through which we can achieve in salesforce?

Triggers.

10. What are workflows and what actions can be performed using workflows?

Workflows are used for automation.


 Field Update
 Outbound Messages
 Email Alert
 Task
11. Can we invoke flows from apex?
 
 Yes,We can call flows from apex.

12. Write a query for below?


 
I have 1 parent(account) and 1 child(contact),how will you get F.name,L.name from
child and email from the account when Organization name in account is "CTS"?

SELECT Email, (SELECT F.Name, L.Name FROM Contacts) WHERE Name = 'CTS'.
13. Will the Flow supports bulkification mechanism?

Yes ,flows support bulk records processing also.


 
14. What are outbound messages?what it will contain?

In outbound message contains end point URL.

15. What is External id?primary id?


External id is unique to external application.
Primay id is unique to internal organization.

16. Data loader?and which format it will support?

Data loader is a tool to manage bulk data. It will support .csv format of Excel.

17. How import wizard will not allow the duplicates? 


Using external id.

18. What are validation rules?

Used to maintain data format.


19. Ajax Components in V.F?

Ajax components are nothing but tags start with <apex:action> like

 <apex:actionPoller>
 <apex:actionFunction>
 <apex:actionSupport>
 <apex:actionRegion>
 <apex:actionStatus>

20. Salesforce sites?

Used to show data from our organization for public view.

21.Auto-response rules and Escalation rules(for which objects are mandatory)?

Case and Lead.

22.Difference between REST and SOAP API'S?

Varies on records that can be handled.

23. What is creating debug log for users?

Track code.

24.   How cases are created?

Email to Case and Web to Case

25.   What is after undelete?

While retrieving from recycle bin


26.   Will Trigger.new supports --->Insert,Will Trigger.Delete supports
--->Delete?

Yes.

27.   What is Inline visualforce page?

Having vf page in pagelayout.


 
28.   If is child is mandatory field in lookup and I m deleting Parent,will child
get deleted?

No.

29.   Junction object?when will we use?If we delete the junction object what
will happen?

For many to many relationship.

30. Can we have V.F pages in page layout?

Yes.

31. How to create standard object as child to custom object(which is not


possible thru standard away process,have to bypass this restriction)?

Create Lookup and make the lookup field mandatory.

32. In a visual force page the save should ensure the data to be be stored in
current object as well as associated child object?

We have to use Database.SavePoint and Database.Rollback for this situation.

33. what is audit field,what is the purpose of audit field?

Created By, Created Date, Last Modified By and Last Modified Date are audit fields. Used
to track when the changes are done to the records.

34. what we need to do for extending the limit of creating only 2 M-D
relationships for custom object?

Create Lookup and make the lookup field mandatory.

34. How to write java script code for save button?

We have to create custom button and in that custom button we have to write Java script
code.

35. What are the attributes of apex tag?

Attribute tag is used in creating components.

36. How to insert value to a parent and child element at the same time?

Use triggers.

37. How to make pick-list as required (thru java script)?


We have to create custom button and in that custom button we have to write Java script
code to check whether the picklist value is null.

38. What is the Difference between Ajax and ActionPoller?

ActionPolleris a timer that sends an AJAX update request to the server according to a
time interval that you specify.

39.When a case is generated by an user through web to case,how or where a


developer will provide solution case arised?

Email notification through trigger or through email alert Workflow rule.

40.what is the use of interfaces(in apex classes)?

An interface is like a class in which none of the methods have been implemented—the
method signatures are there, but the body of each method is empty. To use an interface,
another class must implement it by providing a body for all of the methods contained in
the interface.

Interfaces can provide a layer of abstraction to your code. They separate the specific
implementation of a method from the declaration for that method. This way you can
have different implementations of a method based on your specific application.

http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_interface
s.htm

41.I have added an string 'updated' to all users in Account object through batch
apex,now how to remove that 'updated'?

Run the below code in developer console

List<Account> acc =[SELECT Id, Name FROM Account];


for(Account a : acc)
{
    a.Name = a.Name.removeEnd('Updated');
    update a;
}

42. What are workflows and what actions can be performed using workflows?

Workflows are used for automation.


 Field Update
 Outbound Messages
 Email Alert
 Task
43. What are types of workflows?
 Immediate Workflow Actions
 Time-Dependent Workflow Actions
44. Can you tell me what is time based workflow?

Time Based workflow will be triggered at what time we define while creating the Time-
Dependent workflow rule.
45. Can you give me situation where we can you workflow rather than trigger
and vice versa?

If you want to perform any action after some action, we can go for Workflow Rule.
If you want to perform any action before and after some action, we can go for Trigger.

46. Lets say I have a requirement whenever a record is created I want to insert
a record on some other object?

Triggers can be used for this.

47. Whenever a record is inserted in contact I want insert a record in


opportunity as well, we can’t do it with workflow right how would you do it
with trigger?

We can get the Account Id from the Contact and we can create an Opportunity under the
Account.

48. What is the difference between trigger.new and trigger.newmap?

Trigger.new can be used in before and after operations.

Trigger.newMap can be used in after insert and after and before update.

49. Can you tell me what is the difference between apex:actionfunction and
apex:actionpoller? Is there any way that we can do the same functionality of
apex:actionpoller do?

apex:actionPoller is used to call an Apex method for the interval of time specified.

apex:actionFunction is used to call Apex method from Javascript.

Using setTimeOut in Javascript, we can achieve apex:actionPoller functionalities. 

50. You have VF page and whenever you click a button it should go to google,so
how would you do that?

Use pageReference and give the google URL in that.

51. I have an opportunity object, which is having two values like open and
close,i have a workflow rule,if a particular object is in open status,it should be
updated to close and if status is close it should be updated to open,how should
salesforce behave. what would happen to record,how would salesforce behave
here?

It causes looping error.


52. I have an account object, I have a status field which has open and
completed checkboxes, when ever I click on completed, I want an opportunity
to be created automatically. Through which we can achieve in salesforce?

Triggers.

53. Can you brief me about salesforce module flow?

Sales processes include quote generation, tracking opportunity stages, updates on close
dates and amounts and won opportunities.
54. How many records can be retrieved by List data type if the page attribute in
readonly?
10,000.

55. Can you tell me about Rollup summary field ?

Rollup Summary field can be created in Master detail relationship alone.

Rollup Summary field should be created on master object.


 
Rollup Summary field is used to find
 Sum
 Count
 Min
 Max
of the child records.

56. Can you tell the difference between Profile and Roles?

Profiles are used for Object level access settings.

Roles are used for Record level access settings.

57. What are permission sets?

Permission Sets are used to extend Profile permissions.

58. Can you override profile permissions with permission sets(i have defined
some permissions in profile,i am trying to use permission sets for the same
object,can i override permissions for a particular object in the permission sets
over to the profile?

No. Permission Sets are used only to extend the Profile permissions. It never overrides.

59. I want to have read/write permission for User 1 and read only for User 2,
how can you achieve?

Create a Permission Set with read/write and assign it to User 1.


 
60. Can you tell difference between Profile, OWD or a Sharing Rule?

Profile: Profile is used for object level access. It is used to provide CRUD(Create, Read,
Update and Delete) permission.

OWD: OWD is used for record level access for all the users across Organization. It is
used to provide Public Read Only, Public Read/Write, Private, Public
Read/Write/Transfer(Lead and Case Objects alone).

Sharing Rule: Sharing Rules is used to extend Role Hierarchy.


 
61. What is the role hierarchy?

Role Hierarchy states that higher hierarchy person can see lower hierarchy person
records.

62. I have an OWD which is read only, how all can access my data and I want to
give read write access for a particular record  to them, how can i do that?
All users can just Read the record.

Create a Sharing Rule to give Read/Write access with "Based on criteria" Sharing Rules.

63. What is the difference between role hierarchy and sharing rules?will both
do the same permissions?

Role Hierarchy states that higher hierarchy person can see lower hierarchy person
records.

Sharing Rule is used to extend Role Hierarchy.


64. What is on-Demand process?

On-demand process is nothing but "pay for what you use" policy.
We can subscribe to what we want and pay-as-you-go model.

65. Can we create 2 opportunities while the Lead conversion?

Yes using Apex code.

66. User1 is associated with profile "P". If i create a permission set and assign
it to User1, now will the Permission sets which we assigned overrides the
existing profile "P".

No. Permission set is always used for extending the profile permission. It's not used to
override the Profile permissions.

67. Is there is any alternative for the "ActionPoller"?

Using SetTimeout in Javascript and calling the apex method using apex:actionFunction.

68. While inserting a new record with Before Insert. What would be the values
in "Trigger.new" and "Trigger.newmap"?

In trigger.New, new record values will be there.


Trigger.newMap will be empty.

69. What is the difference b/w Trigger & Workflow?

Triggered can be fired before or after some operation.

Workflow cab be fired only after some operation.

70. What are the actions used in Approval Process?

Email Alert
Field Update
Task
Outbound Message

71. Say About Visual force page?

Using VF tags we can develop visualforce pages.

72. What is meant by Rendered & Re-render attribute in VF?


Rendered is used decide whether to display or hide the VF elements.

Re-Render is used to refresh the VF elements.

73. What is meant by Standard Controller & Controller?

In standard controller we can refer Standard and custom objects.

In Controller we can refer Apex class.

74. What are the different types of Cloud in SF?

Sales cloud
Service cloud
75. In which object Roles are stored?
UserRole

76. In which object workflows are stored?


Workflow

77. In which object Roles are stored?


UserRole 
78. What is an alternative for workflow?
Process Builder or Flows or Trigger or Schedule apex or 

79. What is the use of isNew()?


Checks whether the record is newly created.

80. If you organization Workflow's limit is over and if you want to write a
workflow immediately and it it critical, what will you do?
1. De-activate any workflows and create it using trigger and then do the new workflow.
or
2. Go for Schedule apex or trigger to achieve this workflow.

80. How many users have you supported?


Number of users in the Salesforce organization. It helps the recruiter to understand your
scalability.
81. In which object all Approval process are stored?
Approval

82. In which object all email templates are saved?


EmailTemplate

83. In which object all Account Team Members are added?


AccountTeamMember

84. In which object all salesforce objects are saved?


sObject

85. In which object all Opportunity Team Members are added?


OpportunityTeamMember

86. In Which object all Apex Pages are stored?


ApexPage

87. In Which object all Apex Triggers are stored?


ApexTrigger

88. In Which object all Apex Classes are stored?


ApexClass

89. Where Products are added?


Product2

90. In which object workflows are stored?


Workflow
91. In which object all Approval process are stored?
Approval

92. In which object all email templates are saved?


EmailTemplate

93. In which object all Account Team Members are added?


AccountTeamMember

94. In which object all salesforce objects are saved?


sObject

95. In which object all Opportunity Team Members are added?


OpportunityTeamMember

97. In Which object all Apex Pages are stored?


ApexPage

98. In Which object all Apex Triggers are stored?


ApexTrigger

99. In Which object all Apex Classes are stored?


ApexClass

100. Where Products are added?


Product2

Scenario Based Salesforce Interview Questions


Check Out Topic Wise Top Interview Questions With Answers.

1) You have a page with Standard Controller and one Extension class.In
Extenstion class you have a method name called save().Now when your
invoking save() method from page whether it will execute Standard Controller
save() method or Extension class save() method?

Ans : The Save() method from the Extenstion class will be executed.

2) In a trigger you have addError() method and below that statement you have
a System.debug() statement.If addError() method is executed in trigger in that
case whether System.debug() statement will be executed or not?

Ans : Yes,Even after addError() method got executed the execution will not be
stopped at that line and it will executes below the System.debug() statement
also.
3) If in your organisation Person Account feature is enabled.Whenever your
converting the Lead how you will decide which Account(Business or Person) to
be created?

Ans : Based on the company field value on Lead we will decide whether to
create Business Account or Person Account.If Company field value in Lead
object is blank then we will create Person account on it's conversion and If
Company Field value on Lead object is not blank we will create Business
Account

4) How will say particular lead is a Business Lead or Person Lead?

Ans : Based on the company field value on Lead we will decide whether that
Lead is Business Lead or Person Lead.If Company Field value is blank then it
will be treated as Person Lead,If not it will be treated as Business Lead

5) Lets assume your having a object called Quotes and it is having 4 fields.Now
I want to add one extra field to each and every record in Quote object without
creating it in Object and I want to display list of Quote records on visual
force page with 5 fields not with only 4 fields.

Ans : Whenever your working with these type of scenarios (i.e., Add extra field
to each and every record in object actually not creating that field in object) we
have to use Wrapper class concept which will add one or more fields for each
and every record. 

6) When you will end up with MIXED_DML_OPERATION error in Salesforce?

Ans: With in a single transaction if you are trying to perform dml operations on
setup objects and non-setup objects with same user(Logged in user) than it
throws that error.To avoid that error we need to perform DML on Set up objects
with logged in user and on non setup objects with some other user using
System.runAs() and vice versa

7) What are the limitations/considerations for Time-Dependent Workflow?


 You can not write time-dependent action on workflow rule Evaluation
Criteria of type Every time the record is created or updated.
 Maximum you can write 10 time dependent triggers per one rule
 Maximum of 40 actions only allowed per time trigger.
 Workflow default user must be set up before creating time-based rules
 Precision limited to hours or days
 Cannot convert leads with time-dependent actions in the Workflow
Queue.
 Time triggers cannot be added to or removed from activated workflow
rules

8) While setting OWD (Organization wide sharing), can we change/modify the


setting of child record in case of Master-Detail relationship?

Ans: No, child record is controlled by parent settings.

9) In case of Master-Detail relationship, on Update of child record can we


update the field of Parent record using workflow rule?

Ans: Yes, the Master fields are also available for evaluation criteria.So, we can
acheive this with workflow.For more information please visit this post

10) Who can access “drag and drop dashboard”?Which type of report can be
used for dashboard components?

Ans : User who have permissions in managed dashboard can access drag and
drop dashboard.Summary reports and Matrix reports are used for dashboard
components.

1. Through Sales force Import wizard how many records we can import?
Using Import wizard, we can upload up to 50000 records.

2. Import wizard will support for which Objects?


Only Accounts, Contacts and custom object’s data can be imported.  If we want to
import other objects like Opportunities and other object’s data, then we need to go for
Apex Data Loader.

3. What is app exchange?


The developed custom applications can be uploaded into the app exchange so that the
other person can share the applicaition.

4. What is a VLOOKUP in S.F?


VLOOKUP is actually a function in sales force which is used to bring relevant value to
that record from another record automatically.

5. When I want to export data into SF from Apex Data Loader, which Option
should be enable in Profile?
Enable API

6. What is a web - lead?


Capturing a lead from a website and routing it into lead object in Sales Force is called
wed-lead (web to lead).

7. What are the Types of Account and difference between them?


We have two types of accounts.
Personal accounts
Business accounts

In personal accounts, person’s name will be taken as primary considerations where as in


business accounts, there will be no person name, but company name will be taken into
consideration.

8. What is a Wrapper Class in S.F?


A wrapper class is a class whose instances are collections of other objects.

9. What are formula and Rollup Summary fields and Difference between them?
When should Rollup- Summary field enable?
Formula: A read-only field that derives its value from a formula expression that we
define. The formula field is updated when any of the source fields change.
Rollup Summary: A read-only field that displays the sum, minimum, or maximum
value of a field in a related list or the record count of all records listed in a related list. 

10. What is a Sandbox? What are all the Types of sandboxex?


Sandbox is the exact replica of the production.
3 Types:
Configuration
Developer
Full

11. What is the difference between custom controller and extension?

Custom Controller: A custom controller is an Apex class that implements all of the logic
for a page without leveraging a standard controller. Use custom controllers when you
want your Visualforce page to run entirely in system mode, which does not enforce the
permissions and field-level security of the current user.  
Controller extension: A controller extension is an Apex class that extends the
functionality of a standard or custom controller.
 
Although custom controllers and controller extension classes execute in system mode
and thereby ignore user permissions and field-level security, you can choose whether
they respect a user's organization-wide defaults, role hierarchy, and sharing rules by
using the with sharing keywords in the class definition.

12. What are different kinds of reports?

1. Tabular: Tabular reports are the simplest and fastest way to look at data. Similar to a
spreadsheet, they consist simply of an ordered set of fields in columns, with each
matching record listed in a row. Tabular reports are best for creating lists of records or a
list with a single grand total. They can't be used to create groups of data or charts, and
can't be used in dashboards unless rows are limited. Examples include contact mailing
lists and activity reports.
2. Summary: Summary reports are similar to tabular reports, but also allow users to
group rows of data, view subtotals, and create charts. They can be used as the source
report for dashboard components. Use this type for a report to show subtotals based on
the value of a particular field or when you want to create a hierarchical list, such as all
opportunities for your team, subtotaled by Stage and Owner. Summary reports with no
groupings show as tabular reports on the report run page.
3. Matrix: Matrix reports are similar to summary reports but allow you to group and
summarize data by both rows and columns. They can be used as the source report for
dashboard components. Use this type for comparing related totals, especially if you have
large amounts of data to summarize and you need to compare values in several different
fields, or you want to look at data by date and by product, person, or geography. Matrix
reports without at least one row and one column grouping show as summary reports on
the report run page.
4. Joined: Joined reports let you create multiple report blocks that provide different
views of your data. Each block acts like a “sub-report,” with its own fields, columns,
sorting, and filtering. A joined report can even contain data from different report types.

13. What are different kinds of dashboard component?

  Chart: Use a chart when you want to show data graphically.


  Gauge: Use a gauge when you have a single value that you want to show          within
a range of custom values.
  Metric: Use a metric when you have one key value to display.
 Enter metric labels directly on components by clicking the empty text field next to
the grand total.
 Metric components placed directly above and below each other in a dashboard
column are displayed together as a single component.
 Table: Use a table to show a set of report data in column form.
 Visualforce Page: Use a Visualforce page when you want to create a custom
component or show information not available in another component type
 Custom S-Control: Custom S-Controls can contain any type of content that you can
display or run in a browser, for example, a Java applet, an ActiveX control, an Excel file,
or a custom HTML Web form.

14. How to schedule a class in Apex?

To invoke Apex classes to run at specific times, first implement the Schedulable interface


for the class, then specify the schedule using either the Schedule Apex page in
the Salesforce user interface, or the System.schedule method.
After you implement a class with the Schedulable interface, use
the System.Schedule method to execute it. The scheduler runs as system: all classes are
executed, whether the user has permission to execute the class or not.
The System.Schedule method takes three arguments: a name for the job, an expression
used to represent the time and date the job is scheduled to run, and the name of the
class.
Salesforce only adds the process to the queue at the scheduled time. Actual execution
may be delayed based on service availability. The System.Schedule method uses the
user's time zone for the basis of all schedules. You can only have 25 classes scheduled at
one time.

15. What is PermissionSet?

PermissionSet represents a set of permissions that’s used to grant additional access to


one or more users without changing their profile or reassigning profiles. You can use
permission sets to grant access, but not to deny access.
Every PermissionSet is associated with a user license. You can only assign permission
sets to users who have the same user license that’s associated with the permission set.
If you want to assign similar permissions to users with different licenses, create multiple
permission sets with the same permissions, but with different licenses.

16. What are governor limits in Salesforc.com?

Governor limits are runtime limits enforced by the Apex runtime engine. Because Apex
runs in a shared, multitenant environment, the Apex runtime engine strictly enforces a
number of limits to ensure that code does not monopolize shared resources. Types of
limits that Apex enforces are resources like memory, database resources, number of
script statements to avoid infinite loops, and number of records being processed. If code
exceeds a limit, the associated governor issues a runtime exception that cannot be
handled thereby terminating the request.

17. What are custom settings?

Custom settings are similar to custom objects and enable application developers to
create custom sets of data, as well as create and associate custom data for an
organization, profile, or specific user. All custom settings data is exposed in the
application cache, which enables efficient access without the cost of repeated queries to
the database. This data can then be used by formula fields, validation rules, Apex, and
the SOAP API.

There are two types of custom settings:


List Custom Settings
A type of custom setting that provides a reusable set of static data that can be accessed
across your organization. If you use a particular set of data frequently within your
application, putting that data in a list custom setting streamlines access to it. Data in list
settings does not vary with profile or user, but is available organization-wide. Because
the data is cached, access is low-cost and efficient: you don't have to use SOQL queries
that count against your governor limits.
Hierarchy Custom Settings
A type of custom setting that uses a built-in hierarchical logic that lets you “personalize”
settings for specific profiles or users. The hierarchy logic checks the organization, profile,
and user settings for the current user and returns the most specific, or “lowest,” value.
In the hierarchy, settings for an organization are overridden by profile settings, which, in
turn, are overridden by user settings.

18. What are different portals in Salesforce.com?


  
Partner Portal:
A partner portal allows partner users to log in to Salesforce.com through a separate
website than non-partner users. Partner users can only view & edit data that has been
made available to them. An organization can have multiple partner portals.

Customer Portal:
Customer Portal provides an online support channel for customers allowing them to
resolve their inquiries without contacting a customer service representative. An
organization can have multiple customer portals.

19. What is the use of Salesforce.com Sites?

Force.com Sites enables you to create public websites and applications that are directly
integrated with your Salesforce organization without requiring users to log in with a
username and password. You can publicly expose any information stored in your
organization through a branded URL of your choice. Sites are hosted
on Force.com servers and built on native Visualforce pages. You can user authentication
to a public site using customer portal.

20. What actions can be performed using Workflows?


 
  Email Alert:
Email alerts are workflow and approval actions that are generated using an email
template by a workflow rule or approval process and sent to designated recipients, either
Salesforce users or others. Workflow alerts can be sent to any user or contact, as long as
they have a valid email address.
  Field Update:
Field updates are workflow and approval actions that specify the field you want updated
and the new value for it. Depending on the type of field, you can choose to apply a
specific value, make the value blank, or calculate a value based on a formula you create.
  Task:
Assigns a task to a user you specify. You can specify the Subject, Status, Priority, and
Due Dateof the task. Tasks are workflow and approval actions that are triggered by
workflow rules or approval processes.
  Outbound Message:
An outbound message is a workflow, approval, or milestone action that sends the
information you specify to an endpoint you designate, such as an external service. An
outbound message sends the data in the specified fields in the form of a SOAP message
to the endpoint. 
  
21. Workflow rules can perform which of the following actions using standard
Salesforce.com functionality?
   
A.     Update a Field
B.     Send an Outbound Message
C.     Send an Email
D.     Create a Task

22. The Organization ID (Org ID) of a sandbox environment is the same as its
production environment.
   
    False

23. Jim is a Salesforce.com system administrator for Universal Products Inc


(UPI).  UPI currently uses org-wide public read/write for accounts. The sales
department is concerned with sales reps being able to see each other's account
data, and would like sales reps to only be able to view their own accounts. 
Sales managers should be able to view and edit all accounts owned by sales
reps. The marketing department at UPI must be able to view all sales
representative's accounts at UPI. What steps must be configured in order to
meet these requirements?
   
A.  Change Org-Wide Security for Accounts to Private
B.  Add Sharing Rule to Provide Read Access to Marketing for Sales Representative's
Accounts
C.  Configure Roles:
Executive
-Marketing (Subordinate of Executive)
-Sales Management (Subordinate of Executive)
--Sales Representatives (Subordinate of Sales Management)

24. The Data Loader can be used with Group Edition.


   
   False

25. What type of object relationship best describes the relationship between
Campaigns and Leads (using standard Salesforce functionality)?
   
   Many to Many

26. Which of the following are not valid Salesforce license types?
   
A.     Service Cloud
B.     Platform (Force.com)
C.     Customer Portal
D.     Gold Edition
E.     Unlimited Edition
F.     Platinum Portal
Ans:D

27. Which of the following are either current or future planned offerings by
Salesforce.com or its subsidiaries?
   
A.     Touch
B.     Flow / Visual Process Manager
C.     Heroku
D.     Sites / Siteforce
Ans:All

28. Bob is a Salesforce.com consultant and is responsible for the data migration
of an implmentation for his client, Universal Systems Inc (USI). 

USI wants to migrate contacts and accounts from their legacy CRM system,
which has a similar data model (many contacts per one account; primary keys
exist on contact and account).
USI has provided Bob an export in CSV format of contacts and accounts of their
legacy CRM system. What method should Bob use to migrate the data from the
legacy system into Salesforce?
   
A.     An ETL or similar data migration tool must be used
B.     Create an external ID for account and use the data loader to upsert the data with
relationships intact
C.     Insert accounts into Salesforce and use Excel vlookup to match the legacy ID to
the Salesforce ID in order to insert associated contacts
Ans:B

29. Universal Products Inc (UPI) wants to perform a drip marketing campaign
on leads generated through website submissions.  What is the ideal method to
execute this type of campaign?
   
A.     Use Salesforce campaign management and series of workflow rules
B.     Integrate Salesforce with a 3rd party vendor to perform marketing   automation
C.     Export the data from Salesforce and manually send via 3rd party tool
Ans:B

30. Which of the following are not valid ways to migrate metadata?
   
A.     Data Loader
B.     Change Sets
C.     Force.com IDE
D.     ANT Migration Toolkit 
Ans:A

Batch Apex - Interview Questions With Answers


1. How many active batches(running parallel) can be allowed at a time?

Salesforce by default allows 5 active batches running at a time and other batches will be
in queue for running

2. How can we schedule batch class to run in future only once from the
specified minutes from current time.

public static String scheduleBatch(Database.Batchable batchable, String jobName,


Integer minutesFromNow)

or

public static String scheduleBatch(Database.Batchable batchable, String jobName,


Integer minutesFromNow,Integer batchSize)

3.How to calculate the batch size if we are making any call out from the batch
class execute method?

Basically in salesforce we have limitation of 100 call outs for a transaction.When it comes
to batch class each execute method call will be considered as one transaction.So,in this
case your batch size must be calculated in such way

   Batch size = (No of callouts allowed for single transaction /total number of call outs for
each record) - 1;
   Batch size = (100 /total number of call outs for each record) - 1;

4. How to stop all the running batches related to a particular batch classes
before scheduling the same batch class from the schedule class.

global class CaseCreationonSchedular implements Schedulable


{
global void execute(SchedulableContext SC)
{

for(AsyncApexJob ap: [SELECT Id, ApexClass.Name,createddate,


JobType, Status, JobItemsProcessed, MethodName, ParentJobId FROM
AsyncApexJob Where ParentJobId!=Null AND JobType
IN('BatchApex','BatchApexWorker') And ApexClass.Name='YourBatchClassName'
And Status NOT IN('Completed','Aborted')])
{
System.abortJob(ap.ParentJobId);

}
YourBatchClassName cls = new YourBatchClassName();
DataBase.executeBatch(cls);
}
}

5.How can we schedule a batch class to run every 10 or 5 or 2 mins.

Salesforce haven't provided wild card entries (* every,- range,/,?) in place of minutes
and seconds.So,if you want schedule a class to run every  10 minutes you have to
schedule same class 6 times (60min/6) with diff batch name ,for 5 mins 12 times and for
2 mins 30 times..As the time interval keeps going down schedule the same class goes up
which is an irritating thing to monitor or even it's very hard to handle these many jobs.

For this we can simply do this in the code so that at any given point of time you will have
only schedule job running for the same.

global class CaseCreationonSchedular implements Schedulable


{
public void execute(SchedulableContext scon)
{
System.abortJob(scon.getTriggerId()); // abort already running
schedule job
Decimal nextInterval = System.Label.nextIntervalTime; // config to
decide next interval 2,5 or 10 mins etc..
System.schedule('CaseCreationonBatch -
'+String.valueOf(DateTime.now()), '0
'+DateTime.now().addMinutes(Integer.valueOf(nextInterval)).minute()+' */1 ?
* *', this); //Schedule the class to run with specified time

Database.executeBatch(new YourBatchClassName()); // Call you batch


class

}
}

6.Why to use Batch class as we already having data loader to process the bulk
data.

Agree with this point if and only if the data needs to be updated is static or predefined or
which can be done through excel.

We will choose batch class if we have to perform some custom calculations at run time
or if you want to run some complex logic which can't be driven by excel sheets in those
cases we have to go with batch classes.

Examples:

 Do some relationship quires to update the data.


 Make a call out to get the some information related to each record.
7.How many times the execute method will be executed to process the  1234
records.

It depends on your batch size what you have configured at the time of calling the batch
class from schedule class.

Execution method count = Total No Of Records/Batch Size (Any decimal ceil it to upper
value)
 If you haven't set any batch size then - 1234/200 = 6.17 = 7 times execute
method will be called

8.What is the maximum size of a batch that we can set up ?

2000

9.What is the minimum batch size we can set up is?

10.What is the default size of batch if we haven't configured at the time of


execution?

200

11.What is Apex Flex Queue?

At a time salesforce allolws 5 batches to be running or to be in queued state.So,if you


have consumed all these 5 limits and if system has received one or more batch
execution request all these waiting batch will be stored in this Apex Flex Queue.

12. What is the maximum number of batch classes allowed in Apex Flex Queue
for execution?

100

13.How can we do chaining of batch jobs?

we can do this by simply calling the chained batch/second batch class from the finish
method of the first batch class.
Why to call only from the finish method why not from execute?because the execute
method will gets invoked multiple times based on the volume of the records and batch
size.So,if your calling it from execute method then the chaining class will get called
multiple times which is not an suggested way of doing.

We can also use the Queueable Apex for chaining of the jobs.

Salesforce Integration - Latest Interview Questions With


Answers
1.What is meant by Integration or Web Services?

In simple terms integration is nothing but exchange/transfer of data between two


different applications/systems.This basically provides communication between two
applications.These two applications could be of using same technology or it could be of
different technology.

Examples :
 The data exchange between 2 different Salesforce Orgs.
 The data between Salesforce or Java,.Net or SAP(External services).
The exchange of data happens over internet (Web) so this is termed as Web Services.

2.What is meant by API or Service?


API stands for Application Programming Interface.It is protocol through which one
application communicate with other. Salesforce can integrate with third party application
and communicate data with API.

In simple terms API is nothing but a class which will take some inputs from the users
and returns some response basis on the requirement.The classes which has build for
integration purpose can be called as the "Services"

3. What are the popular types of Web Services Protocols available in market?

Below are the two popular Web Services protocol for creating any integration
 SOAP - Simple Object Access Protocol
 REST - Representational state transfer
 Bayeux
Each protocol will have it's own constrains to create any web services.

4. What are the different API's available in Salesforce Eco System?

Salesforce supports wide range of API's so that any external system can interact with
Salesforce ecosystem very easily basis on requirement.
 Bulk Data Processing
 Tool API's
 For Building Custom API

For more information please refer


http://www.srinivas4sfdc.com/2019/12/what-is-salesforce-api-portal.html
https://trailhead.salesforce.com/en/content/learn/modules/api_basics/api_basics_overvi
ew
5.What is the difference between REST API and APEX REST API?

Similar to Standard object/fields and Custom object/fields in Salesforce,these APIs are


also comes under this Standard APIs and Custom APIs.

REST API: 
This api provided by Salesforce with pre-built set of services which will be running on
REST protocol to interact with Salesforce ecosystem.This provides powerful and
convenient way to interact with Salesforce system.

This is very easy for integration and it best suits for applications which are running on
mobile applications and web projects.The detailed document can be found here.

APEX REST API:

If you have an use case where you want to share some of your salesforce org data with
external systems/you want to update salesforce data basis on the external system
request with REST protocol and your use case is not available in standard REST API
provided by salesforce. 

In these scenarios you will create an apex class which can handle all your scenarios and
shares/update the necessary data with external systems at the same time running these
apex classes on REST protocol.The entire class or methods which has written then
exposed with external systems using this APEX REST API.

The detailed document can be found here

6.What are the Authentication mechanisms used by Apex REST API?


 OAuth 2.0
 Session Id
7. What is Callout?

When your making an api call to external system from salesforce we will call it as
Callout(because the call is going out from salesforce)

8. Is there any difference between contract details,api details or service


details?

There is no difference among all these terms are same.These terms are used to describe
about the what is the sample request,sample headers,end point,authentication model
and sample response details which can be shared/agreed between two parties for
integration.

9.How can you say if i have shown two classes which one is Apex Rest API class
and other is normal apex class?

If any class is annotated with @RestResource(urlMapping='/sampleurl') will be treated


as Apex Rest API class.

@RestResource(urlMapping='/srinivas4sfdc/getCases/*')
global without sharing class API_Get_Cases
{
//your code
}
10.What is Remote Site Setting and What is the action of it?

Basically in Remote site settings we will add the external system domain address where
Salesforce is going to make a callout for some information.

As soon as you added the domain name to the remote site setting it internally informs
the Salesforce ecosystems these are my trusted domain names so you can allow call out
to these services from Salesforce.

11.What happens if domain is not added while making a callout from Salesforce
to External System?

It's mandatory to add the external system domain names in remote site setting while
salesforce making any callout to these services.If not added then salesforce treats all
these external systems domain names as not trusted domains .So,callout will not
triggered from the salesforce.

12.When an external system is making a call to Salesforce in this case should


we add the external System domain name in Remote site setting?

No,it's not required .

13.How will Salesforce authenticates every incoming request?

Every third party request coming into Salesforce will be authenticated by OAuth
2.0,using the OAuth 2.0 third party systems will get the access token first from the
salesforce authorization server ,then the access token will be passed as part of every
request.

So,Salesforce check whether this token is valid or not,expired or not,if everything if fine
then only salesforce processes this request otherwise it will throws an error.

14. What is the default time out an api call out?

120 sec - 2 mins

15. Can we make a callout from Trigger Context(In same transaction)?

No,because when your making a callout to external system we don't know whether you
will receive the response immediately or it can take some time and some time these
external service might be down as well.

So,if your making a callout in trigger context directly you might goes to the dead lock
situation because your trigger is waiting for response from external system but external
system is not responding quickly.Just keeping the limits in mind Salesforce doesn't
support the callout in same transaction from the trigger context.

16. Can we make a callout from Trigger?If how can we make a callout?

In same transaction execution you can't make a callout but salesforce has provided an
workaround solution for this ,by splinting the callout functionality from same transaction
context(synchronous) to different transaction context(asynchronous).

Trigger always run on the synchronous mechanism and when you call any method with
annotation @future(callout=true) the execution context of this method becomes the
asynchronous.So,if you want to make a callout from trigger please place your callout
logic inside this method so that the callout context moves into asynchronous and trigger
don't wait for the callout response and it continues the execution.

17.Can we make a callout from Trigger without using future method?

No,because in same trigger context you can't make a callout. 

18.What are the Concurrent limits in Salesforce?

If multiple requests are running more than the specified time interval then all those
request will be treated under Concurrent limits. Salesforce has broadly divided these
limits into 2 categories
 Concurrent API Request limit
 Concurrent Callout Request/Apex limit
19.Explain about Concurrent API Request limit?

If salesforce receiving any incoming api request from the external systems and all those
api requests which are taking more than 20 sec will be counted under these API Request
limits.

At any given point of time salesforce allows only 25 requests running more than 20
sec is allowed.If 25 requests are already took 20 sec and meanwhile if you receive
26th request and if this 26th request is also crossing the 20 sec then system will throws
an error an terminates this 26th request automatically.

In case if 26th request is finished it's execution within 20 sec then no error will be
thrown.

20. Explain about Concurrent Callout Request/Apex limits?

If salesforce is making any callout to external systems synchronously from visual force,if


any callout taking more than 5 sec(long running processes) will be counted under this
Concurrent Callout Request limit.

At any given point of time salesforce allows only 10 long running callouts .If already 10
callouts are running and all these taking more than 5 sec,in this case if you receive 11
callout request and if this is also taking more than 5 sec then system automatically
terminates this stating concurrent limit exceeded.

21. How can we avoid Concurrent Callout Request/Apex limits?

Yes,we can avoid these errors just moving all these synchronous long running request
into asynchronous long running request by using the Continuous Integration.

SalesForce Interview Questions 1


Question :- 
How many characters are there in the Salesforce case-insensitive id field of an object? 
 18

Question :- 
Name the prefix used by standard VisualForce markup tags. Select the one correct answer?
 apex 
Question :- 
 Which of the following cannot be included in a VisualForce page? Select the one correct
answer. "
  a)Java         b)HTML     C)FLASH
 Java 

Question :- 
To create a new VisualForce page HelloWorld in development mode, which URL should be
appended to server address? 
 apex/HelloWorld . 

Question :- 
What is the maximum size of a VisualForce page?
 15MB  . 

Question :- 
 What is the number of components that can be added to a dashboard? 
  20  

Question :- 
Which is the first step when creating reports? 
 select object on which reports needs to be generated . 

Question :- 
 Which of these is not a valid report type. Select the one correct answer?
 a)Tabular     b)Summary        c)Matrix      d)Detailed
 Detailed  

Question :- 
 Which report type is used to group rows of data and show their subtotals. Select the one
correct answer ?
 Summary 
Question :- 
" Which report type is used to group rows and columns of data and show their subtotals.
Select the one correct answer. "
 Matrix  . 

Question :- 
 Which report type does not allow generation of charts? 
 Tabular .

Question :- 
In the statement below, controller refers to what type of controller? 
 Custom Controller . 

Question :- 
Which of the following represent correct syntax to display first name from global variable
user? Select the one correct answer ?
 " {!$User.FirstName} "  

Most Commonly Used Terms in SalesForce


Apex

A procedural scripting language that allows developers to execute flow and


transaction control statements in the Force Platform environment. Apex code runs
on Force Platform servers and is closely integrated with the Force Platform
environment.

App

A collection of components such as tabs, reports, dashboards, and custom s-


controls that address a specific business need. Short for “application.”

Analytic Snapshots

Used to capture and store data from a particular point in time.

Application programming interface (API)

The interface that a computer system, library, or application provides in order to


allow other computer programs to request services from it and exchange data
between them.

Apex-managed sharing
The ability to designate certain sharing entries as protected from deletion when
sharing is recalculated.

Approval process

An automated process your organization can use to approve records on the


platform. An approval process specifies the steps necessary for a record to be
approved and who must approve it at each step. Approval processes also specify
the actions to take when a record is approved, rejected, or first submitted for
approval.

Auto number

A custom field type that automatically adds a unique sequential number to each
record.

Cascading style sheets

Files that contain all of the information relevant to color, font, borders, and
images that are displayed in a user interface.

Child relationship

A relationship that has been defined on an SObject that references a selected


SObject as the “one” side of a one-to-many relationship. For example, if you
expand the Child Relationships node under the Account object, contacts,
opportunities, and tasks are included in this list.

Class, Apex

A template or blueprint from which Apex objects are created. Classes consist of
other classes, user-defined methods, variables, exception types, and static
initialization code. In most cases, Apex classes are modeled on their counterparts
in Java and can be quickly understood by those who are familiar with them.

Cloud computing

A virtual development and deployment computing environment that eliminates


the need for computing hardware and software infrastructure and components.
Developers and users connect to this environment through a browser.

Component, Visualforce

An entity which can be added to a Visualforce page with a set of tags. You can
create your own Visualforce components, which can contain multiple standard
components.

Controller, Visualforce

An Apex class that provides a Visualforce page with the data and business logic it
needs to run. Visualforce pages can use the standard controllers that come by
default with every standard or custom object, or they can define custom
controllers.

Custom field

Fields that can be added to customize an object for your organization’s needs.

Custom link
A custom URL defined by an administrator to integrate your data with external
websites and back-office systems.

Custom object

An entity that you build to store information, analogous to a table in a relational


database.

Dashboard

A graphical representation of data from up to 20 summary or matrix reports


arranged in a two- or three-column layout. Every user can select a favorite
dashboard to display on his or her Home tab.

Data Loader

A Force Platform tool used to import and export data from your Force Platform
organization.

Dependent field

Any custom picklist or multi-select picklist field that displays available values
based on the value selected in its corresponding controlling field.

Delegated authentication

An security process where an external authority is used to authenticate Force


Platform users.

Developer Edition

A free Salesforce edition that allows you to get hands-on experience with all
aspects of the platform in an environment designed for development. Developer
Edition accounts are available at developer.force.com.

Developer Force

The Developer Force website at developer.force.com provides a full range of


resources for platform developers, including sample code, toolkits, an online
developer community, and the ability to obtain limited Force Platform
environments.

DML statement

An Apex statement that inserts, updates, or deletes records from the Force
Platform database.

Email template

A built-in feature that enables you to create form emails that communicate a
standard message, such as a welcome letter to new employees or an
acknowledgement that a customer service request has been received.

Email service

A service set up for your Force Platform organization that can receive incoming
emails and direct them to an Apex class for processing.

Enterprise Edition
A Salesforce edition designed to meet the needs of larger, more complex
businesses. In addition to all of the functionality available in Professional Edition,
Enterprise Edition organizations get advanced customization and administration
tools that can support large-scale deployments.

Field

A part of an object that holds a specific piece of information, such as a text or


currency value.

Field dependency

A filter that allows you to change the contents of a picklist based on the value of
another field.

Field-level security

Settings that determine whether fields are hidden, visible, read only, or editable
for users based on their profiles.

Force Platform

A platform for building cloud computing applications from salesforce.com. The


Force Platform provides a full stack of default and extensible functionality which
allows you to create cloud computing applications for your entire enterprise.

Force Platform API

A Web services-based application programming interface that provides access to


your Salesforce organization’s information.

Force Platform AppExchange

A Web directory where hundreds of AppExchange apps are available to Salesforce


customers to review, demo, comment upon, and/or install. Developers can
submit their apps for listing on AppExchange if they wish to share them with the
community.

Force Platform IDE

An Eclipse plug-in that allows developers to manage, author, debug and deploy
Force Platform applications classes and triggers in the Eclipse development
environment.

Force Platform Migration Tool

A toolkit that allows you to write an Apache Ant build script for migrating Force
Platform applications and components between two Salesforce organizations.

Force Platform Sites

A feature that allows access to Force Platform applications by users outside of a


Force Platform organization.

Formula field

A type of custom field that automatically calculates its value based on the values
of merge fields, expressions, or other values.

Group
A set of users that can contain individual users, other groups, or the users in a
role. Groups can be used to help define sharing access to data.

Group Edition

A Salesforce edition designed for small businesses and workgroups with a limited
number of users. Group Edition offers access to accounts, contacts, opportunities,
leads, cases, dashboards, and reports.

Home tab

The starting page from which users can view a dashboard, choose sidebar
shortcuts and options, view current tasks and activities, or select each of the
major tabs.

ID

A unique 15- or 18-character alphanumeric string that identifies a single record in


Salesforce.

Import Wizard

An tool for importing data into your Force Platform organization, accessible from
the Setup menu.

Instance

A server that hosts an organization’s Force Platform data and runs their
applications. The platform runs on multiple instances, but data for any single
organization is always consolidated on a single instance.

Junction object

A custom object that implements a many-to-many relationship between two other


objects.

Lookup relationship

A relationship between two objects that allows you to associate records with each
other. On one side of the relationship, a lookup field allows users to click a lookup
icon and select another record from a list. On the associated record, you can then
display a related list to show all of the records that have been linked to it.

Managed package

A collection of application components that are posted as a unit on Force Platform


AppExchange, and that are associated with a namespace and a License
Management Organization. A package must be managed for it to be published
publicly on AppExchange, and for it to support upgrades.

Many-to-many relationship

A relationship where each side of the relationship can have many children on the
other side. Implemented through the use of junction objects.

Manual sharing

Record-level access rule that allows record owners to give read and edit
permissions to other users who might not have access to the record any other
way.
Matrix report

A report that presents data summarized in two dimensions, like a spreadsheet.

Metadata

The foundation of Force Platform applications. Metadata is used to shape the


functionality and appearance of Force Platform applications. A developer modifies
the metadata to create an application, and the Force Platform uses metadata to
create application components as needed.

Merge field

A field you can place in an email template, custom link, or formula to incorporate
values from a record. For example, Dear {!Contact.FirstName}, uses a contact
merge field to obtain the value of a contact record’s First Name field to address
an email recipient by his or her first name.

Mini-Page Layout

A reduced display of information about a record that can be enabled to display


when a user leaves their mouse on a link to the record.

Multitenancy

An application model where all users and apps share a single, common
infrastructure and code base.

MVC (Model-View-Controller)

A design paradigm that deconstructs applications into components that represent


data (the model), ways of displaying that data in a user interface (the view), and
ways of manipulating that data with business logic (the controller).

Namespace

A one- to 15-character alphanumeric identifier that distinguishes your package


and its contents from packages of other developers on Force
PlatformAppExchange, similar to a domain name. Salesforce automatically
prepends your namespace prefix, followed by two underscores (“__”), to all
unique component names in your Salesforce organization.

Object

In Force Platform terms, an object is similar to a database table—a list of


information, presented with rows and columns, about the person, thing, or
concept you want to track. An object is the core component of the data-driven
Force Platform environment, with automatically generated user interfaces, a
security and sharing model, workflow processes, and much more.

Object-level security

Settings that allow an administrator to hide whole tabs and objects from a user,
so that they don’t even know that type of data exists. On the platform, you set
object-level access rules with object permissions on user profiles.

One-to-many relationship

A relationship in which a single object is related to many other objects. For


example, each Candidate may have one or more related Job Applications.
Organization, or org

The virtual space provided to an individual customer of salesforce.com. Your org


includes all of your data and applications, and your org is separate from all other
organizations.

Organization-wide defaults

Settings that allow you to specify the baseline level of data access that a user has
in your organization. For example, you can make it so that any user can see any
record of a particular object that’s enabled in their user profile, but that they’ll
need extra permissions to actually edit one.

Outbound message

A SOAP message from Salesforce to an external Web service. You can send
outbound messages from a workflow rule or Apex.

Package

A group of Force Platform components and applications that are made available to
other organizations through a publish and subscribe architecture.

Page layout

The organization of fields, custom links, related lists, and other components on a
record detail or edit page. Use page layouts primarily for organizing pages for
your users, rather than for security.

Personal Edition

A free Salesforce edition designed for an individual sales representative or other


single user. Personal Edition provides access to key contact management features
such as accounts, contacts, and synchronization with Outlook. It also provides
sales representatives with critical sales tools such as opportunities.

Picklist

A selection list of options available for specific fields, for example,


the Country field for a Candidate object. Users can choose a single value from a
list of options rather than make an entry directly in the field.

Picklist values

The selections displayed in drop-down lists for particular fields. Some values
come predefined, and other values can be changed or defined by an
administrator.

Platform Edition

A Salesforce edition based on either Enterprise Edition or Unlimited Edition that


does not include any of the standard Salesforce CRM apps, such as Sales or
Service & Support.

Production organization

A Salesforce organization that has live users accessing data.

Professional Edition
A Salesforce edition designed for businesses who need full-featured CRM
functionality. Professional Edition includes straightforward and easy-to-use
customization, integration, and administration tools to facilitate any small- to
mid-sized deployment.

Profile

A component of the platform that defines a user’s permission to perform different


functions. The platform includes a set of standard profiles with every
organization, and administrators can also define custom profiles to satisfy
business needs.

Queue

A collection of records that don’t have an owner. Users who have access to a
queue can examine every record that’s in it and claim ownership of the records
they want.

Record

A single instance of an object. For example, Software Engineer is a single Position


object record.

Record name

A standard field on all Force Platform objects. Whenever a record name is


displayed in a Force Platform application, the value is represented as a link to a
detail view of the record. A record name can be either free-form text or an
autonumber field. The Record Name does not have to be a unique value.

Record-level security

A method of controlling data in which we can allow particular users to view and
edit an object, but then restrict the individual object records that they’re allowed
to see.

Related list

A section of a record or other detail page that lists items related to that record.

Relationship

A connection between two objects in which matching values in a specified field in


both objects are used to link related data. For example, if one object stores data
about companies and another object stores data about people, a relationship
allows you to find out which people work at the company.

Report types

The foundation of Force Platform reports. A report type specifies the objects and
their fields that can be used as the basis of a report. Standard report types are
created by the Force Platform, while you can create custom report types for more
advanced or specific reporting requirements.

Role hierarchy

A record-level security setting that defines different levels of users such that
users at higher levels can view and edit information owned by or shared with
users beneath them in the role hierarchy, regardless of the organization-wide
sharing model settings.
Roll-Up Summary Field

A field type that automatically provides aggregate values from child records in a
master-detail relationship.

S-Control

A component that allows you to embed custom HTML and JavaScript into
Salesforce detail pages, custom links, Web tabs, or custom buttons. For example,
you can define a custom s-control containing JavaScript and address merge fields
to display a map of a contact’s address. The functionality provided by s-controls
has been replaced by Visualforce.

Sandbox organization

A nearly identical copy of a Salesforce production organization. You can create


multiple sandboxes in separate environments for a variety of purposes, such as
testing and training, without compromising the data and applications in your
production environment.

Search layout

The organization of fields included in search results, lookup dialogs, and the
recent items lists on tab home pages.

Session ID

An authentication token that’s returned when a user successfully logs in to


Salesforce. The Session ID prevents a user from having to log in again every time
he or she wants to perform another action in Salesforce.

Session timeout

The amount of time a single session ID remains valid before expiring. While a
session is always valid for a user while he or she is working in the Web interface,
sessions instantiated via the API expire after the duration of the session timeout,
regardless of how many transactions are still taking place.

Setup menu

Interface to Force Platform metadata that allows you to create and shape Force
Platform applications. You get access to the Setup menu through the Setup link in
a standard Force Platform application.

Sharing model

A security model that defines the default organization-wide access levels that
users have to each other’s information.

Sharing rules

Rules that allow an administrator to specify that all information created by users
within a given group or role is automatically shared to the members of another
group or role. Sharing rules also allow administrators to make automatic
exceptions to org-wide defaults for particular groups of users.

SOQL (Salesforce Object Query Language)


A query language that allows you to construct simple but powerful query strings
and to specify the criteria that should be used to select the data from the
database.

SOSL (Salesforce Object Search Language)

A query language that allows you to perform text-based searches using the API.

Standard object

A built-in object included with the Force Platform. You can also build custom
objects to store information that’s unique to your app.

Tab

An interface item that allows you to navigate around an app. A tab serves as the
starting point for viewing, editing, and entering information for a particular
object. When you click a tab at the top of the page, the corresponding tab home
page for that object appears. A tab can be associated with a Force Platform
object, a web page or a Visualforce page.

Tag

An identifier that can be attached by a user to an individual record. Force


Platform tags can be public or private.

Test method

An Apex class method that verifies whether a particular piece of code is working
properly. Test methods take no arguments, commit no data to the database, and
can be executed by the runTests() system method either via the command line
or in an Apex IDE, such as Eclipse with the Force Platform IDE.

Time-dependent workflow action

A workflow action that occurs before or after a certain amount of time has
elapsed. Time-dependent workflow actions can fire tasks, field updates, outbound
messages, and email alerts while the condition of a workflow rule remains true.

Trigger

A piece of Apex that executes before or after records of a particular type are
inserted, updated, or deleted from the database. Every trigger runs with a set of
context variables that provide access to the records that caused the trigger to
fire, and all triggers run in bulk mode—that is, they process several records at
once, rather than just one record at a time.

Trigger context variables

Default variables that provide access to information about the trigger and the
records that caused it to fire.

Unlimited Edition

A Salesforce edition designed to extend customer success through the entire


enterprise. Unlimited Edition includes all Enterprise Edition functionality, plus
Apex, Force Platform Sandbox, Force Platform Mobile, premium support, and
additional storage.

Unmanaged package
A Force Platform AppExchange package that cannot be upgraded or controlled by
its developer. Unmanaged packages allow you to take any app components and
move them “as is” to AppExchange without going through a lengthy publishing
process.

URL (Uniform Resource Locator)

The global address of a website, document, or other resource on the Internet. For
example, http://www.salesforce.com.

Validation rule

A rule that prevents a record from being saved if it does not meet the standards
that are specified.

Visualforce

A simple, tag-based markup language that allows developers to easily define


custom pages and components for apps built on the platform. Each tag
corresponds to a coarse or fine-grained component, such as a section of a page, a
related list, or a field. The components can either be controlled by the same logic
that’s used in standard Salesforce pages, or developers can associate their own
logic with a controller written in Apex.

Web service

A mechanism by which two applications can easily exchange data over the
Internet, even if they run on different platforms, are written in different
languages, or are geographically remote from each other.

WebService method

An Apex class method or variable that can be used by external systems, such as
an s-control or mash-up with a third-party application. Web service methods
must be defined in a global class.

Web tab

A custom tab that allows your users to use external websites from within the
application.

Wizard

A user interface that leads a user through a complex task in multiple steps.

Workflow action

An email alert, field update, outbound message, or task that fires when the
conditions of a workflow rule are met.

Workflow email alert

A workflow action that sends an email when a workflow rule is triggered. Unlike
workflow tasks, which can only be assigned to application users, workflow alerts
can be sent to any user or contact, as long as they have a valid email address.

Workflow field update

A workflow action that changes the value of a particular field on a record when a
workflow rule is triggered.
Workflow outbound message

A workflow action that sends data to an external Web service, such as another
cloud computing application. Outbound messages are used primarily with
composite apps.

Workflow queue

A list of workflow actions that are scheduled to fire based on workflow rules that
have one or more time-dependent workflow actions.

Workflow rule

A “container” for a set of workflow instructions that includes the criteria for when
the workflow should be activated, as well as the particular tasks, alerts, and field
updates that should take place when the criteria for that rule are met.

Workflow task

A workflow action that assigns a task to an application user when a workflow rule
is triggered.

Choosing Workflow or Trigger for Field Updates


Keep in mind that you should always use a workflow when possible!  Only use
triggers when you cannot accomplish something using a workflow.

See below for which to use and why:

----Master-detail Relationship----

1) Updating parent picklist value based on child picklist values (Workflow or


Trigger)
>> Workflow, because with master-detail relationship a child object can update
the parent

2) Updating child picklist value based on parent picklist values (Workflow or


Trigger)
>> Trigger, because you cannot update all children records from a workflow
rule, no mater what the relationship is

----Lookup Relationship----
 
3) Updating parent picklist value based on child picklist values (Workflow or
Trigger)
>> Trigger, because you can only update the parent record in a workflow if it is
a master-detail relationship

4) Updating child picklist value based on parent picklist values (Workflow or


Trigger)
>> Trigger, because you cannot update all children records from a workflow
rule, no mater what the relationship is

----No Relationship Between Objects----

5) Updating parent picklist value based on child picklist values (Workflow or


Trigger)
>> Trigger, because without a relationship the workflow will not know which
record to change

6) Updating child picklist value based on parent picklist values (Workflow or


Trigger)
>> Trigger, because without a relationship the workflow will not know which
record to change

(Q). What is Apex in Salesforce?


• Apex is a procedural scripting language in discrete and executed by the Force.com
platform.
• It runs naively on the Salesforce servers, making it more powerful and faster than
non-server code, such as JavaScript/AJAX.
• It uses syntax that looks like Java
• Apex can written in triggers that act like database stored procedures.
• Apex allows developers to attach business logic to the record save process.
• It has built-in support for unit test creation and execution.

Apex provides built-in support for common Force.com platform idioms,


including:
• Data manipulation language (DML) calls, such as INSERT, UPDATE, and
DELETE, that include built-in DmlException handling
• Inline Salesforce Object Query Language (SOQL) and Salesforce Object
Search Language (SOSL) queries that return lists of sObject records
- Looping that allows for bulk processing of multiple records at a time
- Locking syntax that prevents record update conflicts
- Custom public Force.com API calls that can be built from stored Apex methods
- Warnings and errors issued when a user tries to edit or delete a custom object or
field that is referenced by Apex

Note: Apex is included in Unlimited Edition, Developer Edition, Enterprise Edition,


and Database.com

Apex vs. Java: Commonalities


• Both have classes , inheritance, polymorphism, and other common OOP features.
• Both have the same name variable, expression, and looping syntax.
• Both have the same block and conditional statement syntax.
• Both use the same object, array, and comment notation.
• Both are compiled, strongly-typed, and transactional.

Apex vs. Java: Differences


• Apex runs in a multi-tenant environment and is very controlled in its invocation
and governor limits.
• To avoid confusion with case-insensitive SOQL queries, Apex is also case-
insensitive.
• Apex is on-demand and is compiled and executed in cloud.
• Apex is not a general purpose programming language, but is instead a proprietary
language used for specific business logic functions.
• Apex requires unit testing for development into a production environment.
(Q). What is Visualforce in Salesforce?
Visualforce is the component-based user interface framework for the Force.com
platform. The framework includes a tag-based markup language, similar to HTML.
Each Visualforce tag corresponds to a coarse or fine-grained user interface
component, such as a section of a page, or a field. Visualforce boasts about 100
built-in components, and a mechanism whereby developers can create their own
components.
• Visualforce pages can react differently to different client browsers such as those on
a mobile or touch screen device.
• Everything runs on the server, so no additional client-side callbacks are needed to
render a complete view.
• Optional server-side call outs can be made to any Web service.

Visualforce is a Web-based framework that lets you quickly develop sophisticated,


custom UIs for Force.com desktop and mobile apps. Using native Visualforce markup
and standard Web development technologies such as HTML5, CSS, JavaScript, and
jQuery, you can rapidly build rich UIs for any app.
http://wiki.developerforce.com/page/User_Interface

(Q). Apex code Execution Governors and Limits


This link should have more information about Apex code Execution Governors and Limits,
http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_gov_limits.htm

(Q). Apex Data Types


Apex primitive data types include
- String
- Blob (for storing binary data)
- Boolean
- Date, DateTime and Time
- Integer, Long, Decimal, Double
- ID (Force.com database record identifier)
– Example:
• DateTime dt = System.now() + 1;
• Boolean isClosed = true;
• String sCapsFirstName = ‘Andrew’.toUpperCase();

Apex sObject Types


- Sobject (object representing a Force.com standard or custom object)
– Example:
• Account acct = new Account(); //Sobject example

Apex has the following types of collections


- Lists
- Maps
- Sets
– Example:
• List myList = new List();
• myList.add(12); //Add the number 12 to the list
• myList.get(0); //Access to first integer stored in the List

Enums
• Enum (or enumerated list) is an abstract that stores one value of a finite set of
specified identifiers.
• To define an Enum, use enum keyword in the variable declaration and then define
the list of values.
• By creating this Enum, you have created a new data type called Season that can
be used as any other data type.
- Example:
• public enum Season {WINTER, SPRING, SUMMER, FALL}

(Q). Variables
Local variables are declared with Java-style syntax.
For example:
Integer i = 0;
String str;
Account a;
Account[] accts;
Set s;
Map<ID, Account> m;

(Q). Static Methods and Variables


• Class methods and variables can be declared as static. Without this keyword, the
default is to create instance methods and variables.
• Static methods are accessed through the class itself, not through an object of the
class:

Example:
public class blogReaders {
public static boolean firstScript = false;
}
• Static methods are generally utility methods that do not depend on an instance.
System methods are static.
• Use static variables to store data that is shared with in the class.
– All instances of the same class share a single copy of static variables.
– This can be a technique used for setting flags to prevent recursive

(Q). What is the use of static variable?


When you declare a method or variable as static, it’s initialized only once when a
class is loaded. Static variables aren’t transmitted as part of the view state for a
Visualforce page.

Static variables are only static within the scope of the request. They are not static
across the server, or across the entire organization.

(Q). Final variables


• The final keyword can only used with variables.
– Classes and methods are final by default.
• Final variables can only be assigned a value once.
– This can either be at assigned a value once.
• When defining constants, both static and final keywords should be used.
– Example: public static final Integer =47;

(Q). Difference between with sharing and without sharing in salesforce


By default, all Apex executes under the System user, ignoring all CRUD, field-level,
and row-level security (that is always executes using the full permissions of the
current user).

without sharing:
Enforcing the User’s Permissions, Sharing rules and field-level security should apply
to the current user.
For example:
public with sharing class sharingClass {
// Code here
}
without sharing:
Not enforced the User’s Permissions, Sharing rules and field-level security.
For example:
public without sharing class noSharing {
// Code here
}

Enforcing the current user’s sharing rules can impact: (with sharing)
SOQL and SOSL queries – A query may return fewer rows than it would operating
in system context.

DML operations – An operation may fail because the current user doesn’t have the
correct permissions. For example, if the user specifies a foreign key value that exists
in the organization, but which the current user does not have access to.

For More info Click Here:

(Q). Class Constructors


• A constructor is a special method used to create(or instantiate) an object out of a
class definition.
– Constructors never have explicit return types.
– Constructors have the same name as the class.
• Classes have default, no-argument, public constructor if no explicit constructors is
defined.
– If you create a constructor that takes arguments and still want a noargument
constructor, you must explicitly define one.
• Constructors can be overloaded, meaning you can have multiple constructors with
different parameters, unique argument lists, or signatures.
• Constructors are called before all other methods in the class.

For Example:
public class TestObject2 {
private static final Integer DEFAULT_SIZE = 10;
Integer size;
//Constructor with no arguments
public TestObject2() {
this(DEFAULT_SIZE); // Using this(…) calls the one argument constructor
}
// Constructor with one argument
public TestObject2(Integer ObjectSize) {
size = ObjectSize;
}
}

New objects of this type can be instantiated with the following code:
TestObject2 myObject1 = new TestObject2(42);
TestObject2 myObject2 = new TestObject2();

(Q). Class Access Modifiers


• Classes have different access levels depending on the keywords used in the class
definition.

– global: this class is accessible by all Apex everywhere.


• All methods/variables with the webService keyword must be global.
• All methods/variables dealing with email services must be global.
• All methods/variables/inner classes that are global must be within an global class
to be accessible.

– public: this class is visible across you application or name space.

– private: this class is an inner class and is only accessible to the outer class, or is
a test class.
• Top-Level (or outer) classes must have one of these keywords.
– There is no default access level for top-level classes.
– The default access level for inner classes is private.

– protected: this means that the method or variable is visible to any inner classes
in the defining Apex class. You can only use this access modifier for instance
methods and member variables.

To use the private, protected, public, or global access modifiers, use the 
following syntax:
[(none)|private|protected|public|global] declaration

(Q). Variable and Method Access Modifiers


• Link classes, methods and variables have different levels depending on the
keywords used in the declaration.

– private: This method/variable is accessible within the class it is defined.


– protected: This method/variable is also available to any inner classes or
subclasses. It can only be used by instance methods and member variables.
– public: This method/variable can be used by any Apex in this application
namespace.
– global: this method/variable is accessible by all Apex everywhere.
• All methods/variable with the webService keyword must be global.
– The default access modifier for methods and variables is private.
(Q). Casting
Apex enables casting: A data type of one class can be assigned to a data type of
another class, but only if one class is a child of other class.
• Casting converts an object from one data type to another.
• Casting between the generic sObject type and the specific
sObject type is also allowed.

For Example:
sObject s = new Account();
Account a = (Account)s;
Contact c = (Contact)s //this generates a run time error.

(Q). Exceptions Statements


Similar to Java, Apex uses exception to note errors and other events that disrupt
script execution with the following keywords:

• Throw: signals that an error has occurred and provides an exception object.

• Try: identifies the block of code where the exception can occur.

• Catch: identifies the block of code that can handle a particular exception. There
may be multiple catch blocks for each try block.

• Finally: optionally identifies a block of code that is guaranteed to execute after a


try block.

Exception Example:
public class OtherException extends BaseException {}
Try{
//Add code here
throw new OtherException(‘Something went wrong here…’);
} Catch (OtherException oex) {
//Caught a custom exception type here
} Catch (Exception ex){
//Caught all other exceptions here
}

(Q). Exception Methods


All exceptions support built-in methods for returning the error message and
exception type, below is the some of the Exception Methods,
AsyncException
CalloutException
DmlException
EmailException
JSONException
ListException
MathException
NoAccessException
NoDataFoundException
NullPointerException
QueryException

http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_exception_
methods.htm

(Q). Loops
• Apex supports the following five types of procedural loops:
– do {statement} while (Boolean_condition);
– while (Boolean_condition) statement;
– for (initialization; Boolean_exit_condition; increment) statement;
– for (variable : array_or_set) statement;
– for (variable : [inline_soql_query]) statement;
• All loops allow for loop control structures:
– break; exits the entire loop
– continue; skips to the next iteration of the loop

(Q). What is a Business Process?


• Allows you to track separate sales, support, and lead lifecycles
across different divisions, groups, or markets

Available Business Processes:


– Sales Processes – Create different sales processes that include some or all of the
picklist values available for the Opportunity Stage field

– Support Processes – Create different support processes that include some or all
of the picklist values available for the Case Status field

– Lead Processes – Create different lead processes that include some or all of the
picklist values available for the Lead Status field

– Solution Processes – Create different solution processes that include some or all
of the picklist values available for the Solution Status field

(Q). What are the Objects available in the Salesforce Business Process
and Give some Business Process Example?
Lead
Opportunity
Case
Solution

–You must create the business process before creating record types for each of
above objects.

– You can then associate each business process with one or more record types and
make it available to users based on their profile.

– In order to implement more than one business process, multiple record types must
also be implemented.

Business Process Examples

Lead Processes:
– Cold Call
– 3rd Party telesales companies
– Leads generated via campaigns
– Leads generated via a registration form

Opportunities Sales Processes:


– Miller Heiman/ Solution Selling Methodology
– Inside Sales vs. Outside Sales
– New business vs. Existing Business (Up selling)

Case Processes:
– Customer Inquiries
– Internal Requests
– Billing inquiries

Solutions Processes:
– Internal vs. Public Knowledge Base

(Q). What about Web-to-Lead and Web-to-Case?


–A lead or case record created through Web-to-Lead or Web-to-Case will set the
record type to that of  the default lead owner or automated case user (optional)

(Q). On which tabs can I create multiple record types?


–Multiple record types may be created for every tab, with the exception of the
Home, Forecasts, Documents, and Reports tabs.

(Q). What happens if I need to add a picklist value?


–You will be prompted to select which record types should include the new value

(Q). What is Field-Level Security?


– Defines users’ access to view and edit specific fields in the application

(Q). Why use Field-Level Security?


– Use Field-Level Security (rather than creating multiple page layouts) to enforce
data security
– Users view data relevant to their job function Troubleshooting Tools

– Field accessibility views

– Setup | Administration Setup | Security Controls | Field Accessibility

Notes:
• Field Level Security is not available in PE

• Field-level security cannot be used to make a field required. This is done from the
Page Layout

• Field access settings can be defined using both field-level security and page
layouts. However, the most restrictive field access setting of the two will always
apply. For example, if a field is required on the page layout, but read-only in the
field-level security settings, the field will be read-only.

• Hiding a field from a user using FLS also hides that field from list views, search
results, and reports.

(Q).  What are Login Hours and Login IP Ranges?


– Sets the hours when users with a particular profile can use the system
– Sets the IP addresses from which users with a particular profile can log in

Notes:
• You can customize profiles to restrict users’ ability to log in to Salesforce.
• You can set the hours when users can log in and the IP addresses from which they
can log in.
If a user logs in before the restricted hours, the system will end the user’s session
when the restricted hours begin.

Two Options for Restricting Access via IP Ranges


Option 1: Add Trusted IP Ranges for your entire org
Option 2: Add Trusted IP Ranges on a Profile by Profile basis

(Q).  What is a User Record?


– Key information about a user
– Each has its own unique username
– User logs in with username and password
– Users can be active or inactive; an active user uses a license
– Users are associated with a Profile
– Users are usually associated with a Role
(Q). What is a Record Owner?
– The user (or queue for Cases and Leads) who controls or has rights to that
particular data record
– An Owner has the following special privileges:
• View and edit capabilities
• Transfer capability – change ownership
• Deletion capabilities
– Important assumption: Object permissions enabled
– The Account Owner, Opportunity Owners and Case Owners may or may not be the
same user.

(Q). What are Organization Wide Defaults?


– Defines the baseline level of access to data records for all users in the
Organization (not including records owned by the user or inherited via role
hierarchy)
– Used to restrict access to data

Access levels:
-Private
-Public Read/Write
-Public Read/Write/Transfer
-Controlled by Parent
-Public Read Only

(Q). What is a Role and Role Hierarchy?


Role:
– Controls the level of visibility that users have to an organization’s data
– A user may be associated to one role

Role Hierarchy:
– Controls data visibility
– Controls record roll up – forecasting and reporting
– Users inherit the special privileges of data owned by or shared with users below
them in the hierarchy
– Not necessarily the company’s organization chart

Notes:
• If using Customizable Forecasting, there is a separate forecast role hierarchy.
• EE can create Account, Contact, Opportunity and Case Sharing Rules. PE can ONLY
create Account and Contact Sharing Rules.
• Assuming no sharing rules have been created, users in the same role cannot
access one another’s records.

Example: Org Wide Default settings for opportunities are private. Creating a role and
adding two users to that role does not allow those users access to one another’s
opportunities.

• “Grant Access Using Hierarchies” allows you to disable the default sharing access
granted by your role and territory hierarchies. This option can be changed for
custom objects that do not have their organization-wide default sharing setting set
to Controlled by Parent.

(Q). What is Access at the Role Level?


– Defined when creating a role
– Level of access to Opportunities associated to Accounts owned by the role
– Level of access to Contacts associated to Accounts owned by the Role
– Level of access to Cases associated to Accounts owned by the role
– Level of access options depend on OWD

Notes:
• You can create up to 500 roles for your organization
• Every user must be assigned to a role, or their data will not display in opportunity
reports, forecast roll-ups, and other displays based on roles
• All users that require visibility to the entire organization should belong to the
highest level in the hierarchy
• It is not necessary to create individual roles for each title at your company, rather
you want to define a hierarchy of roles to control access of  information entered by
users in lower level roles
• When you change a user’s role, any relevant sharing rules are evaluated to add or
remove access as necessary

(Q). What is a Sharing Rule?


– Automated rules that grant access to groups of users
– Exceptions to Organization Wide Defaults
– Irrelevant for Public Read/Write organizations
– Levels of Access that can be granted

• Read Only
• Read/Write
Notes:
• Sharing rules should be used when a user or group of users needs access to
records not granted them by either the role hierarchy setup or the organization wide
default settings.

- Sharing rules open up access whereas organization wide defaults restrict access.

- You can use sharing rules to grant wider access to data. You cannot restrict access
below your organization-wide default levels.

• Sharing rules apply to all new and existing records owned by the specified role or
group members.

• Sharing rules apply to both active and inactive users.

• When you change the access levels for a sharing rule, all existing records are
automatically updated to reflect the new access levels.

• When you delete a sharing rule, the sharing access created by that rule is
automatically removed.

• When you transfer records from one user to another, the sharing rules are
reevaluated to add or remove access to the transferred records as  necessary.

• When you modify which users are in a group or role, the sharing rules are
reevaluated to add or remove access as necessary.

• For contact, opportunity and case sharing rules, if the role or group members do
not have access to the account associated with the shared contact, opportunity or
case the rule automatically gives them access to view the account as well.

• Managers in the role hierarchy are automatically granted the same access that
users below them in the hierarchy have from a sharing rule.

• You can edit the access levels for any sharing rule. You cannot change the
specified groups or roles for the rule.

(Q). Types of Sharing Rules in Salesforce and Explain it?


Account Sharing Rules:
– Based on who owns the account
– Set default sharing access for accounts and their associated cases, contacts,
contracts, and opportunities

Contact Sharing Rules:


– Based on who owns the contact (must be associated with an account)
– Set default sharing access for individual contacts and their associated accounts
– Cannot use with: Territory Management and B2I (Person Account) enabled orgs
Opportunity Sharing Rules (EE/UE):
– Based on who owns the opportunity
– Set default sharing access for individual opportunities and their associated
accounts

Case Sharing Rules (EE/UE):


– Based on who owns the case
– Set default sharing access for individual cases and associated accounts

Lead Sharing Rules (EE/UE):


– Based on who owns the lead
– Set default sharing access for individual leads

Custom Object Sharing Rules (EE/UE):


– Based on who owns the custom object
– Set default sharing access for individual custom object records

(Q). Uses cases for Sharing Rules in salesforce?


– Organizations with organization-wide defaults of Public Read Only or Private can
create sharing rules to give specific users access to data owned by other users.

– Cases Sharing Example: To use cases effectively, customer support users must
have read access to accounts and contacts. You can create account sharing rules to
give your customer support team access to accounts and contacts when working on
cases.

– Account Sharing Example: The Western and Eastern Regional Directors need to


see all of the accounts created by each others’ sales reps. You can create two public
groups – one that includes the Western and Eastern Regional Director roles and one
that includes the Western and Eastern Sales Rep roles. Then create an account
sharing rule so that records owned by the Western and Eastern Sales Rep group are
shared with the group containing the Western and Eastern Regional Director roles.

(Q). Best Practices of Creating Contact Sharing Rules?


– Account Org-Wide Default must be set to at least “Public Read Only” in order to
set the Contact Org-Wide Default to “Public Read/Write”.

– To share ALL contacts in the system with a group of users or a specific role, create
a sharing rule that uses the “All Internal Users” (or “Entire Organization”) public
group as the owned by option.

– Use “Roles and Subordinates” over “Roles” where possible to minimize the number
of sharing rules.
(Q). What is a Public Group?
– A grouping of:
• Users
• Public Groups (nesting)
• Roles
• Roles and Subordinates
– Mixture of any of these elements
– Used in Sharing Rules – for simplification (when more than a few roles need to be
shared to)
– Also used when defining access to Folders and List Views

For example, if a new user is assigned a role that belongs to an existing public
group, that user will be automatically added to the public group

(Q). What is Manual Sharing?


– Granting record access, one-off basis

– Owner, anyone above owner in role hierarchy and administrator can manually
share records

– Available on Contacts, Leads, Cases, Accounts and Opportunity records and


Custom Objects

– Like sharing rules, irrelevant for Public Read/Write organizations

(Q). What is a Sales Team? (EE/UE)


– Used for collaborative selling
– Used for sharing as well as reporting purposes
– Ad hoc or may use Default Sales Team (defined for user)
– Default Sales Teams may be automatically added to a user’s opportunities
– Who can add a Sales Team?

• Owner
• Anyone above owner in role hierarchy
• Administrator

Adding Default Sales Team Members:

– Click Setup | My Personal Information | Personal Information

Please note that the Professional Edition does NOT have access to the Team Selling
Feature.
(Q). Org Wide Defaults Vs Role Hierarchy Vs Sharing Models?

(Q). What is an Account Team? (EE/UE)


– Used for collaborative account management
– Used for sharing as well as reporting purposes
– Manually added to Account records
– Default Account Teams may be automatically added to a user’s accounts

– Who can add an account team?


• Owner
• Anyone above owner in role hierarchy
• Administrator

Please note that Account Teams are not available for Professional Edition.

(Q). What is an Case Team? (EE/UE)


Case teams enable full communication and collaboration on solving customer issues.
You can:

– Add teams of users to cases


– Create a workflow for case teams
– Predefine case teams for users
– Determine the level of access
– Administrators can predefine case teams for users and determine the level of
access each team member has to a case, such as Read/Write or Read/Only.
– Click Path: Setup | Customize | Cases | Case Teams

(Q). What are Folders?


– Used for organizing email templates, documents, reports and dashboards
– Access is defined – Read or Read/Write
– Access is explicit – does NOT roll up through role hierarchy

Notes:
– You can modify the contents of a folder if the folder access level is set to
Read/Write.
– Only users with the “Manage Public Documents” or “Manage Public Templates” can
delete or change a Read Only folder.
– The Documents tab does NOT contain version control capabilities
– To search documents, users must use Documents search. The sidebar search does
NOT search Documents, Solutions, Products, and Reports but does search Assets
and Custom Objects
– The Create New Folder link will only be visible to users with the “Manage Public
Documents” permission
– The size limit for documents uploaded is 5MB. The size limit for document
filenames is 255 characters including the file extension

(Q). What is Workflow?


Salesforce Workflow gives you the ability to automatically:
– Create and send email alerts
– Create and assign tasks
– Update field values to either specific values, or based on formulas
– Create and send outbound API messages
– Create and execute time-dependent actions

Workflow Important Points:


• Your sales organization operates more efficiently with standardized internal
procedures and automated business processes – workflow.

• You can set up Salesforce to automatically send email alerts, assign tasks, or
update field values based on your organization’s workflow.

• Workflow rules can be used to assign follow-up tasks to a support rep when a case
is updated, send sales management an email alert when a sales rep qualifies a large
deal, change the owner of a contract when it has been signed by the customer, or
trigger an outbound API message to an external HR system to initiate the
reimbursement process for an approved expense report.
(Q). What are Workflow Components available?
Workflow consists of the following components:
– Workflow Rules – trigger criteria for performing various workflow actions
– Workflow Tasks – action that assigns a task to a targeted user
– Workflow Email Alerts – action that sends an email to targeted recipients
– Workflow Field Updates – action that updates the value of a field automatically
– Workflow Outbound Messages – action that sends a secure configurable API
message (in XML format) to a designated listener (not covered in this class)

Notes:
• Workflow Rules use workflow actions when their designated conditions are met.
Workflow rules can be triggered any time a record is saved or created, depending on
your rule settings. However, rules created after saving records do not trigger those
records retroactively.

• Workflow Tasks are like task templates, containing the information a workflow rule
uses to assign a task to specified users whenever specific business actions trigger
the rule. Workflow tasks provide the Subject, Status, Priority, and Due Date for the
tasks a rule assigns.

• Workflow Email Alerts are emails generated by a workflow rule using an email
template. The emails are sent to designated recipients, either Salesforce users or
others, whenever specific business actions trigger a workflow rule.

• Workflow Field Updates specify the field you want updated and the new value for
it. Depending on the type of field, you can choose to apply a specific value, make
the value blank, or calculate a value based on a formula you create.

• Workflow Outbound Messages send the information you specify to an endpoint you
designate, such as an external service. An outbound message sends the data in the
specified fields in the form of a SOAP message to the endpoint.

(Q). What is a Workflow Rule?


– Defined trigger criteria based on your business requirements
– Evaluated when record is created, when created/updated, OR when
created/updated and did not previously meet trigger criteria
– When trigger criteria is met workflow actions, such as email alerts, tasks, field
updates, or outbound messages are generated

To get started using workflow rules, click


• Setup | Create| Workflow & Approvals | Workflow Rules

(48). What is a Workflow Task?


– When a Workflow Rule is met, a Task may be assigned to designated users to
follow-up and respond to the Business Conditions in the Workflow Rule
– Workflow Tasks may be assigned to a user, role, record owner, record creator,
sales team role, or account team
– Tracked in Activity History and can be reported on
– Can be re-used within the same object
– Tasks can be immediate or time-dependent

To create your workflow tasks:


Click Setup | Customize | Workflow & Approvals | Tasks

(Q). What is a Workflow Alert?


– Workflow Alerts are emails generated by a workflow rule whenever specific
Business Actions trigger the rule
– Can send alerts to Users, Roles, Customer in a Contact Field, Email Field on Page
Layout – please see picklist for options…
– Not tracked in Activity History
– Can be re-used within the same object
– Alerts can be immediate or time-dependent

(Q). What is a Workflow Field Update?


– Field updates allow you to automatically change the value of a field to a value you
specify

– Depending on the type of field you can:


• apply a specific value
• make the value blank
• calculate a value based on a formula you create
– Field updates can be immediate or time-dependent

To get started using workflow Filed Updates, click

Click Setup | Create | Workflow & Approvals | Field Updates

(Q). What is Time-Dependent Workflow?


Time-Dependent Workflow gives you the ability to
– execute time-sensitive actions before or after any date on the record
– perform a series of actions at various points in time
– use the Workflow Queue to manage all pending actions Use Time-Dependent
workflow to
– send an email reminder to an account team if a high-value opportunity is still open
ten days before the close date
– notify the VP of sales if a high value opportunity close date is fast approaching and
it has not been closed
– pro-actively notify support rep if an open case with Platinum Support SLA has not
been worked for a period of time and take action before the case  escalates
(Q). Working with Time-Dependent workflow
Time Triggers
– are time values relevant to the record and are used to initiate a time-dependent
action

Time-Dependent Actions
– are any of the five workflow actions with an associated time-trigger
– are queued whenever a rule is triggered
– can be reused in additional workflow rules as long as the object is the same
– are removed from the workflow queue if the corresponding record no longer meets
rule trigger criteria.
– are dynamically updated in the workflow queue if the corresponding record field is
updated.

(Q). Time-Dependent Workflow – Considerations


Maximum of 10 time triggers per rule

Maximum of 40 actions (10 x 4 types) per time trigger, and 80 actions per workflow
rule

Workflow default user must be set up before creating time-based rules


Precision limited to hours or days

Cannot convert leads with time-dependent actions in the Workflow Queue

Time triggers cannot be added to or removed from activated workflow rules

Not possible to create a time-dependent action associated to a rule with a trigger


type of Every time the record is created or updated

(Q). When The Add Time Trigger button is unavailable?


The evaluation criteria is set to Evaluate the rule when a record is: created, and
every time it’s edited.

The rule is activated.

The rule is deactivated but has pending actions in the workflow queue.

(Q). Time-Dependent Workflow Limitations:


Time triggers don’t support minutes or seconds.
Time triggers can’t reference the following:

 DATE or DATETIME fields containing automatically derived functions, such as


TODAY or NOW.
 Formula fields that include related-object merge fields.
You can’t add or remove time triggers if:

 The workflow rule is active.


 The workflow rule is deactivated but has pending actions in the queue.
 The workflow rule evaluation criteria is set to Evaluate the rule when a record
is: created, and every time it’s edited.
 The workflow rule is included in a package.

(Q). What is Approval Processing?


An approval process is an automated Business Process that your organization can
use to approve records in Salesforce
An approval process specifies the:
– Steps necessary for a record to be approved
– Who must approve it at each step
– The actions to take when a record is approved, rejected, or first submitted for
approval

(Q). Approval Terminology


• Approval Request: An approval request is an email notifying the recipient that a
record was submitted for approval and his or her approval is  requested.

• Approval Steps: Approval steps assign approval requests to various users and
define the chain of approval for a particular approval process.
– Each approval step specifies the attributes a record must have to advance to that
approval step, the user who can approve requests for those records, and whether to
allow the delegate of the approver to approve the requests.
– The first approval step in a process also specifies the action to take if a record
does not advance to that step.
– Subsequent steps in the process also allow you to specify what happens if an
approver rejects the request.

• Assigned Approver: The assigned approver is the user responsible for approving an
approval request.

• Initial Submission Actions: are the actions that occur when a user first submits a
record for approval.
– For example, an initial submission action can lock the record so that no users can
edit it during the approval process.
– Initial submission actions can also include any approval actions such as assigning a
task, sending an email, or updating a field.

• Final Approval Actions: are the actions that occur when all approval requests for a
record are approved.
– Final approval actions can include any approval actions such as email alerts, field
updates, tasks, or outbound messages.
– For example, a final approval action can change the status to “Approved” and send
a notification email.

• Final Rejection Actions: are the actions that occur when all approval requests for a
record are rejected.
– Final rejection actions can include any approval actions such as email alerts, field
updates, tasks, or outbound messages.
– For example, a final rejection action can change the status to “Rejected”, send a
notification email, and unlock the record so that users can edit it before
resubmitting.

• Record Locking: is the process of preventing users from editing a record regardless
of field-level security or sharing settings.
– Records that are pending approval are automatically locked by Salesforce.
– Users must have the “Modify All Data” permission to edit locked records.
– The Initial Submission Actions, Final Approval Actions, and Final Rejection Actions
related lists contain a record lock action that you can edit if necessary

• Outbound Messages: send the information you specify to an endpoint you


designate.
– You can set up workflow rules and approval processes to send outbound messages
to an endpoint as a means of getting information to an external service.

(Q). Approval Process Checklist


Use the following checklist to plan your approval process:
– Prepare an Approval Request Email
– Determine the Approval Request Sender
– Determine the Assigned Approver
– Determine the Delegated Approver
– Decide if your approval process needs a filter
– Decide initial submission actions
– Decide if users can approve requests from a wireless device
– Determine if users can edit records that are awaiting approval
– Decide if records should be auto-approved or rejected
– Determine how many levels your process has
– Determine the actions when an approval request is approved or rejected

(Q). Jump Start Wizard vs. Standard Wizard


– The Jump Start wizard creates a one-step approval process for you in just a few
minutes
– The Standard Wizard is useful for complex approval processes.

Jump Start Wizard


• The jump start wizard is useful for simple approval processes with a single step.
• Use the jump start wizard if you want to create an approval process quickly by
allowing Salesforce to automatically choose some default options for you.

Standard Wizard
• The standard wizard is useful for complex approval processes.
• Use it when you want to fine tune the steps in your approval process.
• The standard wizard consists of a setup wizard that allows you to define your
process and another setup wizard that allows you to define each step in the process.

(Q). Parallel Approval Routing


– Send approval requests to multiple approvers in a single step Wait for approval
from all the approvers or wait for approval from any one
– Configure an approval step to request approval from any combination of multiple
users and related users
– Configure 25 parallel approvers at each step

(Q). Data Validation Rules contain


– A Boolean formula or expression that evaluates the data in one or more fields to
either “True” or “False”
– A user defined error message that displays when the rule returns a value of “True”
– Data Validation Rules execute when
– A User Saves a Record
– Before records are imported
– Using the Force.com Data Loader and the Force.com API

Data Validation Rules are enforced on Area Impact

Supported Objects All except Forecasts & Territories


Reporting & Dashboards No impact
API Validation rules enforced via API
Import & Data Loader Validation rules enforced via Import & Data Loader
Lead Convert Validation Rules Enforced – must be turned on in Org
Record Merge Not enforced
Offline & Outlook Editions Validation rules enforced when data is synchronized with
server

Salesforce Mobile Validation rules enforced when data is synchronized with server
Web To Case
Web To Lead
Validation rules enforced but no feedback to user
Admin notified of any errors
Self Service Portal Validation rules enforced
Apex Packaging Can be packaged

(Q). What is the Import Wizard?


– An easy-to-use multi-step wizard for importing new Accounts, Contacts, Leads,
Custom Objects or Solutions

– Can be used for Account, Contact, Lead, Custom Objects or Solutions updates
based on matching ID
– Contact and Leads may be updated based on matching email address
– Custom Objects or Solutions may be updated based on Custom
Object names, Solutions titles, Salesforce ID or external ID

What is a CSV file?


– File type required when using the Import Wizard
– Values are separated by commas and each row indicates a record of data

What is a record of data?


– One unique unit of related information
– Row of data in a table or spreadsheet
Standard users can import up to 500 account or contact records per session.
Organization-wide imports
(system administrators) are limited to 50,000 accounts, contacts, leads, custom
objects, or solutions per
session
• During a lead import, you can choose to enable active or inactive assignment rules
and/or trigger workflow rules as part of the import

Import Wizard
– Only imports data. Object and fields must be created first.
– Only available for System Administrators
– Must load parent objects first if lookup fields are included
– Loading for multiple record types requires file chunking

Affected Objects and Functions


– Custom Objects, Accounts, Solutions, Contacts, and Leads
(Q). What is External ID?

– Flag on any custom field of type Text, Number or Email


– Available on all objects that support custom fields

– Why is it important?
• Increases Report and API SOQL performance
• Allows customers to use the record ID from an external system
like the salesforce ID in Import and the API (new “Upsert” call)
– Import supports External ID field that can be used to load
and/or synchronize data sourced in external systems
– Customer System of Record master exists in SAP with an SAP
customer number. The External ID field may be used to maintain
the SAP number
– Migrating large amounts of data, the External ID field may be
used to track migration data and run data validation tests before
going live
Example of an External Id flow where the update or insert is
determined based on an import flow from a
system of record such as Oracle.
• The value proposition here is that we can de-duplicate not only
based on our IDs (which are unknown to an external system), but
that we can flag an external id (of type text, email, or number)
custom field for the purposes of helping to de-duplicate (ie.
Update/Insert = Upsert) during the import process; especially
when trying to keep multiple systems synchronized

External ID
– Case INSENSITIVE
– Three ID fields per object
– Custom fields only

(Q). Force.com Data Loader – Features


– An easy-to-use wizard interface
– An alternate command line interface
– A batch mode interface with database connectivity
– Support for large files with up to millions of rows
– Drag-and-drop field mapping
– Support for all objects, including custom objects
– Detailed success and error log files in CSV format
– A built-in CSV file viewer
– Platform independence, by virtue of being written in Java®
Force.com Data Loader is an application for the bulk import or export of data.
– Use it to insert, update, delete, or extract, or upsert Salesforce records.
– Force.com Data Loader can move data into or out of any salesforce.com object.

(Q). Use the Data Loader when:


– You need to load 50,000 or more records.
– You need to load into an object that is not yet supported by web-based importing.
– You want to schedule regular data loads, such as nightly imports.
– You want to be able to save multiple mapping files for later use.
– You want to export your data for backup purposes.
– Use web-based importing when:
– You are loading fewer than 50,000 records.
– The object you need to import is supported by the web-based import wizards.
– You want to prevent duplicates by uploading records according to account name
and site, contact email address, or lead email address.

(Q). What is the Recycle Bin?


– Houses deleted data for approximately 30 days
– Data can be recovered during this time period
– Not counted against storage limit

If your organization reaches its Recycle Bin limit, Salesforce automatically removes
the oldest records if they have been in the Recycle Bin for at least two hours.
– You cannot delete a product that is used on an opportunity
– You cannot delete the Standard Price Book or a price book that is on an
opportunity.

(Q). What is a Standard report and Custom Report?


– Out-of-the-box reports, e.g., Account and Contact Reports
– May be used as a starting point for Custom Reports
– May not be deleted or removed (folder can be hidden)

What is a Custom report?


– Created with your specific criteria
– Saved in the My Personal Folder, Unfiled Public folder or custom folder but not in a
Standard Folder
– May be edited or deleted
– Can be searched for in Custom Report search

What is the Report Wizard?


– An easy-to-use, multi-step wizard used to create a custom report
– Number of wizard steps depends on Report Type selected
(Q). What is a Tabular Report?
– Provides a simple listing of your data without subtotals
– Examples: Contact mailing list report

(Q). What is a Summary Report?


– Provides a listing of data, like a Tabular Report, plus sorting and subtotaling of
data
– Example: Report showing all opportunities for current FQ, grouped by Stage

(Q). What is a Matrix Report?

– Summarizes data in a grid against horizontal and vertical criteria


– Use this report type for comparing related totals
– Similar to a pivot table in Excel
– Example: Report showing all opportunities for your team for current FQ,
subtotaled by Stage and Owner

(Q). What are Trend Reports?


– Report on opportunity history data by filtering on “as of” date
– Only monthly “as of” dates – displays the report monthly within the interval
selected
– Example: Interval = Current FQ will display 10/1/07, 11/1/07, 12/1/07

(Q). What are Charts?


– Graphical representation of data of a single Summary or Matrix Report
– Types: Horizontal Bar, Vertical Bar, Line and Pie
– “Grouped” or “Stacked” charts can be created from Summary reports & Matrix
reports

(Q). What are Relative Dates?


– Used in Views and Reports for filtering
– Dynamic date range, based on current date
– Examples: This Week, Next Month, Last 90 Days

Available Relative Date Filters (not case sensitive):


• Today
• Yesterday
• Tomorrow
• This Week
• Last Week
• Next Week
• This Month
• Last Month
• Next Month
• Last x Days
• Next x Days
• Quarter
• Year
• Fiscal Quarter
• Fiscal Year

(Q). What are Custom Report Types?


– Custom report types allow you to build a framework in the report wizard from
which users can create and customize reports.
– You build custom report types off of the relationships (masterdetail and lookup)
between objects so that you can:
• Choose which standard and custom objects to display to users creating and
customizing reports
• Define the relationships between objects displayed to users creating and
customizing reports
• Select which objects’ fields can be used as columns in reports
– Define custom report types to display results from an object with or without its
related objects
• See which cases were closed with solutions, and which were not.

(Q). What is Conditional Highlighting?


– Set thresholds for report analysis
– 3 conditions maximum per report
– Only apply to summary rows
– Numerical analysis only
– First condition is <; second condition <, third condition >=

• You can use conditional highlighting for summary and matrix reports.
• On the Select Chart and Highlights page of the report wizard, you can choose up to
three number ranges and colors to conditionally highlight summary data in your
report cells.
• If you do not want to highlight a particular range, choose White as the color for
that conditional highlighting

(Q. What are Dashboards?


– Visual representations of key business information
– Show information from multiple reports
– Made up of Components
– Use Custom Reports as source (Matrix and Summary)
– Running User determines the level of access to the Dashboard Data
– Refresh can be Scheduled
– Email a Dashboard

(Q). Dashboard Components


Chart: Graphical representation of report results
Table: A listing of the top or bottom records from a report
Metric: A single data value – drawn from the Grand Total of a report
Gauge: A single data value – displayed as a point on a defined spectrum – drawn
from the Grand Total of a report

(Q). What is a Campaign?


– Specific marketing program or marketing tactic
– Builds awareness and generates leads

What is a Campaign Member?


– Lead or contact, who is associated to the Campaign
– Individual who has responded to Campaign

Who has access to Campaigns?


• Any user in your organization can view campaigns, view the advanced campaign
setup, or run campaign reports.
• However, only designated Marketing Users with the appropriate user permissions
can create, edit, and delete campaigns and configure advanced campaign setup.
• An administrator must select the Marketing User checkbox on a user’s personal
information to designate that user as a Marketing User.
• In addition, Marketing Users can import leads and use the campaign import
wizards if they also have the Marketing User profile (or the “Import Leads”
permission and “Edit” on campaigns).
• Campaigns are included with Enterprise, Unlimited, and Developer Editions, and
available for an additional cost with Professional Edition

(Q). What is a Lead?


– Prospect that you want to market to
– Captures business card information
– Individual who has expressed interest in your product or service
– Assigned ownership either manually or via Assignment Rule

What is a Contact?
– Individual who is associated to an Account

Lead Conversion
– Lead qualification depends on your business process
– Lead information is mapped to the appropriate business object – Account, Contact
or Opportunity

– Existing data check


The system automatically maps standard lead fields to standard account, contact,
and opportunity fields
• For custom lead fields, your administrator can specify how they map to custom
account, contact, and opportunity fields
• The system assigns the default picklist values for the account, contact, and
opportunity when mapping any standard lead picklist fields that are blank. If your
organization uses record types, blank values are replaced with the default picklist
values of the new record owner.
• If the lead has a record type, the default record type of the new owner is assigned
to records created during lead conversion.

What is a Web-to-Lead?
– An online form to capture lead information
– Published on your web site

What is an Email Template?


– Standardized text or HTML
– Enables standard and consistent email messaging

What is an Auto-Response Rule?


– Determines which Email Template to send to leads generated via Web-to-Lead
– Contains Rule Entries that determine criteria for determining Email Template
response content

(Q). What is a Case?


– A logged issue or problem
• Similar Cases may be grouped using a Hierarchy
– Cases are:
• Manually entered from a phone call or an email
• Automatically create Case from an email (Emailto- Case)
• Automatically captured:
– Web site (Web-to-Case)
– Create a Case functionality in Outlook Edition
– May be assigned either manually or automatically via Assignment Rules
– Associated to Contacts and Accounts

What is a Case Queue?


– A virtual storage bin that can be used to group cases based on criteria such as skill
requirements, product categories, customer types, or service levels
– Users have visibility into the Case Queues to which they are members
– Cases remain in the Queue until they are assigned to or taken by individual users

What is a Case Assignment Rule?


– Determines how Cases are automatically routed to User or Queue
– Contains Rule Entries, pre-defined business rules, that determine Case routing

What is Web-to-Case?
– A web form that is published to a web site
– Customers use to submit inquiries online

What is Email-to-Case?
– Automatically create a case when an email is sent to one of your
company’s email addresses, such as [email protected]

What are Auto-Response Rules?


– Determines which Email Template to send to cases generated via Web-to-Case
– Contains Rule Entries that determine criteria for determining Email Template
response content

What is an Escalation Rule?


– Automatically escalates an unresolved Case within a certain period of time (age
over)
– Based on pre-defined business criteria

What are Business Hours?


– Set the organization’s hours of operation
– Escalation Rule uses to determine when to escalate a Case
– Include business hours in multiple time zones.
– Associate cases with specific time zones
– Escalate cases according to specific time zones

(Q). What is a Fiscal Year in Salesforce?


– Used for an organizations financial planning
– Usually a year in length
– Impacts forecasts, quotas and reports

Salesforce allows two types:

–Standard Fiscal Years are periods that follow the Gregorian calendar, but can
start on the first day of any month of the year. (A Gregorian Year is a calendar
based on a 12 Month Structure and is used throughout much of the world.)

–Custom Fiscal Years are for companies that break down their fiscal years,
quarters and weeks in to custom fiscal periods based on their financial planning
requirements.

 Forecasting can NOT be used with Custom Fiscal Years

 Customizable Forecasting must be enabled for use with Custom Fiscal Years
(Q). Is it possible to change the existing data types of custom fields, if
Yes please explanin?
Yes. Its possible but Changing the data type of an existing custom field can cause
data loss in the following situations:

 Changing to or from type Date or Date/Time

 Changing to Number from any other type

 Changing to Percent from any other type

 Changing to Currency from any other type

 Changing from Checkbox to any other type

 Changing from Picklist (Multi-Select) to any other type

 Changing to Picklist (Multi-Select) from any type except Picklist

 Changing from Auto Number to any other type

 Changing to Auto Number from any type except Text

 Changing from Text Area (Long) to any type except Email, Phone, Text, Text
Area, or URL

(Q). What is a Solution?


– An answer to a common question or problem
– Enables Customer Support users get up to speed quickly
– Enables Support teams to answer questions quickly and consistently
– Customers search for and browse published Solutions to selfassist
– Content-Rich Solutions are an enhancement to the Solution Object which allows
solution writers to integrate rich text and images into their solutions to completely
solve a problem

What is a Category?
– Mechanism to organize Solutions
– Solutions may be associated to one or more Categories
– Categories make up a Solution Category tree structure

What are Suggested Solutions?


– The suggested solutions feature displays up to ten relevant solutions that may
help users and customers solve a particular case from the case detail page and the
Self-Service portal.
• Suggested Solutions can be enabled for the following:

1. Cases tab 
2. Self Service Portal
3. Case auto-response rules and emails
(Q). What is the Self-Service Portal?

– Authenticated portal
– Provides 24/7 online support
– Contains Public Knowledge Base, Suggested Solutions and Web-to-Case
functionality

(Q). How many types of the relationship fields available in Salesforce?


There are Four types of the Relationship fields available in Salesforce
1. Master Detail
2. Many to Many
3. Lookup
4. Hierarchical (It is only available on User Object, we cannot create this relationship
to other SFDC Objects)

(Q).What is difference between WhoId and WhatId in the SFDC Data


Model of Task/Events ?
WhoID – Lead ID or a Contact ID
WhatID – Account ID or an Opportunity ID or Custom Object ID

You might also like