Interview QA
Interview QA
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'
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
Configuration
Standard Field:
Field Label Parent No:
Data Type: Auto Number
Display Format: P-{00000}
Object: Parent__c
Data Type: Picklist
Field Label: Parent Values
Values: Enter values, with each value separated by a new line.
Note:
Standard Field:
Field Label Child No:
Data Type: Auto Number
Display Format: C-{00000}
Customization
S.N
o Component
***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);
}
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?
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
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?
SELECT Email, (SELECT F.Name, L.Name FROM Contacts) WHERE Name = 'CTS'.
13. Will the Flow supports bulkification mechanism?
Data loader is a tool to manage bulk data. It will support .csv format of Excel.
Ajax components are nothing but tags start with <apex:action> like
<apex:actionPoller>
<apex:actionFunction>
<apex:actionSupport>
<apex:actionRegion>
<apex:actionStatus>
Track code.
Yes.
No.
29. Junction object?when will we use?If we delete the junction object what
will happen?
Yes.
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?
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?
We have to create custom button and in that custom button we have to write Java script
code.
36. How to insert value to a parent and child element at the same time?
Use triggers.
ActionPolleris a timer that sends an AJAX update request to the server according to a
time interval that you specify.
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'?
42. What are workflows and what actions can be performed using workflows?
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?
We can get the Account Id from the Contact and we can create an Opportunity under the
Account.
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.
50. You have VF page and whenever you click a button it should go to google,so
how would you do 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?
Triggers.
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.
56. Can you tell the difference between Profile and Roles?
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?
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).
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.
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.
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.
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"?
Email Alert
Field Update
Task
Outbound Message
Sales cloud
Service cloud
75. In which object Roles are stored?
UserRole
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.
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
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.
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
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.
5. When I want to export data into SF from Apex Data Loader, which Option
should be enable in Profile?
Enable API
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.
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.
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.
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.
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.
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.
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.
22. The Organization ID (Org ID) of a sandbox environment is the same as its
production environment.
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
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.
or
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.
}
YourBatchClassName cls = new YourBatchClassName();
DataBase.executeBatch(cls);
}
}
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.
}
}
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:
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
2000
200
12. What is the maximum number of batch classes allowed in Apex Flex Queue
for execution?
100
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.
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.
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.
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
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.
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.
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)
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?
@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.
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.
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.
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.
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.
Yes,we can avoid these errors just moving all these synchronous long running request
into asynchronous long running request by using the Continuous Integration.
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} "
App
Analytic Snapshots
Apex-managed sharing
The ability to designate certain sharing entries as protected from deletion when
sharing is recalculated.
Approval process
Auto number
A custom field type that automatically adds a unique sequential number to each
record.
Files that contain all of the information relevant to color, font, borders, and
images that are displayed in a user interface.
Child relationship
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
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
Dashboard
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
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
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
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
An Eclipse plug-in that allows developers to manage, author, debug and deploy
Force Platform applications classes and triggers in the Eclipse development
environment.
A toolkit that allows you to write an Apache Ant build script for migrating Force
Platform applications and components between two Salesforce organizations.
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
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
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
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
Metadata
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
Multitenancy
An application model where all users and apps share a single, common
infrastructure and code base.
MVC (Model-View-Controller)
Namespace
Object
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
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
Picklist
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
Production organization
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
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
Record name
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
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
Search layout
The organization of fields included in search results, lookup dialogs, and the
recent items lists on tab home pages.
Session ID
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.
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
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.
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.
Default variables that provide access to information about the trigger and the
records that caused it to fire.
Unlimited Edition
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.
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
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.
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.
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.
----Master-detail Relationship----
----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
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;
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
Static variables are only static within the scope of the request. They are not static
across the server, or across the entire organization.
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 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();
– 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
For Example:
sObject s = new Account();
Account a = (Account)s;
Contact c = (Contact)s //this generates a run time error.
• 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.
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
}
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
– 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.
Lead Processes:
– Cold Call
– 3rd Party telesales companies
– Leads generated via campaigns
– Leads generated via a registration form
Case Processes:
– Customer Inquiries
– Internal Requests
– Billing inquiries
Solutions Processes:
– Internal vs. Public Knowledge Base
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.
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.
Access levels:
-Private
-Public Read/Write
-Public Read/Write/Transfer
-Controlled by Parent
-Public Read Only
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.
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
• 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.
• 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.
– 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.
– 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
– Owner, anyone above owner in role hierarchy and administrator can manually
share records
• Owner
• Anyone above owner in role hierarchy
• Administrator
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?
Please note that Account Teams are not available for Professional Edition.
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
• 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.
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.
Maximum of 40 actions (10 x 4 types) per time trigger, and 80 actions per workflow
rule
The rule is deactivated but has pending actions in the workflow queue.
• 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
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.
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
– 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
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
– 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
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.
• 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
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
What is a Web-to-Lead?
– An online form to capture lead information
– Published on your web site
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]
–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.
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 from Text Area (Long) to any type except Email, Phone, Text, Text
Area, or URL
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
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