Primary Tab
A Primary Tab is the top-level tab in a Salesforce Console app in Salesforce Classic.
Definition
A Primary Tab is the top-level tab in a Salesforce Console app in Salesforce Classic. It holds the one record an agent is actively working, such as a case or an account. Salesforce defines it as the main item to work on, with a subtab being a related item that sits under it.
Each primary tab carries its own subtabs, so a parent record and everything hanging off it stay grouped in a single workspace. Opening a record from a list view, a search result, or a screen pop puts it on the tab bar.
Primary tabs are Classic-only. Lightning console apps, the newer option Salesforce points builds toward, call the same container a workspace tab.
In plain English
“Think of a web browser with tabs. Each big tab is one customer you are helping. Inside that big tab are smaller tabs for the other pages about that same customer. Switch big tabs and you switch customers, with all their small tabs still open.”
Worked example
An agent at a regional appliance retailer opens Case 00042317, Subject 'Dryer stops mid-cycle', Status 'Escalated'. It lands on the tab bar as a primary tab. She clicks the Account name, Northgate Facilities Group, and it opens as a subtab rather than a new primary tab. The Contact, Priya Raman, becomes a second subtab under that same case. A second customer calls, and a screen pop opens Case 00042390 as its own primary tab with its own subtabs. She pins Case 00042317 to hold it at the front of the bar. Bookmarking the second case moves it into the History component in the console footer.
How primary tabs actually behave in a Classic console
The parent-and-child rule that never bends
The split is fixed. A primary tab is the item the agent set out to work, and a subtab is always a child of one specific primary tab. Salesforce puts it bluntly: tabs maintain their status as primary tabs or subtabs, so you cannot move one bar's tab into the other. Dragging only reorders within a bar. Some actions look like they should spawn a tab and do not. Clicking a custom button, or changing a record's type, owner, or territory, sends the current tab to the item you picked.
Pinning a tab, and recovering a closed one
Daily tab management comes down to a few small controls. Pinning a primary tab moves it to the front of the bar and strips its text, leaving the icon. That buys back space once a rep has eight cases open. Bookmarking moves the tab into the History component in the console footer. Closing one by accident is recoverable: the console reopens up to ten recently closed tabs, from the tab menu or with SHIFT+C. Where an admin enabled multi-monitor components, a primary tab can also pop out onto a second screen.
Who decides whether a record opens as a primary tab
Agents do not choose this. An admin does, once, when the console app is defined. From Setup, enter Apps in the Quick Find box, select Apps, click New, and choose Console. One step of that wizard asks how items not selected from a primary tab or subtab should display. You pick either as a primary tab, or as a subtab of a named parent object. That setting is why a case clicked from a list view opens standalone in one org and under an account in another.
Driving tabs from code with the Console Integration Toolkit
The Classic console exposes JavaScript for tab control. sforce.console.openPrimaryTab takes an id, a URL, and an active flag, plus optional label, callback, and name arguments, available from API version 20.0 with name added in 22.0. Companions such as openSubtabByPrimaryTabName, getFocusedPrimaryTabId, and setTabTitle target an exact tab. Most Classic screen pops were built on that. None of it runs in a Lightning console app: the workspace API uses openTab, openSubtab, getFocusedTabInfo, and setTabLabel, so the logic gets rewritten rather than ported.
The parity gap you inherit when you move to workspace tabs
Salesforce still says Lightning console apps lack full parity with Classic console apps, and the gap list is specific. Multi-monitor pop-out workspaces, keyboard shortcut overrides, interaction logs, tab preview on hover, collapsible regions, and push notifications for dynamic list and record updates are Classic-only. Split view runs the other way. Classic called it pinned lists, and only the Classic version resizes. What Lightning adds in return is a Notes utility and background utility items. You cannot upgrade a Classic console app in place. Salesforce points you at the stock Service Console or Sales Console instead.
How organizations use Primary Tab
Keeps each open outage case as a primary tab, with the account and contact as subtabs so context survives a call transfer.
Screen-pops the caller's account as a primary tab, and has flagged that toolkit code for rebuild before any Lightning move.
Trust & references
Cross-checked against the following references.
- Work with Salesforce Console Primary Tabs and Subtabs in Salesforce Classic (opens in new tab)Salesforce
- Set Up a Salesforce Console App in Salesforce Classic (opens in new tab)Salesforce
- What Features Are Available in Lightning Console Apps? (opens in new tab)Salesforce
- Methods for Primary Tabs and Subtabs (opens in new tab)Salesforce
- openPrimaryTab() (opens in new tab)Salesforce
- Methods for Workspace Tabs and Subtabs in Lightning Experience (opens in new tab)Salesforce
Straight from the source - Salesforce's reference material on Primary Tab.
Hands-on resources to go deeper on Primary Tab.
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He writes and edits salesforcedictionary.com, published by KineticBit Inc., to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
+5 pts / dayQ1. An agent drags a subtab up onto the primary tab bar in a Salesforce Classic console app. What happens?
Q2. Which Salesforce Classic console capability is listed as not available in Lightning console apps?
Q3. Where is it decided whether a case clicked from a list view opens as a primary tab or as a subtab of its account?


Discussion
Loading discussion…