Skip to main content

SF-0022 · Concept · Easy

What is an object in salesforce?

✓ Verified by Vikas Singhal · Last reviewed 5/17/2026

A Salesforce object is a database table — a structured container that stores records of a specific type. Every row in an object is a record, every column is a field, and Salesforce auto-generates a tab, layouts, list views, and an API endpoint for the object. Salesforce ships with dozens of built-in standard objects (Account, Contact, Lead, Opportunity, Case, User, etc.) and lets admins create custom objects for business-specific data.

What makes a Salesforce object more than a table

A “table” in a traditional database is just rows and columns. A Salesforce object brings a whole platform layer with it the moment you create it:

  • A tab in the App Launcher (optional)
  • Page layouts for record detail and edit screens
  • List views with filters, columns, and sharing
  • Standard buttons and actions (New, Edit, Delete, Clone)
  • Search indexing so the object’s records appear in global search
  • API endpoints — REST, SOAP, Bulk, Streaming all work automatically
  • Reports and dashboards — Report Types can be built on the object
  • Audit fields (CreatedById, CreatedDate, LastModifiedById, LastModifiedDate)
  • Sharing infrastructure — a __Share table if OWD is Private or Public Read Only
  • History tracking (when enabled)
  • Triggers, validation rules, flows, and formulas can target the object

The two kinds of objects

TypeNamingAPI name suffixExamples
StandardShips with SalesforceNo suffixAccount, Contact, Lead, Opportunity, Case, User, Task, Event
CustomCreated by you__cProject__c, Stakeholder__c, Invoice__c

A few important sub-categories interviewers may dig into:

  • Big Objects — for storing very large historical data sets (billions of rows). Suffix __b. Limited query support.
  • External Objects — read from external systems via Salesforce Connect, not stored in Salesforce. Suffix __x.
  • Custom Metadata Types — config-style records that deploy with metadata. Suffix __mdt.
  • Custom Settings — hierarchical or list settings used by configuration code. Suffix __c on the setting object.

What you get and don’t get for free

When you create a custom object via Setup → Object Manager → Create, you get:

  • A Name field (text or auto-number — your choice at creation)
  • Standard system fields: Id, CreatedById, CreatedDate, LastModifiedById, LastModifiedDate, SystemModstamp, OwnerId (if not detail), IsDeleted (in queries against *__History)
  • A __Share table (only if OWD is Private or Public Read Only)
  • A __History table (only when field history tracking is enabled)
  • Standard tabs/layouts as you opt into them

You do not get for free:

  • Joinable behavior with standard objects beyond explicit lookups/master-detail you create
  • Person Account support unless the object is a contact-like relationship
  • Pricing, forecast, or activity timeline behaviors — those are object-specific platform features

When to use standard vs custom

NeedObject type
Track companies you sell toAccount (standard) — don’t build a custom “Company” object
Track people at those companiesContact (standard)
Track deals or revenue forecastsOpportunity (standard) — gets pipeline, forecasting, stages
Track support ticketsCase (standard) — built-in queues, SLAs, console support
Track project workCustom object (Project__c) — no standard fit
Track invoices, contracts, equipment, custom assetsCustom object — model to your business

A senior admin’s instinct is always check whether a standard object fits before creating a custom one. Standard objects come with deeply integrated features (Lead Conversion, Opportunity Forecasting, Case Routing) that custom objects can never fully replicate.

API name patterns interviewers test

  • Standard object: Opportunity
  • Standard field on standard object: Opportunity.Amount, Account.Industry
  • Custom field on standard object: Account.Annual_Revenue_Tier__c (always __c)
  • Custom object: Project__c
  • Custom field on custom object: Project__c.Status__c
  • Lookup field on standard object pointing to a custom object: ends in __c
  • Standard relationship field name: OpportunityId, AccountId (no suffix)
  • Custom relationship field name: Project__c for the field, with the relationship name Project__r for SOQL traversal

Verified against: Salesforce Help — Objects and Object Reference for Salesforce. Last reviewed 2026-05-17.