Handling Multi‑Value Filters in Boomi Customer Import

1. Background

  • In Boomi, when importing customers, you often define filters to restrict which records are retrieved.
  • Filters can be applied on fields such as Internal ID, Items, or Company Name.
  • Some fields support the “anyOf” operator, which allows multiple values to be matched in a single filter.

2. The Problem

  • Company Name filter does not support “anyOf.”
  • If you provide values separated by commas (e.g., CompanyA,CompanyB,CompanyC), Boomi treats this as one long string instead of three separate values.
  • This means only an exact match on the entire string will succeed, and no individual company names are recognized.

3. Why It Happens

  • Boomi’s connector profiles and query filter design vary by field type.
  • Text fields (like Company Name) are often limited to operators such as equals, startsWith, contains, or inRange.
  • ID fields (like Internal ID or Item ID) are indexed differently and support “anyOf” for performance reasons.

4. Workarounds

  • Option A: Multiple Filters
  • Add separate filter conditions for each company name.
  • Example:
  • Company Name = “CompanyA” OR Company Name = “CompanyB” OR Company Name = “CompanyC”
  • Option B: Preprocess Script
  • Split the comma‑separated values in your script before passing them to Boomi.
  • Loop through each company name and run the query individually.
  • Option C: Use a Lookup Table
  • Store the list of company names in a reference table or AtomSphere process property.
  • Query customers by joining against this table instead of relying on “anyOf.”
  • Option D: Switch to Internal ID Filtering
  • If possible, filter by Internal ID (which supports “anyOf”) rather than Company Name.
  • This requires mapping company names to IDs beforehand.

5. Best Practices

  • Avoid comma‑separated values in filters for text fields.
  • Document limitations in your integration design so future developers know which fields support “anyOf.”
  • Test with small sets of company names to confirm behavior before scaling.
  • Consider performance: multiple OR filters can slow down queries; using IDs is usually faster.

Leave a comment

Your email address will not be published. Required fields are marked *