API-Based Data Validation in Boomi — Clean Customer Records Before Sales force Insert

Praneetha

Associate Software Developer

“API-Based Data Validation in Boomi — Clean Customer Records Before Salesforce Insert”

In many CRM systems, data integrity is crucial before loading customer data into platforms like Salesforce. Here’s a real-time use case where I used Boomi Atmosphere to:

  1. Validate a customer’s phone number
  2. Confirm their pin code’s division name from a third-party API (https://pinlookup.in)
  3. Sync only verified records to Salesforce Contacts

Tools Used

• Boomi Atmosphere
• Google Sheets (Source Data)
• HTTP Client Connector (to call pincode API)
• Salesforce Connector
• https://pinlookup.in – for division lookup

Step-by-Step Breakdown
Step 1: Get Data from Google Sheet
The process starts with reading data from a Google Sheet using a Google Sheets connector.
This contains customer fields like:
• Name
• Phone Number
• Pincode
• Mandal (which we will validate against the pincode’s division)

Google Sheets Operation

Step 2: Set Dynamic Document Property for Pincode

Using a Set Properties shape, I created a Dynamic Document Property (DPP_PIN) and set it to the Pincode element from the sheet.

  • Name: DPP_PIN
  • Value: Profile Element → Pincode

This property is later used in the API call.

Step 3: Validate Phone Number Using Regex

I used a Decision Shape to ensure the phone number has exactly 10 digits:

  • Left Operand: Phone number from profile
  • Operator: Matches Regular Expression
  • Right Operand: ^\d{10}$

✅ If True → continue
❌ If False → go to Stop shape (reject)

Step 4: Business Rules — Pincode Validation via API

Here’s where the real power comes in: I used a Business Rules Shape with a Connector Call to validate if the pincode belongs to the correct division.

✔ Connector Call Setup:

  • Connector: HTTP Client
  • Connection URL: https://pinlookup.in
  • Authentication: None
  • HTTP Method: GET
  • Resource Path: api/pincode?pincode=${DPP_PIN}
    • Ensure “Is Replacement Variable” is ticked
  • Response Profile: pincode_api (JSON with division_name field)
  • Content-Type: application/json
  • Return HTTP Errors: Checked ✅

Pincode Website Api Connection

Operation

Step 5: Validate Division with Business Rule Logic

Within the same Business Rules Shape, I compared the API result with the Mandal from the sheet:

  • Input A: division_name (from API)
  • Input B: Mandal (from Sheet)
  • Condition: A = B

✅ If they match → proceed
❌ Else → send to Stop shape

Step 6: Map to Salesforce Profile

For accepted records, I used a Map Shape:

  • Source Profile: Google Sheet profile
  • Destination Profile: Salesforce Contact profile
  • Mapped Fields: Name → Name, Phone → Phone, Pincode → Pincode, Mandal —>city

Step 7: Send to Salesforce Contact

I then used a Salesforce Connector:

  • Action: Send
  • Connection: Salesforce Login with Contact object
  • Operation: Custom operation to match destination profile

Only the verified customer records reached Salesforce.

Overall Proces

Outcome

Only customers with:

  1. Valid 10-digit phone numbers, and
  2. A pincode that matches the correct division (Mandal)

…were pushed to Salesforce. Others were safely rejected using Stop shapes to ensure data quality.

Why This Is Valuable

  • Prevents bad data from entering Salesforce
  • Uses live data validation from pinlookup.in
  • Highlights the power of Boomi’s Connector Call inside Business Rules
  • Great example of combining API lookups + sheet data + CRM sync

If you’re working on data quality pipelines or CRM enrichment — try this approach using Boomi!
Happy Integrating!