The knowledge base typically houses information intended for both internal and external purposes. Within the repository of articles, some are exclusively designated for agent access, while others are suitable for customer viewing. Topics play a crucial role in determining which sections of the knowledge base are accessible on the portal.
Organize Topics Sequentially: Ensure a clear and intuitive structure by arranging topics in a logical, sequential order.
Add Subtopics as Needed: Enhance the overall organization by creating multiple subtopics within each topic. Make sure that subtopics follow the same logical sequence.
Access the Knowledge System: Log in to the Knowledge Console.
Review the Topic Hierarchy: Take note of the existing topic structure to understand how the new topic fits into the overall organization.
Set Up the Topic: Map the folder structure in a JSON format. Ensure to begin with a root element named "topics" that contains an array.
{ "topics": []}
Add Each Topic: Add an object within the "topics" array containing the necessary details for the topics, such as its name, description, and addArticles object.
Parameter
Description
Type
Required
name
Name of the topic
String
Yes
description
Description of the topic
String
Optional
addArticles
An object that contains an array of articles to be added to the topic
Array
Yes
Add Articles to the Topic: Within the "addArticles" object, create an array named "fromArticles" or "fromFolders". Each entry in this array should be an object that includes the "path" to the article/folder within the knowledge base.
Parameter
Description
Type
fromArticles
List of specific articles to be added
Array
fromArticles.path
Path of the article to include in the topic
String
fromFolders
List of folders from which articles can be added
Array
fromFolders.path
Path of the folder to include in the topic
String
Repeat for Additional Topics: Continue adding each topic to the "topics" array, ensuring each entry follows the same format.
Locate the parent topic: Navigate to the desired topic to add a subtopic.
Set Up the Subtopic: Add the "topics" array within the parent topic object.
Add Each Subtopic: Add an object within the nested "topics" array containing the necessary details, such as its name, description, and addArticles object.
Parameter
Description
Type
Required
name
Name of the subtopic
String
Yes
description
Description of the subtopic
String
Optional
addArticles
An object that contains an array of articles to be added to the subtopic
Array
Yes
Add Articles to the Subtopic: Within the "addArticles" object, create an array named "fromArticles" or "fromFolders". Each entry in this array should be an object that includes the "path" to the article/folder within the knowledge base.
The optional id and externalId fields provide precise control over how a topic is matched during import. These fields are especially useful for content synchronization, where relying on the topic name and path alone can create duplicate topics if the name or path changes in the source system.
Provide only one identifier per topic — either id or externalId, but not both. If both are supplied, the import validation aborts.
Parameter
Description
Type
Required
id
The internal eGain system ID of the topic. When provided, the import updates the specific topic matching this ID, overriding name/path matching. Readable IDs are not supported.
String
Optional
externalId
A reference ID used to synchronize the topic with an external source topic ID. When provided, the import updates the topic previously mapped to this ID. If no topic is mapped to the externalId yet, you must also provide the topic name so a new topic can be created and linked to it.
String
Optional
Matching Behavior:
Identifier
Match
Action Taken
id provided
N/A
Updates the topic matching the provided id.
externalId provided
Mapped topic exists
Updates the topic mapped to the provided externalId.
externalId provided
No mapped topic
Creates a new topic (requires name) and links it to the externalId.
Neither provided
Name/path match found
Updates the existing topic matching the name/path (existing behavior).