Watch out for: NetSuite concurrency governance is shared across ALL integrations (Celigo + non-Celigo) -- exceeding your account limit causes SSS_REQUEST_LIMIT_EXCEEDED errors across all connections.
Best for: Mid-market NetSuite shops needing turnkey integrations with Shopify, Amazon, Salesforce, or 3PL providers without custom SuiteTalk development.
Authentication: Token-based auth (TBA) via Celigo SuiteApp bundle (ID 20038); OAuth 1.0 available for direct SuiteTalk/SuiteQL connections.
System Profile
Celigo integrator.io is a cloud-native iPaaS that has been Oracle NetSuite's largest integration partner for over a decade. The platform connects NetSuite to 100+ external applications through pre-built SmartConnector apps and a visual flow designer. Celigo communicates with NetSuite primarily via custom RESTlets deployed through the integrator.io SuiteApp bundle (ID 20038), with optional SuiteTalk SOAP/REST API fallback for high-volume scenarios.
SuiteApp bundle (ID 20038) is required for automatic TBA -- creates the role "Celigo integrator.io Full Access Role w/o 2FA [Locked]". [src4]
Token ID and Token Secret are displayed only once in NetSuite when creating access tokens -- save immediately. [src4]
The Celigo integration role is specifically "w/o 2FA" -- do NOT enable mandatory 2FA for integration users. [src4]
OAuth 1.0 for SuiteTalk requires the SuiteTalk URI from Setup > Company > Company Information > Company URLs. [src4]
Constraints
Endpoint cap is a hard licensing limit: Standard = 3, Professional = 5, Premium = 10. Each unique application consumes 1 endpoint.
NetSuite concurrency is shared globally: All Celigo + non-Celigo integrations share the same concurrency pool.
SuiteCloud Plus license required for high-volume: Web Services API (non-RESTlet) requires SuiteCloud Plus. Each license adds 10 concurrent connections.
Bundle 20038 installation requires admin access: Cannot install in sandboxes with restricted admin or accounts with SuiteApp locks.
Flow limits are hard: Standard edition caps at 16 flows total.
Pre-built apps count toward limits: Installing a Shopify-NetSuite SmartConnector uses 2 endpoints and multiple flows.
Integration Pattern Decision Tree
START -- User needs to integrate external system with NetSuite via Celigo
|-- Do they have a pre-built SmartConnector app?
| |-- YES (Shopify, Amazon, Salesforce, HubSpot, etc.)
| | |-- Install SmartConnector from Celigo Marketplace
| | |-- Configure connection credentials + field mappings
| | +-- Pre-built flows handle standard business processes
| +-- NO (custom application)
| |-- Use Celigo Flow Builder with universal HTTP connector
| +-- Build custom export/import/mapping flows
|-- What's the data volume?
| |-- < 1,000 records/day --> Standard RESTlet (default concurrency)
| |-- 1,000-100,000 records/day --> Increase batch + concurrency; consider SuiteCloud Plus
| +-- > 100,000 records/day --> SuiteCloud Plus required; 40+ concurrent connections
|-- Which Celigo edition?
| |-- 1-3 apps --> Standard (~$600/mo)
| |-- 4-5 apps --> Professional (~$1,500/mo)
| |-- 6-10 apps --> Premium (~$3,000/mo)
| +-- 10+ apps --> Enterprise (custom pricing)
Verify: Setup > Integration > Manage Integrations --> "Celigo integrator.io" listed with Status = Enabled.
2. Create NetSuite connection in Celigo
Set up token-based authentication between Celigo and your NetSuite account. [src4]
1. In Celigo: Settings > Connections > New Connection > NetSuite
2. Select "Token Based Auth (Automatic)"
3. Enter NetSuite Account ID
4. Click "Connect to NetSuite" -- authorize access
5. Test connection
Verify: Click "Test Connection" --> green checkmark with "Connection successful".
3. Install or build integration flows
Either install a pre-built SmartConnector or create custom flows. [src1]
Field Mapping Reference (Shopify-NetSuite Example)
Source Field (Shopify)
Target Field (NetSuite)
Type
Transform
Gotcha
order.id
salesOrder.externalId
String
Prefix "SHOP-"
Must be unique across all external IDs
order.email
customer.email
String
Lowercase
Must match existing customer or create new
order.total_price
salesOrder.total
Currency
None (USD)
Multi-currency requires exchange rate
order.line_items[].sku
salesOrder.item[].item
Lookup
SKU to internal ID
Item must exist in NetSuite
order.shipping_address
salesOrder.shippingAddress
Object
Map fields individually
NS has line1/line2/city/state/zip format
order.financial_status
salesOrder.status
Enum
Map to NS codes
"paid" = Pending Fulfillment
order.created_at
salesOrder.tranDate
DateTime
UTC to account TZ
NS dates use account timezone
Data Type Gotchas
DateTime timezone mismatch: Shopify/Amazon timestamps are UTC; NetSuite stores dates in account timezone. Always convert explicitly. [src1]
Multi-select fields: NetSuite uses pipe-delimited (|) for multi-select custom fields in SuiteTalk; Celigo handles this via RESTlet but NOT via HTTP connector. [src4]
Internal ID vs External ID: NetSuite records have both; Celigo lookups default to internalId. Cross-reference via externalId requires explicit config. [src4]
Error Handling & Failure Points
Common Error Codes
Code
Meaning
Cause
Resolution
SSS_REQUEST_LIMIT_EXCEEDED
Concurrency limit exceeded
Too many concurrent requests
Reduce concurrency; add SuiteCloud Plus licenses
ss_out_of_points
Governance unit limit exceeded
Batch size too large
Reduce batch size in import Advanced settings
SSS_INVALID_API_USAGE
Invalid SuiteScript API call
Wrong API method in hooks
Fix hook code per SuiteScript 2.0 reference
INVALID_KEY_OR_REF
Record reference not found
Lookup value doesn't match
Fix source data or add create-if-missing logic
RCRD_HAS_BEEN_CHANGED
Optimistic locking conflict
Concurrent record modification
Enable auto-retry; implement locking strategy
USER_ERROR
Custom validation failed
Workflow/script rejected record
Check NS script logs; adjust data
Failure Points in Production
Concurrency budget exhaustion during peak season: Multiple integrations simultaneously hitting NetSuite exhaust the shared pool. Fix: Pre-allocate concurrency per integration; add SuiteCloud Plus before peak; enable auto-recover. [src3]
SuiteApp bundle version mismatch after NetSuite upgrade: NetSuite releases can break older bundle compatibility. Fix: Update Celigo SuiteApp within 2 weeks of NS release; test in sandbox first. [src4]
Saved search schema changes break exports silently: Modified saved searches cause wrong data exports. Fix: Use dedicated "[Celigo]" prefixed searches with restricted edit permissions. [src4]
Token expiration on dormant connections: Revoked tokens cause silent failures. Fix: Set up alert notifications; use automatic TBA. [src4]
Multi-subsidiary complexity: Flows that work for one subsidiary create records in wrong subsidiary. Fix: Always include subsidiary field; use conditional logic per subsidiary. [src1]
Anti-Patterns
Wrong: Setting maximum concurrency on all connections
// BAD -- all connections set to max concurrency
// Connection 1: concurrency = 5, Connection 2: concurrency = 5, Connection 3: concurrency = 5
// Total: 15 -- exceeds account limit of 5!
// Result: SSS_REQUEST_LIMIT_EXCEEDED across ALL integrations
Correct: Budget concurrency across all connections
// GOOD -- concurrency budget allocation within account limit
// Connection 1 (Shopify): 2, Connection 2 (Salesforce): 2, Connection 3 (Amazon): 1
// Total: 5 = account limit. Enable auto-recover on all.
Wrong: Using a single large batch size for all imports
// BAD -- 5,000 records/batch, each ~50 governance units
// 5,000 x 50 = 250,000 units >> 5,000 limit = ss_out_of_points
Correct: Tune batch size based on record complexity
// GOOD -- calibrate to governance budget
// Simple records (customer updates): batch = 100 (~50 units x 100 = 5,000)
// Complex records (sales orders): batch = 25 (~200 units x 25 = 5,000)
Wrong: Sharing saved searches with business users
// BAD -- using "Monthly Revenue Report" for Celigo export
// Finance team modifies columns = Celigo export breaks or returns wrong data
Correct: Dedicated integration saved searches
// GOOD -- "[Celigo] Order Export" with restricted edit permissions
// Description: "DO NOT MODIFY -- used by Celigo Shopify integration"
Common Pitfalls
Underestimating endpoint consumption: A Shopify-NetSuite SmartConnector uses 2 endpoints. Standard's 3 endpoints = only 1.5 apps. Fix: Map all integrations before purchasing; most need Professional minimum. [src5]
Ignoring sandbox testing: Sandbox only available on Professional+. Fix: Budget for Professional if you have non-trivial logic. [src5]
Not monitoring error dashboard: AI error management resolves many issues, but failed records accumulate silently. Fix: Configure alerts; review dashboard daily during deployment. [src1]
Assuming pre-built apps need no customization: SmartConnectors handle 70-80% out of box; custom fields and multi-subsidiary always need config. Fix: Budget 40-80 hours even for pre-built integrations. [src1]
Running all integrations at same schedule: Concurrent flows create concurrency spikes. Fix: Stagger schedules by 5-10 minutes; prioritize order flows. [src3]
Forgetting EDI trading partner limits: Professional includes only 5 partners. Fix: Count partners before selecting tier; EDI-heavy = Enterprise. [src5]
Mid-market NetSuite with Shopify/Amazon/Salesforce needs
Enterprise with 50+ complex integrations needing API-led connectivity
MuleSoft Anypoint Platform
Pre-built SmartConnector app exists for your use case
Need real-time sub-second event streaming from NetSuite
Direct SuiteTalk REST API
Operations team (non-devs) must manage integrations
Only 1-2 endpoints with simple CSV needs
NetSuite native CSV import
Need EDI + ERP flows in one platform
Need on-premise or hybrid cloud/on-prem connectivity
Boomi or MuleSoft
Want AI-powered error management + auto-retry
Require custom SuiteScript logic inside NetSuite
Custom SuiteScript development
Cross-System Comparison
Capability
Celigo
Boomi
Workato
MuleSoft
NetSuite depth
#1 partner, 80+ apps
Standard connector
Good connector, recipes
Standard connector
Pricing model
Endpoint + flow (flat)
Connection + runtime
Recipe/task-based
vCore-based
Entry price
~$600/mo
~$2,000/mo
~$1,500/mo
~$3,000/mo
Pre-built NS apps
80+ SmartConnectors
~10 templates
~50 recipes
~20 templates
Target user
Operations / analysts
IT / architects
IT + business
Developers / API arch.
Learning curve
Low
Medium-high
Medium
High
On-prem support
No (cloud only)
Yes (Atom)
Yes (agent)
Yes (Mule runtime)
EDI capability
Built-in
Via partner
Limited
B2B/EDI module
Error management
AI auto-resolve
Manual + alerts
Recipe-level
Custom exception
API management
Built-in (Pro+)
Separate product
Built-in
Core strength
Best for
NS-centric mid-market
Enterprise hybrid
Cross-functional
API-first enterprise
Important Caveats
Pricing is not publicly listed -- all figures above are approximate based on third-party reports. Actual pricing requires a custom quote from Celigo sales.
"80+ pre-built integrations" varies in depth -- some are full-featured (Shopify has 15+ flows), others are basic templates requiring significant customization.
NetSuite concurrency governance (default 5) is the real bottleneck, not Celigo's own rate limits (~1M requests/hour).
High-volume integrations often require SuiteCloud Plus licenses ($999+/year each from Oracle) on top of Celigo costs.
AI error management handles transient errors well but data quality errors still require human review.