Learn Salesforce from Scratch

Deepak PrakashDeepak Prakash
17 min read

In the growing digital world, the demand for CRM has surged in recent years, with Salesforce being one of the most widely used CRM platforms by organizations.

But first, what is CRM, and why is it important?

CRM stands for Customer Relationship Management—a system that helps businesses manage interactions with current and potential customers. It allows organizations to store customer details in a centralized, easily accessible manner, improving customer relationships, sales, and business growth.

Why Salesforce?

Salesforce is a cloud-based CRM that can be accessed from anywhere. It is highly customizable and scalable, features AI-powered automation (Einstein AI), ensures strong security and compliance, and provides various cloud-based modules tailored to business requirements.

For example, if you run a sales business, you can opt for Sales Cloud, which is designed specifically for sales and can be customized to meet your requirements. Likewise, if you provide services, you can choose Service Cloud, which supports customer service and other service-related needs. For e-commerce businesses, Salesforce offers Commerce Cloud. These are just a few examples—Salesforce provides numerous cloud solutions that help businesses grow and scale seamlessly.

Curious to know more about Salesforce and its services? Don’t worry—I’ve got you covered! In this blog, I will walk you through an overview of Salesforce, the challenges I faced, and how I overcame them.

First things first, I suggest you create a Salesforce DevOrg and gain hands-on experience to better understand the concepts. It might feel overwhelming at first, but stay motivated and keep learning by doing every topic on DevOrg. Trust me, in the end, you’ll say—"It wasn’t that tough!

What is an Object in Salesforce?

In simple terms, an Object in Salesforce is a database that stores information. An object consists of fields (ex - Name, Email, Contact).

Types of Objects:

1. Standard Objects (Predefined by Salesforce)

These come built-in with Salesforce and cover common business needs.

Examples:

  • Account – Stores company details

  • Contact – Stores customer or individual details

  • Lead – Stores potential customer details

  • Opportunity – Represents potential deals or sales

  • Case – Used for customer support issues

2. Custom Objects (Created by Users)

User can create their own objects if the standard objects don’t meet their requirements.

Example: If you run an institute, you can create an Object named ‘Students’ to store details like Name, ID, Email, and Contact info. of students.

Tip: Custom Objects always have suffix_c (e.g., Students_c)

3. External Objects (For Integrating External Data)

Used to access data stored outside Salesforce without importing it.

4. Big Objects (For Large-Scale Data Storage)

Designed to store and process millions/billions of records efficiently.

What are Fields in Salesforce?

A Field in Salesforce is like a column in a database table. It stores specific information about a record inside an Object.

For example, in the Students object, you might have fields like:

  • First Name → "Rahul"

  • Last Name → "Kumar"

  • Email → "Rahul.Kumar@abc.com"

  • Phone → "123-456-7890"

➡️Salesforce provides different data types to store data in the field, and while creating a custom field, we can select data types as per our requirements.

Example:

  • Text Field – Stores names and descriptions (e.g., "Rahul Kumar").

  • Number Field – Stores numeric values (e.g., "5000").

  • Date/Time Field – Stores dates (e.g., "2025-03-01").

  • Checkbox Field – Stores TRUE/FALSE values.

  • Picklist Field – Dropdown list of predefined values.

  • Formula Field – Automatically calculates a value (e.g., "Total Price = Quantity × Unit Price").

  • Lookup Relationship Field – Links one object to another (e.g., Contact linked to an Account)

How to Create a Custom Object?

  • Go to Setup ⚙️ → Search for Object Manager.

  • Click Create → Custom Object.

  • Enter Object Name (e.g., "Employee").

  • Enable options like Allow Reports, Track Field History if needed.

  • Click Save.

Problems I faced after creating a custom Object:

First of all, creating a custom object is very easy. You can follow the steps above and set up an object in no time. Label your objects based on your requirements—for example, if you run a car dealership, name your object Vehicle in the Label section, and for the Plural Label, use Vehicles. Simply follow the steps above, and you’re good to go! Now that you have successfully created your custom object—hang on! You might be wondering, Why isn’t my object showing in the UI tabs? 🤔Well, here comes the first problem—it halted my progress for at least 10 to 15 minutes as I searched for my object in the UI tab. I even tried refreshing the portal, but it still didn’t appear.

How did I overcome this problem?

Well, after refreshing my portal multiple times, I turned to ChatGPT for help—and trust me, it’s an incredibly effective tool for learning new things. It makes understanding concepts much easier. If you still don’t understand something or encounter an error, try pasting a screenshot of your portal. ChatGPT can provide a detailed analysis, helping you grasp the concepts more clearly.

Now, without wasting any time, let’s get to the main topic—why isn’t the custom object visible in the UI?

➡️By default, Salesforce does not automatically create a tab for custom objects. You need to create one manually.

To Create a Tab for Your Object:

  • Go to Setup → Search Tabs in the Quick Find box.

  • Click New under Custom Object Tabs.

  • Select your Custom Object from the dropdown.

  • Choose a Tab Style (any icon you like).

  • Click Next → Select which profiles can access it → Save.

  • Now, your object should appear in the App Launcher (grid icon in top-left).

Note: If you don’t see your object in the UI after following the steps above, try clearing your cache and re-logging in—it should then appear. I’ve faced this issue many times, and this was the only solution that worked for me. However, it can be frustrating to repeatedly clear the cache and re-login just to check if the update is reflected in the UI.

How to Create Fields for the Object?

  • Open your Custom Object (Employee, Student, etc.).

  • Click Fields & Relationships → New Field.

  • Choose Field Type (Text, Number, Picklist, Date, etc.).

  • Configure the field details (Field Label, Length, API Name).

  • Click Save.

Tip:💡 Try to get hands-on experience with every field type available in Fields & Relationships to better understand the concepts. Experiment with formula fields, and if you need help, use ChatGPT to learn how to apply different formulas effectively.

What is Field Dependencies in Salesforce?

The term dependency itself implies that the value of one field depends on another. Technically, Field Dependency in Salesforce refers to a relationship between two fields, where the value of one field determines the available values in another field.

Let me walk you through a simple example—one that we’ve all likely encountered. When filling out forms, you often come across sections like Choose Your State. Once you select a state and move on to the next step to choose a city, you’ll notice that only cities from the selected state appear in the dropdown.

Here, the City field is dependent on the State field (the controlling field). If you change the state, the available city options will automatically update accordingly.

How to Create Field Dependencies in Salesforce?

  • Go to Setup ⚙️→ Object Manager → Select Object (e.g., Employee).

  • Navigate to "Fields & Relationships".

  • Click "Field Dependencies" → New.

  • Choose Controlling & Dependent Fields.

  • Click "Continue" & Select Values.

  • Save & Deploy.

Key Points About Field Dependencies

Controlling Field:

  • Determines the available values of the dependent field.

  • Can be a Picklist or Checkbox field.

Dependent Field:

  • Displays values based on the selected controlling field.

  • Can only be a Picklist field.

Limitations:

  • Standard picklists cannot be dependent on other fields.

  • Multi-select picklists cannot be controlling fields.

What is Lookup Relationship?

A Lookup Relationship in Salesforce is a loosely coupled relationship between two objects, where one object can reference another without enforcing strict parent-child dependency.

Example: Suppose you have created an object named Students, where you store details of four students—Rahul, Sourav, Rajat, and Gourav. Now, you have another object named Courses, which includes offerings like Science, Maths, and History.

If you want to establish a relationship between Students and Courses, it simply means mapping students to their assigned courses. For example, Rahul is enrolled in Science, while Sourav is enrolled in Maths.

Key Features of Lookup Relationships

Independent Objects:

  • Deleting the parent does not delete the child. (e.g., Deleting Students records won’t delete Course records)

  • The child record can exist without a parent.

One-to-One or One-to-Many:

  • One parent record can be linked to multiple child records.

Optional Relationship:

  • The lookup field can be left blank in child records.

Cross-Object Access:

  • Allows referencing fields from the related object in reports, formulas, and automation.

How to Create a Lookup Relationship?

  • Go to Setup → Object Manager → Select Child Object.

  • Click on "Fields & Relationships" → "New".

  • Select "Lookup Relationship" → Click Next.

  • Choose the Parent Object → Click Next.

  • Define Field Name & Layout Settings.

  • Set Field-Level Security & Add to Page Layout.

  • Save the Relationship.

What is Master-Detail Relationship in Salesforce?

A Master-Detail Relationship is a tightly coupled relationship where the child (Detail) record is dependent on the parent (Master) record.

Key Features of Master-Detail Relationships

Parent-Child Dependency:

  • If the Master (Parent) is deleted, the Detail (Child) is also deleted (Cascade Delete).

  • The child must have a parent (Cannot be NULL).

Ownership & Security:

  • The child record inherits the owner's permissions from the parent.

  • The child does not have independent sharing rules.

Roll-Up Summary Fields:

  • You can calculate SUM, COUNT, MIN, MAX on child records at the Master level.

One-to-Many Relationship:

  • One Master record can have multiple Detail records.

Example of Master-Detail Relationship

  • Account → Opportunity (An Opportunity cannot exist without an Account).

  • Order → Order Line Items (Order Line Items belong to a specific Order).

How to Create a Master-Detail Relationship?

  • Go to Setup ⚙️→ Object Manager → Select Child Object.

  • Click on "Fields & Relationships" → "New".

  • Select "Master-Detail Relationship" → Click Next.

  • Choose the Parent Object → Click Next.

  • Set Field Label & Add to Page Layout.

  • Define Field-Level Security & Save.

Use Case Example

Suppose you are building a Sales Order Management System:

  • Master Object: Order

  • Detail Object: Order Line Items

➡️Each Order Line Item must belong to an Order, and if the Order is deleted, the associated Order Line Items should also be deleted.

Page Layout in Salesforce

A Page Layout in Salesforce controls the arrangement of fields, buttons, related lists, and sections on a record’s detail page. It defines how users view and interact with records in Salesforce.

Key Features of Page Layouts

Control Field Visibility & Order

  • Decide which fields are visible, required, or read-only.

  • Organize fields into sections for better readability.

  • Show relevant related records (e.g., Opportunities related to an Account).

  • Configure buttons & actions like "Edit," "Delete," or custom buttons.

Apply Different Layouts for Different Users

  • Assign different layouts based on Profiles & Record Types.

Drag-and-Drop Interface

  • Modify layouts easily using Salesforce’s UI (No coding required).

How to Edit a Page Layout?

  • Go to Setup → Object Manager → Select Object.

  • Click on "Page Layouts" → Select a Layout.

  • Drag & Drop fields, sections, buttons as needed.

  • Click "Save"

What is Profile in Salesforce?

A Profile in Salesforce is a collection of permissions that controls what users can see and do in Salesforce. It defines object permissions, field-level security, page layouts, record types, and system access for users.

For example, a Sales Profile grants employees in the Sales department access to view Leads, track their stages, and perform Read, Write, and Modify actions. However, an employee from the IT department, assigned a different profile, does not have access to Leads.

Key Features of Profiles

  • Decide if a user can Read, Create, Edit, or Delete records.

  • Example: A "Sales Rep" profile can edit Opportunities but not modify Accounts.

Page Layout & Record Type Assignment

  • Assign different page layouts to different profiles.

  • Example: A "Support Agent" profile can see Case Priority while a "Sales Manager" sees Opportunity Forecasts.

Field-Level Security (FLS)

  • Control which fields are visible or editable for users.

  • Example: Hide the "Salary" field from non-HR users.

App & Tab Access

  • Control which apps and tabs a user can access.

  • Example: The "Marketing Profile" has access to Marketing Cloud, but not Service Cloud.

System Permissions

  • Define special permissions like "API Access," "Report Export," or "Modify All Data."

Types of Profiles in Salesforce

Standard Profiles (Predefined by Salesforce)

  • System Administrator – Full access to all data and settings.

  • Standard User – Can read, edit, and create records but has limited admin privileges.

  • Read-Only – Can only view records, no edit access.

  • Marketing User – Can create and manage campaigns.

  • Solution Manager – Can manage solutions and case resolution processes.

Custom Profiles (Created by Admins)

  • Designed for specific business needs.

  • Example: "Sales Executive Profile" with restricted access to financial records.

How to Create or Edit a Profile in Salesforce?

  • Go to Setup → Quick Find → Type "Profiles".

  • Click "Profiles" under Users.

  • Click "New Profile" (or edit an existing one).

  • Choose a Base Profile (e.g., Standard User) and Enter a Profile Name.

  • Set Object & Field Permissions (CRUD - Create, Read, Update, Delete).

  • Assign Tab & App Visibility.

  • Define System Permissions (e.g., "Export Reports", "API Access").

  • Click Save.

Example Use Case

A company has Sales Reps and Support Agents.

  • Sales Rep Profile: Can create, edit, and view Opportunities, Leads, and Contacts.

  • Support Agent Profile: Can create, edit, and view Cases but not Opportunities.

  • Admin Profile: Full access to all objects and settings.

What is User in Salesforce?

A User in Salesforce represents an individual who has access to the Salesforce platform. Each user has a unique login, is assigned a profile, and may have additional permissions based on their role.

Key Features of Users in Salesforce

Unique Credentials

  • Every user has a username, email, and password.

  • Each username must be unique across all Salesforce organizations.

Assigned a Profile

  • Profiles define what users can see and do (e.g., Sales User, Support Agent).

Roles & Hierarchy (Optional)

  • Roles define record-level access based on a hierarchy.

  • Example: A Sales Manager can access their team's opportunities.

License-Based Access

  • Each user requires a Salesforce license (e.g., Salesforce, Platform, Service Cloud).

Customizable Security

  • Users can have additional Permission Sets for extra access.

Permission Sets in Salesforce

A Permission Set in Salesforce is a collection of additional permissions that can be assigned to users without changing their profile. It provides extra access without modifying the user's base profile.

Why Use Permission Sets?

Grant Additional Access Without Changing Profile

  • Example: A Sales Rep needs access to Reports, but their profile doesn’t allow it. Instead of modifying the profile (which affects all users), you can create a Permission Set and assign it only to that user.

Multiple Permission Sets for a User

  • Unlike profiles (where a user can have only one profile), a user can have multiple Permission Sets.

Easy Role Expansion

  • If a Marketing user needs API access, you can give it via a Permission Set instead of creating a new profile.

How to Create a Permission Set?

  • Go to Setup → Quick Find → Type "Permission Sets"

  • Click "Permission Sets" → Click "New"

  • Enter Permission Set Name (e.g., "Report Access")

  • Select User License (optional) and Save

  • Click "Object Settings" → Select the object (e.g., Leads, Opportunities)

  • Click "Edit" → Set permissions (Read, Edit, Delete, etc.)

  • Click Save

How to Assign a Permission Set to a User?

  • Go to Setup → Users → Select the User

  • Scroll down to Permission Set Assignments

  • Click "Edit Assignments"

  • Select the Permission Set you want to assign

  • Click Save

Validation Rule in Salesforce

  • A Validation Rule in Salesforce ensures that users enter valid data before saving a record. It enforces business logic by preventing incorrect or incomplete data entry.

  • Example: If the email field is mandatory, the user cannot save the data if it is left blank. In this case, an error message (We hit a snag) will appear.

Why Use Validation Rules?

  • Maintain Data Accuracy – Prevents invalid or inconsistent data.

  • Enforce Business Rules – Ensures required fields meet specific conditions.

  • Improve Data Quality – Helps avoid errors that may impact reports and automation.

Components of a Validation Rule

  • Formula/Expression – A logical condition that checks if the data is valid.

  • Error Message – Displays when the condition fails.

How to Create a Validation Rule?

  • Go to Setup → Object Manager

  • Select the Object (e.g., Account, Opportunity, Contact).

  • Click Validation Rules → Click New.

  • Enter Rule Name.

  • Write the Formula (logical condition).

  • Enter the Error Message and choose where it appears.

  • Click Save & Activate the rule.

**Tip:**💡When working with formula fields, consider using Salesforce AI (Einstein AI) for assistance, or explore other reliable sources for guidance.

Flows in Salesforce

A Flow in Salesforce is an automation tool that allows you to collect, process, and manipulate data without writing code. It helps automate business processes, reduce manual effort, and improve efficiency.

Why Use Flows?

  • Automates Repetitive Tasks – Reduces manual effort.

  • Improves Efficiency – Automates approvals, record updates, and emails.

  • No Code Required – Uses a drag-and-drop interface.

  • Works with Multiple Objects – Unlike workflow rules, flows can update multiple related records.

  • More Powerful than Process Builder – Can handle complex logic with loops, decisions, and actions.

Types of Flows in Salesforce

  • Screen Flow – Used for interactive UI, guiding users through steps (e.g., creating a case).

  • Record-Triggered Flow – Runs automatically when a record is created, updated, or deleted. (E.g., send a welcome email to new employees when the record is created)

  • Scheduled-Triggered Flow – Runs at a specific time (e.g., sending renewal reminders).

  • Autolaunched Flow – Runs in the background via process builder, Apex, or another automation.

  • Platform Event-Triggered Flow – Runs when a platform event occurs (used for integrations).

How to Create a Flow?

  • Go to Setup → Quick Find → Type "Flows"

  • Click "Flows" → Click "New Flow"

  • Choose Flow Type (e.g., Record-Triggered, Screen Flow).

  • Drag & Drop Elements (e.g., Decision, Update Record, Assign Value).

  • Configure Logic and Conditions.

  • 6Save & Activate the Flow.

Reports & Dashboards in Salesforce

Salesforce Reports and Dashboards help organizations analyze and visualize data, providing insights into business performance.

What is a Report in Salesforce?

  • A Report is a collection of data based on a specific object or multiple objects. It helps users extract, filter, and analyze data in a structured way.

Key Features of Reports:

  • Data Filtering – Show only relevant records (e.g., Open Opportunities, Closed Cases).

  • Summarization – Aggregate data (e.g., total sales, number of leads).

  • Export Options – Can be exported as Excel, CSV, or PDF.

  • Scheduling & Automation – Reports can be scheduled to run automatically.

Types of Reports in Salesforce

1️⃣ Tabular Report – Simple table, no grouping (like an Excel sheet).

  • Example: List of all Leads with contact details.

2️⃣ Summary Report – Data grouped by a specific field, with subtotals.

  • Example: Total sales per region.

3️⃣ Matrix Report – Data grouped by both rows & columns.

  • Example: Sales by Product & Region.

4️⃣ Joined Report – Combines multiple reports into one.

  • Example: Compare Opportunities vs. Cases in a single report.

How to Create a Report?

  • Go to Reports → Click "New Report"

  • Select the Report Type (e.g., Accounts, Opportunities, Leads).

  • Apply Filters (e.g., Show "Opportunities Closed This Month").

  • Add Columns & Groupings (e.g., Group by "Owner", Sum "Amount").

  • Click Run Report → Save & Export if needed.

What is a Dashboard in Salesforce?

A Dashboard is a visual representation of report data using charts, graphs, and metrics. It helps decision-makers quickly analyze trends.

Key Features of Dashboards:

  • Displays Multiple Reports – Combines several reports into one view.

  • Uses Visual Components – Charts, Gauges, Metrics, and Tables.

  • Real-Time Data Updates – Can be refreshed automatically.

  • Filters & Dynamic Dashboards – Users see only relevant data.

Dashboard Components

  • Chart – Bar, Line, Pie, Donut, Funnel, etc.

  • Gauge – Shows progress toward a target.

  • Metric – Displays a single value (e.g., Total Revenue = $500K).

  • Table – Shows raw data in tabular format.

How to Create a Dashboard?

  • Go to Dashboards → Click "New Dashboard"

  • Enter Name & Folder Location → Click Create

  • Click "Add Component"

  • Select Report Source (previously created report).

  • Choose Chart Type (Bar, Pie, Gauge, etc.).

  • Click Save & Refresh.

Example Use Cases

1. Sales Performance Dashboard

  • Shows Total Revenue, Top Sales Reps, and Opportunities Won.

2. Support Team Dashboard

  • Displays Number of Open Cases, Cases Closed This Week, and Customer Satisfaction Scores.

3. Marketing Dashboard

  • Tracks New Leads by Source, Campaign Performance, and Lead Conversion Rate.

Conclusion

If you’ve read this blog till the end and gained hands-on experience, congratulations—you’ve covered the basics of Salesforce! However, there’s still much more to learn. Keep exploring new topics by working with Salesforce DevOrg.

Connect with me on Linkedin 👇

1
Subscribe to my newsletter

Read articles from Deepak Prakash directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Deepak Prakash
Deepak Prakash