Members define the valid and expected values within a Domain. Synonyms are alternative representations of a Main Member. Together they enable HEDDA.IO to automatically normalise incoming values - replacing abbreviations, misspellings, or alternate codes with a single canonical form. Over time, new unknown values discovered in production can be promoted directly into the Member list without re-entering them manually.
Problem Overview
Real-world data rarely arrives with consistent values. A payment type column may contain 'CC', 'credit card', 'CreditCard', and 'Credit Card' - all meaning the same thing, but different enough to break downstream comparisons and reporting. The naive approach is to handle each variant with a separate Business Rule condition. This creates maintenance debt: every time a new variant surfaces in production data, someone has to find the right rule, add the variant, and republish the Knowledge Base.
The deeper issue is that the full set of variants is rarely known upfront. The first time a Knowledge Base runs against real production data, it will encounter values that were never anticipated during development. Without a structured way to discover and absorb those new values, the Member list stays incomplete indefinitely.
Solution
HEDDA.IO's Member and Synonym system handles normalisation automatically at the Domain level. Each Domain holds a list of Main Members - the canonical values you want in your processed data. Each Main Member can carry multiple Synonyms: any alternative value that HEDDA.IO might encounter in the source data that should map to that Member. When HEDDA.IO finds a Synonym match during processing, it replaces the source value with the Main Member in all downstream steps - conditions, actions, and output data all see the normalised value.
Synonyms can also work in reverse. If the system requires IDs in the output but receives display names in the input, set the ID as the Main Member and the name as the Synonym:
| Main Member (output ID) | Synonym (input display name) |
| 1 | Cash |
| 2 | Credit Card |
| 3 | PayPal |
With this configuration, any row where the Payment Type column contains 'PayPal' will have that value replaced by '3' in all downstream processing.
For the discovery side, HEDDA.IO tracks every value that arrives in a Domain column but does not match any existing Member or Synonym. These are recorded as Unknown values in the execution statistics. The Import Stage feature then lets you review those new values and promote the ones you recognise directly into the Member list - closing the gap between what you configured and what production data actually looks like.
Configuration
Add Members Manually
Use this approach when you are building the initial Member list from scratch or adding a small number of new entries.
- Switch to Edit Version mode
- Open the Domains tab and select the Domain
- In the Members Panel, click Add Member in the upper-right corner
- In the Add Member panel, stay on the Main tab. Enter the Main value in the Value field and set the Validation Status to Valid or Invalid
- Click Add Synonyms to add alternative values one by one. Each Synonym can be edited or deleted independently
- To add a Synonym for an existing Member, switch to the Synonym tab, enter the value, and use the Synonym Of dropdown to associate it with the correct Main Member
- Repeat for all expected values and click Save
Paste Members from Excel
Use this approach when you have an existing reference list in a spreadsheet and want to load it in bulk.
- Open the Add Member panel and switch to the Paste from Excel tab
- In Excel, select and copy the column or columns containing your Member values
- Click inside the paste area in HEDDA.IO and press Ctrl+V. The values appear as a preview
- Use the Value Column dropdown to select which pasted column contains the Main Member values
- If you also copied a Synonym column, use the Synonym of Column dropdown to designate which column holds the Main Member values that the Synonyms reference. Note: the main value column must be added before pasting the Synonym column
- Set the Status dropdown to Valid, Invalid, or Unknown as appropriate for the batch
- If the first row of your copied data is a header, enable the Has Header slider - HEDDA.IO will use the header names as column labels and exclude the header row from the import
- Click Save All to commit the batch
Import from an External Source
Use this approach when the reference list is large, maintained by another team, or needs to stay in sync with a database table automatically.
- Edit the Domain configuration and enable the Member Search toggle to reveal the Is External option
- Enable the Is External toggle. The External Members section appears below
- Select an existing External Connection from the Connection dropdown
- Select the source table or file from the External Source dropdown
- In the Main Column dropdown, select the column whose values should become Main Members
- In the Synonym Columns list, click any additional columns whose values should be treated as Synonyms for the corresponding Main Member
- Save the Members. Members are imported immediately and will stay in sync with the external source on subsequent executions
Promoting Unknown Values from Previous Executions
After any execution against production data, HEDDA.IO records values that arrived in a Domain column but did not match any existing Member or Synonym. These are called new values. The Import Stage feature lets you review and absorb them directly into the Member list.
- Open the Domains tab, select the Domain, and switch to Edit Version mode
- In the Members Panel, click Add Member and switch to the Import Stage tab
- The Import Stage shows all new values discovered in recent executions for this Domain - values that arrived without any Member match
- Review the list. Select the values you want to add as Members or Synonyms
- For each selected value, specify whether it should become a new Main Member or a Synonym of an existing one, and set the appropriate Validation Status
- Click Save to commit the additions to the Domain's Member list
Run a Preview against a production sample early in the development process, before the Knowledge Base is fully configured — the Import Stage will then surface the real distribution of values from production data, giving you a much more complete starting point than any design-time assumption. Keep in mind that the Import Stage only shows values from executions that have already completed, so if you want to see the latest state of unknown values, run a fresh execution or Preview first and then open the Import Stage.
Outcome
After each execution, open the Execution panel and navigate to the Member Statistics tab. This tab shows - broken down per Domain - how many values were matched directly to a Main Member, how many were matched via a Synonym, how many were matched via the Domain's fuzzy algorithm, and how many arrived with no match at all. Filter by 'New without match' to see exactly which values are still unknown. These are the candidates for the next Import Stage session.
Over successive executions, the proportion of unmatched values should decrease as the Member list grows. A stabilized Member list - where new executions consistently show zero or near-zero unmatched values - is a strong indicator that the Domain configuration is mature and the data quality pipeline is operating as designed.
If you have any further questions, please feel free to Contact Us.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article