Summary
An iPaaS.com Customer can be created or updated from a SugarCRM Account through the SugarCRM Web Logic Hook or through Manual Sync. Each transfer captures the Account's core details and its primary contact, and produces two child Customer Address records — one for the Account's billing address and one for its shipping address.
ID Format
Manual Sync ID Format
Enter the SugarCRM Account id on the iPaaS.com Manual Sync page. This is the 36-character SugarCRM record identifier.
Example: 9632ba9a-4aa6-11ef-ac10-068962c7e2c7
External ID Format
After a successful transfer, iPaaS.com saves the SugarCRM Account id as the external id on a dedicated external-id record for the Customer. That external-id record is the primary match that routes later updates to the same Customer.
The default template also maps the SugarCRM Account id into the Customer's CustomerNumber field. This gives the value visibility on the Customer record and serves as a fallback match when no external-id record yet exists. Remapping CustomerNumber to a different source is supported, but it disables that fallback match for Customer records created before the change.
The child address records do not carry their own external id; they are written as part of the Account transfer and are identified by their address type on the Customer.
Deleted Record Support
Delete mappings are not included in the default template mappings for this direction, and the integration's SugarCRM subscription is registered for Account create and update activity. Subscribers or their MiSP who need Account removals in SugarCRM to be reflected on the iPaaS.com Customer should validate that behavior in a staging environment before relying on it in production.
Deletion in the opposite direction is supported — see SugarCRM from iPaaS.com Account Mapping Documentation.
Custom Field Support
Custom fields added to SugarCRM through SugarCRM Studio can be captured into iPaaS.com. To map one, add a custom field to the iPaaS.com Customer using the same name as the SugarCRM field, then map it in the Account collection. The SugarCRM field name is used as the iPaaS.com field name.
The default mappings include an example custom-field mapping (customfield_test) and two custom fields used by the integration itself — Description and SugarCRM PrimaryContactID.
Mapping Collection Status
Status: Enabled. None of the three collections in this direction has a mapping filter, so every Account presented to them is processed.
Trigger Events: Account create and update activity in SugarCRM, delivered through the SugarCRM Web Logic Hook; and Manual Sync on demand.
Duplicate or Conflicting Mappings
Add/Update SugarCRM Account FROM iPaaS.com transfers the same records in the opposite direction. Before enabling both directions, subscribers or their MiSP should decide which system is the source of truth for Account and Customer data and review each collection's Add/Update settings, so a change is not written back and forth between the two systems.
Unmapped Field Overwrite Risk
iPaaS.com replaces the whole record when it applies an update, so any destination field that is not mapped is cleared on every inbound transfer.
For the Customer record, the unmapped field is:
Comment
For each Customer Address record, the unmapped fields are:
Company
FirstName
LastName
PhoneNumber
Type
To preserve any of these, subscribers or their MiSP can split the combined Add/Update collection into separate Add and Update collections, then add a Dynamic Formula mapping in the Update collection that carries the existing value forward — for example DestinationValue.Comment written to the iPaaS.com Comment field, or DestinationValue.PhoneNumber written to PhoneNumber.
Preventing duplicate addresses
The iPaaS.com Customer Address field PreventDuplicate is not mapped by default. Mapping it with a value of true stops iPaaS.com adding an address that exactly matches one already held on the Customer, which prevents duplicate address records building up across repeated transfers.
Supported Child Collections
Parent Collection: Add/Update SugarCRM Account TO iPaaS.com
Add/Update SugarCRM Account Billing Address TO iPaaS.com: a child collection that captures the Account's billing address as the Customer's primary billing address.
Add/Update SugarCRM Account Shipping Address TO iPaaS.com: a child collection that captures the Account's shipping address as the Customer's primary shipping address.
Both children run as part of the Account transfer. Subscribers do not transfer them independently; to bring across an updated address on demand, re-sync the parent Account.
System Caveats
SugarCRM Caveats
Primary contact only: Only one primary contact is maintained per Account. When no contact has been linked yet, the first contact associated with the Account is the one captured, and its identifier is recorded on the SugarCRM PrimaryContactID mapping. Accounts with more than one contact should be reviewed so the intended contact is the one linked.
Contact field subset: iPaaS.com captures a fixed subset of SugarCRM contact fields, exposed through Account fields whose names begin with Contact_.
Addresses stored on the Account: SugarCRM keeps billing and shipping addresses on the Account record itself rather than as separate address records, so the child collections read those Account fields.
Rate limiting: SugarCloud instances are subject to SugarCRM's published limit of 20 API requests per second. When SugarCRM reports that the request limit has been reached, the transfer is retried automatically once the limit window resets, and no subscriber action is required. On-premise instances are governed by their own server configuration.
Web Logic Hook delivery: SugarCRM delivers queued Web Logic Hook events through its scheduled cron.php job, so the timeliness of automatic transfers depends on how frequently cron.php runs on the SugarCRM server.
iPaaS.com Caveats
A custom field named SugarCRM PrimaryContactID must exist on the iPaaS.com Customer model for contact matching to be preserved across transfers.
EmailAddress must be unique across iPaaS.com Customers.
At least one of Company, FirstName, or LastName must be mapped for the Customer to be created.
Setup Requirements
SugarCRM Configuration
An API user with permission to read and write Accounts and Contacts.
The scheduled cron.php job enabled and running, so queued Web Logic Hook events are delivered.
iPaaS.com Configuration
A custom field named SugarCRM PrimaryContactID on the Customer model.
The Accounts event enabled under the subscription's Inbound Data Flows. No automatic transfers occur until this is enabled.
See SugarCRM Installation Instructions for the full setup walkthrough.
Integration Flow
An Account is created or updated in SugarCRM, or a subscriber runs a Manual Sync using the SugarCRM Account id.
SugarCRM queues a Web Logic Hook event and delivers it to iPaaS.com on its cron.php schedule. Manual Sync bypasses this step.
The integration retrieves the full Account record from SugarCRM.
The Account's primary contact is retrieved. If a contact identifier is already recorded, that specific contact is retrieved; otherwise the first contact associated with the Account is retrieved and its identifier is recorded.
The Account's fields and the primary contact's fields are mapped to the iPaaS.com Customer.
iPaaS.com matches the incoming record to an existing Customer by its external-id record, falling back to CustomerNumber when no external-id record yet exists, and creates or updates the Customer accordingly.
The Account's billing address and shipping address are written as child Customer Address records, each flagged as the Customer's primary address of that type.
Mappings
Add/Update SugarCRM Account TO iPaaS.com
iPaaS.com data type: Customer
Description: Captures the SugarCRM Account's core details and its primary contact into the iPaaS.com Customer.
Mapping Type | Source Field (SugarCRM) | Destination Field (iPaaS.com) | Description |
Field |
| CustomerNumber | Required. The SugarCRM Account id, captured as the Customer number. Also acts as the fallback match when no external-id record exists. |
Field |
| EmailAddress | Required. The Account's primary email address. Must be unique across iPaaS.com Customers. |
Field |
| Company | The SugarCRM Account name. At least one of Company, FirstName, or LastName must be mapped. |
Field |
| FirstName | The first name of the Account's primary contact. At least one of Company, FirstName, or LastName must be mapped. |
Field |
| LastName | The last name of the Account's primary contact. At least one of Company, FirstName, or LastName must be mapped. |
Field |
| SugarCRM PrimaryContactID | Recommended. Custom field. Stores the SugarCRM primary contact id so the same contact is matched, rather than duplicated, on later transfers. |
Field |
| Description | Optional custom field. Captures the SugarCRM Account description. |
Field |
| customfield_test | Optional custom field, provided as an example of mapping a SugarCRM Studio custom field. Replace it with your own field, or remove it if not needed. |
Add/Update SugarCRM Account Billing Address TO iPaaS.com (Child)
iPaaS.com data type: Customer Address
Description: A child of the Account collection. Captures the billing address held on the SugarCRM Account as the Customer's primary billing address.
Mapping Type | Source Field (SugarCRM) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| Address1 | The first billing street line from the Account. Captured when present. |
Dynamic Formula |
| Address2 | The second billing street line from the Account. Optional. |
Dynamic Formula |
| Address3 | The third billing street line from the Account. Optional. |
Dynamic Formula |
| City | Recommended for a complete address. The billing city from the Account. |
Dynamic Formula |
| Region | Recommended for a complete address. The billing state or region from the Account. |
Dynamic Formula |
| Country | Recommended for a complete address. The billing country from the Account. |
Dynamic Formula |
| PostalCode | Recommended for a complete address. The billing postal code from the Account. |
Static |
| IsPrimaryBilling | Marks the captured address as the Customer's primary billing address. A fixed value that identifies the address type. |
Add/Update SugarCRM Account Shipping Address TO iPaaS.com (Child)
iPaaS.com data type: Customer Address
Description: A child of the Account collection. Captures the shipping address held on the SugarCRM Account as the Customer's primary shipping address.
Mapping Type | Source Field (SugarCRM) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| Address1 | The first shipping street line from the Account. Captured when present. |
Dynamic Formula |
| Address2 | Optional. Combines the Account's second and third shipping street lines into a single line. |
Dynamic Formula |
| Address3 | The third shipping street line from the Account. Optional. |
Dynamic Formula |
| City | Recommended for a complete address. The shipping city from the Account. |
Dynamic Formula |
| Region | Recommended for a complete address. The shipping state or region from the Account. |
Dynamic Formula |
| Country | Recommended for a complete address. The shipping country from the Account. |
Dynamic Formula |
| PostalCode | Recommended for a complete address. The shipping postal code from the Account. |
Static |
| IsPrimaryShipping | Marks the captured address as the Customer's primary shipping address. A fixed value that identifies the address type. |
Error Handling
Errors raised during a transfer appear under Dashboard / Integration Monitoring / Error Logs. Most errors in this direction are returned by SugarCRM and are reported as received. See SugarCRM Error Messages for the full catalog of subscriber-visible messages and their resolutions.
Connection validation failures: the transfer cannot start because the configured API URL, user, or password is rejected by SugarCRM. Resolution: confirm the credentials and API URL on the subscription, then retry. See SugarCRM Connections and Settings.
Request limit reached: SugarCRM reports that the API request limit has been reached. No action is required; the transfer is retried automatically once the limit window resets.
Testing & Validation
Test Scenarios
Create a new Account in SugarCRM with a company name, an email address, and a primary contact, and verify a matching Customer is created in iPaaS.com with the contact's first and last name populated.
Update the Account name in SugarCRM and verify the change propagates to the Customer's Company field on the next transfer.
Attempt a transfer for an Account with no email address and confirm the expected validation error appears in the error log, since EmailAddress is required.
Run a Manual Sync using the SugarCRM Account id and confirm the transfer succeeds.
Create an Account with both a billing and a shipping address and verify two Customer Address records are created, flagged as primary billing and primary shipping respectively.
Transfer the same Account twice and confirm the primary contact is updated rather than duplicated, and that a second address record is not created for the same address.
Validation Checklist
The Accounts event is enabled under Inbound Data Flows, and cron.php is running on the SugarCRM server.
A custom field named SugarCRM PrimaryContactID exists on the iPaaS.com Customer model.
EmailAddress values are unique across the Accounts being transferred.
At least one of Company, FirstName, or LastName is mapped.
The example custom-field mapping has been replaced with your own SugarCRM Studio field, or removed.
Any Customer or Customer Address fields you rely on that are not mapped have been reviewed against the unmapped-field list above.
Related Documents
