Taxonomy Import - 1 Preparing Data

Prev Next

Interest Manager – Importing Topic Types & Topics (Part 1: Preparing Your Data)

Audience: Business admins, implementation consultants
Next: [Part 2 – Running the Import]


What this does

Interest Manager (IM) organizes interests into Topic Types (e.g. Country, Sector) and the
Topics under them (e.g. United States, Energy). Topics can be bulk-loaded from a spreadsheet
instead of being created one at a time.

 Your CSV  ──►  Topic Mapping (staging)  ──►  Run Topic Import  ──►  Topic Types + Topics
                 Status = Pending                                      Mapping rows → Imported / Error
Salesforce object What it is
Topic Mapping (Topic_Mapping__c) Staging table. One row per topic you want to load. Keeps an audit trail of what was imported.
Topic Type (Interest_Subject_Type__c) Created automatically, one per unique Topic Type Name.
Topic (Interest_Subject__c) Created automatically, one per unique topic (see How duplicates are handled).

The import is safe to re-run. It never creates a duplicate Topic Type or Topic. Rows that match
existing records are linked to them.


Where the data comes from

Pick whichever source fits:

  1. Build the CSV yourself (most common). Use a spreadsheet with the columns below.
  2. Generate it from an RiXML research file. IM can read a sample RiXML file and produce a draft
    CSV with every tag and value already filled in. You then delete the rows you don't need and tidy
    the names. (Your technical admin runs this step; see Part 2, Step 1.)

CSV columns

Column Required Max What to enter
Topic_Type_Name__c ✅ 80 Topic Type as users will see it, e.g. Country, Asset Class.
Topic_Name__c ✅ 80 Topic as users will see and search for it, e.g. United States.
Status__c ✅* — Pending = import this row. Leave blank to load the row without importing it yet.
Comments__c 255 Optional. Becomes the Topic's Description.
External_Id__c 255 Your own unique ID for the row, e.g. RGN-NA. Needed only for parent/child topics.
Parent_Ids__c 1000 Comma-separated External_Id__c values of this topic's parent topics, e.g. RGN-AMER.
Tag_Path__c 1000 RiXML only. Full XML path. Do not edit.
Tag__c 80 RiXML only. XML element/attribute name (attributes start with @). Do not edit.
Tag_Value__c 1000 RiXML only. Original value from the file. Do not edit.

* Only rows with Status__c = Pending are processed.

Leave all other Topic Mapping fields empty. The import fills them in.


How duplicates are handled

Topic Types: one per name

Every row with the same Topic_Type_Name__c goes to the same Topic Type. Spell the names exactly
the same way, including capitalization and spacing.

Topics: one per Type + Name (the default)

By default IM treats every Topic Type as canonical: one Topic per Topic Type + Topic Name,
wherever the value came from. That lets many sources share one clean list.

Topic_Type_Name__c Topic_Name__c Tag_Value__c (source)
Country United States US
Country United States USA
Region North America NorthAmerica

Result: 2 Topic Types (Country, Region) and 2 Topics (United States, North America).

Tip: Standardize names across the CRM. Use United States every time, not a mix of US,
U.S. and USA.

Exception: non-canonical types (rare)

Some types need one Topic per source tag, even when two tags share a display name. Your technical
admin lists those types in the AFR setting ACE.FPM.Settings.NonCanonicalTypeNames. For these
types, rows must include Tag_Path__c and Tag_Value__c, and each distinct path + value becomes its
own Topic. If you are unsure, leave this setting alone.


Parent / child topics (optional)

To nest topics (e.g. North America under Americas):

  1. Give every row involved an External_Id__c.
  2. On the child row, put the parent's ID in Parent_Ids__c. Separate multiple parents with commas.
External_Id__c Topic_Type_Name__c Topic_Name__c Parent_Ids__c
RGN-AMER Region Americas
RGN-NA Region North America RGN-AMER
RGN-LATAM Region Latin America RGN-AMER

Best practice: load parents and children in the same file. If a parent is loaded later, your
technical admin can rebuild the links afterwards (Part 2, Step 5).


Sample CSV

Topic_Type_Name__c,Topic_Name__c,Status__c,Comments__c,External_Id__c,Parent_Ids__c
Asset Class,Equity,Pending,,AC-EQ,
Asset Class,Fixed Income,Pending,,AC-FI,
Region,Americas,Pending,,RGN-AMER,
Region,North America,Pending,US and Canada,RGN-NA,RGN-AMER
Country,United States,Pending,,CTY-US,RGN-NA
Sector,Energy,,Load later,SEC-EN,

Result: 4 Topic Types and 5 Topics, plus 2 parent/child links. The Energy row is loaded but
skipped until its Status is changed to Pending.


Checklist before handing off

  • Each row has Topic_Type_Name__c and Topic_Name__c (80 characters or fewer).
  • Topic Type Names are spelled the same way everywhere.
  • Topic Names use standard CRM wording.
  • Rows to import have Status__c = Pending.
  • RiXML Tag_* columns are untouched.
  • If you use parent/child links, every Parent_Ids__c value matches an External_Id__c.
  • Saved as CSV (UTF-8).