“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:
- Validate a customer’s phone number
- Confirm their pin code’s division name from a third-party API (https://pinlookup.in)
- 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:
- Valid 10-digit phone numbers, and
- 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!
