Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
DictionaryTTopic
Core CRMBeginner

Topic

A Topic in Salesforce is a standard object that acts as a tag or theme for categorizing Chatter posts, Knowledge articles, records, and files across the platform.

§ 01

Definition

A Topic in Salesforce is a standard object that acts as a tag or theme for categorizing Chatter posts, Knowledge articles, records, and files across the platform. Each Topic record stores a Name, an optional Description, a NetworkId that ties it to a specific Experience Cloud site when relevant, and a TalkingAbout number that counts how often the Topic has been discussed lately. The Topic object has been available in API version 28.0 and later.

Topics connect content that lives on different objects through a single shared vocabulary. Click a Topic and you surface every tagged Chatter post, Knowledge article, Account, Case, or custom record at once, no matter which object each one belongs to. Topics are crowdsourced by default, so any user with the right permission can create or apply one. That makes them good at capturing themes that emerge from real usage, like a recurring product defect or a competitive deal pattern, without waiting on admin setup.

§ 02

How Topics tag, connect, and surface content

The Topic and TopicAssignment objects

Two standard objects do the work. The Topic object holds the theme itself: its Name, Description, an optional NetworkId for Experience Cloud scoping, and the TalkingAbout counter that reflects recent activity. The TopicAssignment object records each individual tag, linking one Topic to one piece of content. Both objects arrived in API version 28.0. TopicAssignment is the interesting half. Its EntityId field is polymorphic, much like the WhatId on an Activity, so a single object can reference a Chatter feed item, a Knowledge article, a file, or a record on any object where Topics are enabled. The EntityKeyPrefix field stores the three-character prefix that identifies the referenced object type, which helps you tell an Account assignment from a Case assignment without a second query. Because the relationship is polymorphic, finding every record that shares a Topic means querying TopicAssignment by TopicId and then resolving each EntityId. There is no simple related list that does this for you on most objects, so reporting on Topics usually involves SOQL or a Connect API call rather than a point-and-click report.

Topics versus Data Categories in Knowledge

People often confuse Topics with Data Categories, but they solve different problems and frequently run side by side. Data Categories are an admin-defined hierarchy. They control article visibility and let support teams browse Knowledge through a structured tree, such as Products then Pro Plan then Authentication. Only an administrator changes that structure, and the categories drive who can see which article. Topics are flat, crowdsourced labels. A Knowledge article can sit in the Data Category Products then Pro Plan then Authentication while also carrying the Topic two-factor-authentication that an agent applied. Searching by Topic pulls back every Topic-tagged item across objects. Browsing by Data Category walks the explicit hierarchy and respects visibility rules. Salesforce lets you bridge the two with Automatic Topic Assignment in an Experience Cloud site. You map a Data Category to one or more Topics, and every article published under that category gets tagged automatically, including articles added later. This mapping can mirror a hierarchy up to eight levels deep and is a common way to improve article discoverability and SEO on a public help site.

Topics for Objects and the topic detail page

Tagging a record with a Topic only works after an admin turns on Topics for that object. You enable it per object, then add the Topics component to the relevant Lightning record pages so users have a place to type or pick a Topic. Account, Case, Opportunity, Lead, and custom objects are all common candidates, and each one needs its own opt-in. Without that step, the Topics field simply will not appear on the record. Once enabled, Topics give your data a second way to organize itself that cuts across object boundaries. Every Topic has a detail page that lists all the records tagged with it, and users can filter their list views by Topic to slice records around a shared theme. This is where the voice-of-the-customer angle comes in. If support reps tag Cases with Topics as they triage, a manager can open a Topic and instantly see every Case, Chatter post, and Knowledge article tied to that issue. The vocabulary grows from the front line rather than from a planning meeting, which tends to capture problems sooner than a fixed picklist would.

Topics as Experience Cloud navigation

Experience Cloud treats Topics as a first-class way to organize a community site. Instead of forcing visitors through rigid object tabs, you build the site around themes. A Topic page is a community destination that gathers all the public content tagged with that Topic in one place, with options to follow the Topic and see related Topics and active contributors. Salesforce splits site Topics into three roles. Navigational Topics form the menu structure and act like the top-level sections of the site. Featured Topics get extra prominence, often on the home page, to spotlight what matters right now. Content Topics are the broader set applied to articles and posts for organization and search. Behind the scenes, the ManagedTopic object and the ManagedTopics Metadata type represent these curated site Topics, which is how you can deploy a community Topic structure between sandboxes and production. For an external site, a well-curated set of Topics often beats a fixed category tree because it reflects what members actually discuss instead of what someone predicted they would.

Querying and automating Topics

Because Topics span objects, most useful work with them happens in code or in reports built on the underlying objects. To list every record carrying a given Topic, you query TopicAssignment where TopicId equals the Topic Id, then read each EntityId and its EntityKeyPrefix to learn what type of record you found. A typical SOQL pattern looks like SELECT EntityId, EntityKeyPrefix FROM TopicAssignment WHERE TopicId = the_topic_id. From there you group results by prefix to separate Accounts from Cases from articles. The Connect REST API and the ConnectApi Apex namespace expose Topics too, including endpoints for assigning and removing Topics on feed items and articles. Automatic Topic Assignment can tag Knowledge articles for you based on Data Category, which removes manual tagging at scale. One thing to plan for is duplication. Since users coin Topics freely, you tend to accumulate near-identical entries like Real Time Collaboration and real-time-collab. Salesforce lets admins merge Topics to fold duplicates into one canonical record, and scheduling a periodic merge keeps the vocabulary clean enough to trust in reports.

§ 03

How to enable Topics for an object

Topics only appear on a record once an admin enables Topics for that object and exposes the Topics component on the page. Here is the path in Lightning Experience to turn Topics on for, say, Cases or a custom object.

  1. Open Topics for Objects in Setup

    In Setup, use Quick Find to open Topics for Objects. You see a list of every object that can support Topics, each with its own enablement toggle.

  2. Enable Topics for the target object

    Select the object, for example Case or a custom object, and turn on Enable Topics. Choose which text fields users can suggest Topics from if that option is offered, then save.

  3. Add the Topics component to the page

    Open the object record page in the Lightning App Builder and drag the Topics component onto the layout. This gives users a place to view, add, and remove Topics on each record.

  4. Apply and verify a Topic

    Open a record, type a Topic into the component, and save. Then open that Topic detail page to confirm the record now appears in the list of items tagged with it.

Key options
Enable Topics toggleremember

Per-object switch that decides whether the Topics field shows up at all. Each object you want to tag needs this turned on separately.

Suggested Topics fieldsremember

The text fields Salesforce reads to suggest Topics as users type, which speeds up consistent tagging on high-volume objects.

Topics component placementremember

Where the Topics component sits on the Lightning page, which controls how visible and easy to use tagging is for end users.

Automatic Topic Assignmentremember

An Experience Cloud setting that maps Data Categories to Topics so Knowledge articles get tagged automatically instead of by hand.

Gotchas
  • Topics for Objects must be enabled per object. Turning it on for Account does nothing for Case until you enable Case too.
  • Crowdsourced Topics drift into near-duplicates over time. Merge them in Topic settings on a schedule or reports will scatter across spellings.
  • Finding all records under a Topic needs a SOQL query through TopicAssignment because EntityId is polymorphic and has no standard related list on most objects.
§

Trust & references

Official documentation

Straight from the source - Salesforce's reference material on Topic.

Was this entry helpful?
Help us write better definitions. Quick reactions or detailed edit suggestions.

About the Author

Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.

§

Discussion

Loading…

Loading discussion…