Salesforce approval process

Salesforce approval process

Salesforce approval process is an automated process and your organization can use to approve records in Salesforce, An approval process is combination of steps for a record to be approved and person has to approve it each step.A step can apply to all the records to that object or just record that meets the certain criteria. An approval process also specifies the actions to take when a record is approved, rejected, recalled, or first submitted for approval.

Simple or multi-step approval processes to automate and enforce the approval of virtually anything in your company.

  • Navigate setup -> Create -> Workflow & Approvals -> Approval Processes.
  • Select Object for the new approval process.
  • Click on  Create New Approval Process and choose Use Standard Setup Wizard from the drop-down button.

Note:  If you want to create a basic approval process with default settings. Click on Use Jump Start Wizard.

Salesforce approval process Example

Salesforce approval process
Salesforce approval process

1)     Enter name, Unique name and Description(Optional).

2)     Select criteria are met if you want to set a filter criteria that a record must meet to enter this approval process. For example, if only employees from headquarters should use this approval process to submit expense reports, enter the following filter criteria: “Current User: Office Location Equals Headquarters.”

Enter filter criteria for records that you want included in this approval process. Leave the filter blank if you want all records submitted to be included in the approval process.

Salesforce approval process
Salesforce approval process

Select formula evaluates to true if you want a formula to determine what records enter the approval process.

Salesforce approval process
Salesforce approval process

3)     When you define approval steps, you can assign approval requests to different users. One of your options is to use a user field to automatically route these requests. If you want to use this option for any of your approval steps, select a field from the pick list below. Also, when a record is in the approval process, it will always be locked– only an administrator will be able to edit it. However, you may choose to also allow the currently assigned approver to edit the record.

4)     Define initial submission actions

New field update / email / task -> Conditions -> save.

5)     Define approval steps

Manager step -> click on new approval step button -> provide the name -> all record should enter this step -> select approver manually and save.

  1. Manager step -> click on new approval step button -> provide the name -> all record should enter this step -> select approver manually and save.
  2. CEO step -> click on new approver step button -> provide the name -> enter criteria and save.

6)     Final approval steps

New field update / Task / Email according  to the field provide the condition and save .

7)     Final Rejection actions

New field -> provide the conditions and save.

  • Once the salesforce approval process is activated no more steps can be added.

Initial submission default actions cannot be edited but final approval & rejection default actions can be edited.

Salesforce Web to Lead

Salesforce Web-to-Lead

This post gives you information about web to lead functionality in salesforce.

What is web to lead in salesforce?

Salesforce web to lead is to directly collect capture the leads form your website and loaded into Salesforce. This is built in functionality in Salesforce. Nothing you need to download or install.

How can I set up web to lead in Salesforce?

  1. Login into Sales force.

2. Go to “set up” -> Customize -> Leads -> click on web-to-Lead

web to lead











Then you will navigate to following screen.

Web to lead

Here we can see web to lead set enabled checkbox is checked. By default web to lead is enabled in sales force. And default lead creator is owner of the lead creator in Salesforce. By default it will display System Administrator who created Salesforce organization.

You can edit the owner of the default web to lead creator and also you can select default Response template by click on the “EDIT” button.

      3. Click on “Create Web-to-Lead Form” button then you will navigate to following screen.

 Salesforce web to lead

 Here you can see the familiar list of fields to display on the web to lead form including custom fields from Lead object. You can add or remove fields by using “add” and “remove” buttons. And also you can reorder fields by using “up” and “down” buttons.

And in the above screen Return URL and Language are mandatory fields you need to mention.

Basically “Return URL” is after the lead form is submitted this is the URL that user will be direct to. It’s good idea to set up thank you page and best offers provided by your company to customers.

          4.  Next click on Generate button then you will navigate to following screen.

            Salesforce web to lead

Salesforce creates HTML code you can insert directly into your website.

Take that code and do customization to that code according to you requirements. You can add your company logo and you can do additional customization to that HTML code.

Once you have done with customization to this code you can place this code in your website.

You can see list leads that you got from Salesforce web to lead by clicking on the leads TAB in Salesforce.

What is Salesforce | What is CRM

What is Salesforce? was co founded by Mark Benioff to provide customer relationship management (CRM) software delivered entirely over the internet (Cloud computing).

Customers would no longer need to purchase servers with infrastructure and install software. All they would need is internet connection and a web browser.

Salesforce was founded in 1999. Salesforce started as a CRM company and evolved into much more over time.

What is CRM?

CRM is a model used to manage organization’s interactions.

–         Phone calls

–          Emails

–          Meeting

–          Social Media

With customers and prospects pertaining to

–          Sales

–          Marketing

–          Support

Goals of CRM

–          Increasing Sales revenue

–          Increase  visibility between  departments

–          Decrease operating costs

–          Streamline business process

CRM is a major component of sales force platform. Following image describes what is Sales force?

it describe sales force overview.


Above image provides description about Salesforce. Addition to the “CRM” Salesforce provides ability to provide Custom applications and also AppExchange. AppExchange is a market place there we can find custom application and we can buy those applications and we can place our custom applications in App Exchange.


Sales force features for users

    1. Email Integration: We can integrate Salesforce with email like outlook very easily.

    2. Chatter:

– Chatter is a kind of face book, twitter.

– Here we can post our comments. Like comments posted by others in organization.

– Here we can create groups and invite people to the group.

     3. Reports and Dashboards

– We can create reports very easy, within seconds we can create reports.

– Dashboard is a group of graphical representation of reports. We can add 20 reports for single dashboard.

– We can refresh or schedule a report/dashboard within seconds to send email to users.

      4. Social: We can integrate Salesforce with Facebook, Chatter, gmail and youtube.

     5. Mobile: We can access Salesforce via mobiles

Salesforce Configuration features:

    1. Page Layouts

2. Custom Fields & Objects

3. Validation Rules

4. Workflows

5. Approval Process

6. Security

7. Multi-Currency

8. Multi-Lingual

Salesforce Development features

1. Visualforce Pages

2. Apex

3. Soql

Salesforce Tools

1. Dataloader

2. Migration Tool

3. IDE

salesforce workflow automation | workflow management

salesforce workflow automation | workflow management

Workflow Rules are automated process to send E-mails alerts, assign tasks, update fields on trigger criteria based requirements.

To create a new rule:

  1. Select the object to which the workflow rule applies.
Work Flow


  • Setup -> Create -> Workflow & Approvals -> Workflow Rules.
  • Click on New Rule on Workflow rules.
  • Select object which you want this workflow rule to apply.



2)   Clcik on ‘Next’.

  • Enter a rule name.
  • Enter a description for the rule.
  • Set the evaluation criteria


Evaluate the rule criteria each time a record is created. If the rule criteria is met, run the rule. Ignore all updates to existing records.With this option, the rule never runs more than once per record.

Created, and every time it’s edited

Evaluate the rule criteria each time a record is created or updated. If the rule criteria is met, run the rule.With this option, the rule repeatedly runs every time a record is edited, as long as the record meets the rule criteria.

Created, and any time it’s edited to subsequently meet criteria

Evaluate the rule criteria each time a record is created or updated.

  • For a new record, run the rule if the rule criteria is met.
  • For an updated record, run the rule only if the record is changed from not meeting the rule criteria to meeting the rule criteria.

Enter your rule criteria

Run this rule if the following according to the criteria based on requirements.

  • Criteria are met:  Select the filter criteria that a record must meet to trigger the rule.
  • Formula evaluates to true:      Enter a formula that returns a value of “True” or “False.” Salesforce triggers the rule if the formula returns “True.”

3) Click on Save& Next.


Possible workflow Actions for immediate workflow action:

 New Task to create a task to associate with the rule

Create a task to associate with one or more workflow rules, approval processes, or entitlement processes. When changing a task, any modifications will apply to all rules, approvals, or entitlement processes associated with it.


New Email to create an email alert to associate with the rule

Create an email alert to associate with one or more workflow rules, approval processes, or entitlement processes. When changing an email alert, any modifications will apply to all rules, approvals, or entitlement processes associated with it.


 New Field Update to define a field update to associate with the rule

Define the field update, including the object associated with the workflow rule, approval process, or entitlement process, the field to update, and the value to apply. Note that the field to update may be on a related object. Fields are shown only for the type that you select.


New Outbound Message to define an outbound message to associate with the rule

Enter the details of your outbound message and select the fields you want included in this message. Note that the fields available depend on the type of record previously selected.


Select Existing Action to select an existing action to associate with the rule



 For Time-Dependent Workflow Actions workflow action

     Click on Add Time Trigger

 Specify a number of days or hours before or after a date relevant to the record, such as the date the record was created or modified.

Click on Save.


4) Configure additional immediate or time-dependent actions.

5) Click Done and Activate the workflow.



salesforce collections

salesforce collections

We have 3 types of salesforce collections. They are

List: List is an ordered collection of elements which will allow duplicates.
List<datatype> listName = new List<datatype>();

– The datatype allows both primitive datatypes and non-primitive datatypes
– Size of the list is dynamically increased.

Methods in List

Add: Add the values to the list.
Ex: List<String> colors =new List<String>();
colors.add(‘Black’); (OR)
List<String> colors =new List<String>{‘Red’,’White’,’Black’}
Get: Retrieve a values from list using index.
String getcolor = colors.get(1); —- we get the value is ‘White’ in to getcolor veriable.
Set: Replaces a former value with the value at given index.
colors.set(1,’Green’); —- List has value at index ‘ 1 ‘ is White is changed to Green.
Size: Return the number of elements in the list.
colors.size(); —- Gives the size of colors list is ‘2’
Clear: Remove the elements from the list.

Example: Inserting 100 contacts in contacts object
public class ContactInsertion{
list<contact> contactList = new list<contact>();
public void methodName(){
for(integer i=0; i<100 ; i++ ){
contact cont = new contact(lastname = ‘contact’ + i);
contactList .add(cont);
insert contactList ;

– Go through the below link for the more list methods.


Set is an unordered collection of elements which will not allow duplicates.


set<datatype> setName = new set<datatype>();

  • data type allows only primitive datatypes and SObjects.
  • We cannot get the retrieve the data based on index because set does not  have index.

Go through the below link for the all Set methods.


Map is key – value pairs.


map<datatype,datatype> mapName = new map<datatype,datatype>();

  • First datatype is key and it allows primitive datatypes and should be unique.
  • Second datatype is values and it allows both primitive & non-primitive datatypes and allows duplicates.



Insert a key-value pair or replaces a value with the given value for the key .

  •    map.put(key,value);


Retrieves the value for a key.

  • map.get(key);


Retrieves all the keys and return type is set;

  • map.keySet();


Retrieves all the values and return type is list;

  • map.values();


Return the number of components in the map.

  • map.size();

Example: Create a map of Account Ids and Account objects.

public class AccountMapPopulation{

// Creating map with account id and account object

map <Id,Account> accountIdMap =new map<Id,Account>();

public void methodName(){

// creating the accounts

account acc1 = new account (name =’account1′ , industry = ‘ Banking’);

account acc2 =new account(name =’ account2′ , industry = ‘Agriculture’);

account acc3 = new account(name=’account3′ , industry=’Banking’);

// populating the map with account id and account object

accountIdMap .put(,acc1);

accountIdMap .put(,acc2);

accountIdMap .put(,acc3);



  • Go through the the below link for the more map methods.

Administrator cannot setup debug logs for Certain Users

Administrator cannot setup debug logs for Certain Users

In winter ’14 administration cannot setup debug logs for Certain Users (Ex: Partner User) and work around for this is just do the following steps.

  • Get the id of the user which you want to add in Debug Logs  (userId)
  • Login in to workbench (
  • Click on REST Explorer under Utilities
  • select the GET and run the below query on and click on execute

/services/data/v29.0/tooling/query/?q=SELECT%20Id%20FROM%20TraceFlag where TracedEntityId = ‘userId’GET the Trace flag Id

  • GET the Trace flag Id

  •  Click on records Folder and get the copy the traceFlagId  (traceFlagId)
  • Select DELETE method and run the below query/services/data/v29.0/tooling/sobjects/TraceFlag/traceFlagId
  • Now you try to add the user in debug log as follows
  • setup -> Monitor -> Logs -> Debug logs -> Click on new and add the user.

Visualforce Guide | Visualforce Controller

Visual Force

Visual Force is a framework that allows developers to build sophisticated, custom user interfaces that can be hosted natively on the platform. The Visual Force framework includes a tag-based markup language, similar to HTML.

In the Visual Force markup language, each Visual Force tag corresponds to a coarse or fine-grained user interface component, such as a section of a page, a related list, or a field. The behavior of Visual Force components can either be controlled by the same logic that is used in standard Salesforce pages, or developers can associate their own logic with a controller class written in Apex.

  • In VisualForce page we can write the HTML, CSS, and JavaScript etc…
  • Each visual force is page that contains the tags/components and controllers.
  • Each tag contains attributes and attributes defines the properties of the tag.
    • By default each tag has two attributes.
      • ID: – Id is used to bind the two components together.
      • Rerendered: –    Used to show/hide the component.
    • Controllers: –
      • Standard Controller: –
      • Custom Controller/Controller
      • Extension Controller

Where we can use visualforce pages?

Visualforce pages can be used to

– Override standard buttons, such as New button for accounts, save button for contacts….etc..

– To override custom tabs, to create vf tabs

– Embed components in detail page layout.

– Create dashboard components on custom help pages

– Customize, extend on integrate the sideboards in the service cloud console(custom console components)

Standard Controller

StandardController objects reference the pre-built Visual Force controllers provided by The only time it is necessary to refer to a StandardController object is when defining an extension for a standard controller. StandardController is the data type of the single argument in the extension class constructor.

  • Standard Controller is used for customization of both standard and custom objects.


Controller is an apex class which is used to implement all the logic of VisualForce page without leveraging the standard functionality.

Extension Controller

Extension is an apex class used to extend or add the functionality to standard or custom controllers.

Salesforce winter14 release notes

Following are few highlights in Salesforce winter14 release notes

Introducing Performance Edition 

Beginning in November 2013, Sales force offering a new edition that combines CRM and the platform with,, Identity, Live Agent, Salesforce Knowledge, and additional sandbox functionality.

Performance Edition is designed for customers that need to drive amazing growth, achieve new levels of customer satisfaction, and maximize sales and service success in the social and mobile world. Performance Edition includes all Unlimited functionality plus clean, targeted lead and customer data from, coaching and feedback tools from, trusted identity services from Identity, and more.

As of November 2013, Unlimited Edition is no longer available for purchase. Customers using Unlimited Edition can continue to maintain and renew their edition, or upgrade to Performance Edition.

“Configuration Only” Sandboxes Renamed to “Developer Pro”

The terminology is changing and the current “Configuration Only” sandboxes will now be known as “Developer Pro”. In addition, Developer and Developer Pro sandbox storage limits are increased as detailed below:

• Developer sandboxes increased from 10 MB to a 200 MB storage limit.
• Developer Pro sandboxes increased from a 500 MB to a 1 GB storage limit.
• Full sandboxes continue to have the same storage limit as your production organization

User Sharing—Generally Available

Control who sees who in the organization with standard sharing functionality.

User Sharing enables you to show or hide an internal or external user from another user in your organization. Previously, User Sharing for external users was enabled by default with Communities, while User Sharing for internal users was available through a pilot program.

With Winter ’14, User Sharing is automatically enabled in new organizations. You can:

• Set the organization-wide defaults for user records to Private or Public Read Only.

• Create user sharing rules based on group membership or other criteria.

• Create manual shares for user records to open access to individual users or groups.

• Control the visibility of external users in customer or partner portals and communities.

Existing organizations can contact to enable User Sharing.

How can your organization use User Sharing? For example, you might be a manufacturer who needs to include all dealers in your organization while still keeping them from seeing or interacting with each other. You can set the organization-wide defaults for the user object to Private. Then, open up access among groups of dealers who need to see and interact with each other in the organization with sharing rules or manual sharing. Additionally, you can assign the “View All Users” permission to users who need to see everyone in the organization.

To see who you have access to, from Setup, click Manage Users > Users.

Custom State and Country Picklists—Generally Available

State and country picklists allow users to select states and countries from predefined, standardized lists, instead of entering state and country data into text fields. State and country picklists allow for faster and easier data entry and help to ensure cleaner data that can be leveraged for other uses—in reports and dashboards, for example—with more dependable results. The states and countries in the picklists are based on ISO-3166 standard values, making them compatible with other applications as well.

State and country picklists are available in the shipping, billing, mailing, and “other” address fields in the account, campaign members, contact, contract, lead, person accounts, quotes, and service contracts standard objects. The picklists are also available for managing users and companies in Administration Setup. To use the picklists, first choose the country and then choose from the options that automatically populate the state or province picklist.

You can use the state and country picklists in most places that state and country fields are available in Salesforce, including:

• Record edit and detail pages

• List views, reports, and dashboards

• Filters, functions, rules, and assignments

You can also search state and country picklists using Advanced Search.For a step-by-step guide to implementing state and country picklists, see Implementing State and Country Picklists.

Note: In Summer ’13, Salesforce released a beta version of state and country picklists. Since then, we have made a number of improvements for general availability, including:

• Enhanced metadata discovery, which alerts you to potential problems in workflow rules, assignment rules, auto-response rules, and so on, when you enable state and country picklists.

• Enhanced support for Translation Workbench.

• Availability in Web-to-Lead forms.

Improvements to Deployment Monitoring 

Salesforce improved the status messages listed on the Monitor Deployments page to provide more information about the cancellation, success or failure of a deployment when you’re using the Migration Tool.

The values are:

• Pending—The deployment has not started. It is waiting in a queue.

• In Progress—The deployment process started, but has not finished. See the Components and Tests counts on the page to track the deployment progress.

• Cancel Requested—The deployment is being rolled back, but is not yet fully canceled.

• Succeeded—All components deployed successfully, and all tests ran successfully.

• Succeeded (partially)—A subset of changes were committed to the organization, but some files were missing, some components had errors, or some tests failed. You can only receive this status with the deployment option RollBackOnError = false.

• Canceled—The deployment has been successfully canceled. No changes were committed to the organization.

• Failed—No changes were committed to the organization because files were missing, components had errors, or tests failed. On the Monitor Deployments page, the Start Time now shows the date and time when the deployment starts (In Progress), not the time the deployment is waiting in a queue (Pending).

Also, the button to cancel a deployment has changed from “Abort” to “Cancel” to reflect the status messages more closely.

For more information of Salesforce winter14 release notes please click here

Create salesforce Application

Salesforce Application

  • A salesforce application is a logical container for all of the objects, tabs, process and services associated with a given business function
  • A salesforce application is a group of tabs that work as a unit to provide functionality
  • We can customize existing app to match the way to work or build new apps by grouping standard and custom tabs.
  • A custom app consists of name, description, an ordered list of tabs and optionally a custom logo and a landing page.
  • Salesforce provides standard apps such as Sales, Call center, Marketing and Community etc….
  • Users can switch between apps using the app drop-down menu at the top right corner of every page.
  • There are two types of salesforce application one is Custom App and other one is Service cloud console.

Create salesforce Application

To create application in salesforce follow below mwntioned steps.

Setup -> AppSetup -> Create ->apps -> Click on ‘New’ -> Select custom application radio button ->Provide the name of App -> click on ‘Next’ button ->select the image from document object  -> select the objects -> click on visible check box and save.

If we want to add this salesforce Application to any other profiles or add other tabs to this App we can do as follows

setup -> AppSetup -> create -> Apps -> select the App from the list and click on Edit -> If we want to change the image for the App click on ‘Insert an Image’ and take from documents. And if we want to add some more tabs to App we can select the Tabs from Available Tabs and clcik on ‘Add’ selected tabs will be moved to selected Tabs selection.


If we want to add our new application to any profile we can check the check boxes showing in the below image.