Configuration is anything you can do through the ‘Point and Click’ environment of Salesforce. Using the declarative tools , you can configure the platform to do quite a lot for your business. Configuration means providing a user defined values which will enable a given feature or module to function.
- Email setting is an example of configuration.
- Salesforce users can configure CRM application.
- Marketing User can enable few tabs which are not available for Customer support people.
- Adding a new field to a given salesforce object is configuration, etc.
Customization is anything you need to start digging into code to accomplish your business objectives. This might mean that you have reached the limits of what can be done in the declarative tools and you need to use custom code to accomplish your objectives.
- Any feature or functions which are not available as a part of application and the application needs to extend refers to customization.
- Despite you configured the things there are few actions which are not achievable and it results into adding some custom code, which results in Customization.
- Adding triggers on the object to perform some action is called customization
- Adding Apex Code which will generate a vCard from a given Contact is also called Customization.
Below are a few things that can be done within the Configuration and Customization categories.
- Adding Objects/Fields
- Adding Tabs/Apps
- Creating Profiles/Permission Sets
- Validation Rules
- Email Templates
- Page Layouts/Record Types
- AppExchange Apps
- Apex Classes
- Apex Triggers
- Visualforce Pages/Components
- Visualforce Emails
- Integrations With 3rd Party Systems
- Creating Lightning Components
- Building Sites.com/Force.com Sites
- Using CSS to alter the look of pages