Summary
Copper CRM People can be transferred into iPaaS.com as Customer records through webhook events or Manual Sync. Each transfer also produces a Customer Address in iPaaS.com from the single address Copper CRM holds against the person. The mapping carries the person's name, work email address, work phone number, company and, optionally, custom field values.
ID Format
Manual Sync ID Format
Enter the Copper CRM person's system record ID — the numeric identifier Copper CRM assigns to the person. Transferring the person also transfers its address; there is no separate ID to enter for the address.
External ID Format
After a successful transfer, iPaaS.com records the link between the two systems on a dedicated external-ID record:
The Customer is linked using the Copper CRM person's identifier.
The Customer Address is linked using a composite value made of the person's identifier and the address's role, in the form
<PersonId>\Primary. Because Copper CRM holds a single address per person, that address is always the primary one.
These links are the primary match for later transfers, routing a repeat transfer of the same person to an update rather than creating a second Customer. Where no link exists yet, the integration falls back to matching an existing iPaaS.com Customer on the work email address and records the link once a match is found.
Deleted Record Support
Outbound delete is supported for People. Copper CRM emits a person/delete event, and the integration removes the corresponding record so the deletion propagates to iPaaS.com.
Addresses are not deleted independently. Because Copper CRM holds one address per person and that address is transferred as part of the person, there is no separate address delete path; an address is removed only in so far as its parent person is.
Custom Field Support
Copper CRM person custom field values can be read and written into iPaaS.com custom fields.
Custom fields are matched by name and must exist on both sides before any value moves. Create the Copper CRM field under Settings → Customize → Manage Fields On Records → People → Create Field, then create a Customer custom field with exactly the same name in the iPaaS.com Copper CRM subscription. A Dynamic Formula mapping names the Copper CRM custom field and writes its value to the matching iPaaS.com custom field; if the names differ, no value is transferred.
Mapping Collection Status
Status: Enabled.
Trigger Events: person/new, person/update and person/delete. These events must be subscribed to from the iPaaS.com external webhook subscription page before automatic transfers occur.
Duplicate or Conflicting Mappings
The following mapping collection operates on the same records in the opposite direction:
Add/Update Copper Person FROM iPaaS.com: creates or updates People in Copper CRM from iPaaS.com Customer data.
Before enabling both directions, review the mapping collection filters and decide which system is the source of truth for people data. With both active on the default mappings, changes may propagate back and forth. Because Copper CRM holds only one address per person, the inbound and outbound address mappings write to the same single address.
Unmapped Field Overwrite Risk
iPaaS.com uses a full record replace when updating Customer and Customer Address records. The fields below are not mapped in the default mappings, so any existing values in them are replaced with empty values on every inbound transfer unless mappings are added to preserve them:
Customer: Comment
Customer Address: Company, Address2, Address3, IsPrimaryShipping, Type
To preserve a value, split the collection into separate Add and Update collections and add a Dynamic Formula mapping to the Update collection that carries the existing value forward — for example DestinationValue.Comment written to the iPaaS.com Comment field. This reads the current value from the iPaaS.com record and writes it back so the update does not clear it. Repeat for each field that needs preserving.
Supported Child Collections
Parent Collection: Add/Update Copper Person TO iPaaS.com
Add/Update Copper Person Address TO iPaaS.com: transfers the person's Copper CRM address to iPaaS.com as a Customer Address, linked with the composite external ID described above. It runs as part of the parent person's transfer and has no independent trigger.
System Caveats
Copper CRM Caveats
One address per person: Copper CRM only permits one address to be saved against a person, so only one address is ever transferred. A person with no address produces no address record in iPaaS.com.
Email and phone categories: each email address and phone number is held against a category such as Work or Personal. The mappings read the work category and fall back to the first entry when no Work entry exists.
Custom fields must exist first: values can only be read from Copper CRM custom fields that already exist.
Free-text address values: country and state are stored as free text rather than from a fixed list, so values should be validated in a staging environment against whatever consumes them downstream.
API request limits: Copper CRM limits API traffic to 180 requests per minute on a rolling window and rejects requests beyond it. Rejected transfers appear under Dashboard → Integration Monitoring → Error Logs. Set the subscription's API Throttle Limit, API Throttle Seconds, Concurrent Connections and Concurrent Batch Executions so the integration stays within the limit.
iPaaS.com Caveats
Required Customer fields: iPaaS.com rejects a Customer without a customer number and an email address, so both mappings must resolve to a value.
Custom fields must exist first: a Customer custom field with a matching name must exist in the iPaaS.com subscription before a mapped value is stored.
The parent must transfer first: the address is attached to the Customer created or updated by the parent collection. If the parent transfer fails, no address is written.
Integration-Specific Caveats
Duplicate prevention by email: when a Copper CRM person is not yet linked, the integration searches iPaaS.com for a Customer with the same work email address and links the two records instead of creating a duplicate. Changing which email category the mapping selects changes which address is used for that matching.
Customer number is populated from a phone number: the default mappings write the person's work phone number into the required CustomerNumber field, which also acts as a fallback matching key. Confirm this is a stable, unique value for each person, or remap it to a more stable identifier before go-live.
Setup Requirements
Copper CRM Configuration
Generate an API Key under Settings → Integrations → API Keys. An API Key is required in order to subscribe to Copper CRM webhooks.
Create any person custom fields you intend to transfer under Settings → Customize → Manage Fields On Records → People → Create Field.
iPaaS.com Configuration
Enter the API URL, API Key and API Email on the Copper CRM subscription. See the Copper CRM Connections and Settings article for the full field reference.
Create Customer custom fields with names matching the Copper CRM fields.
Subscribe to the Copper CRM People webhook events from the iPaaS.com external webhook subscription page. Until this is done, records transfer only by Manual Sync.
Integration Flow
A person is created, changed or deleted in Copper CRM, and Copper CRM notifies iPaaS.com through the subscribed webhook event. Alternatively, the transfer is started from the iPaaS.com Manual Sync page using the person's record ID.
The integration retrieves the full Copper CRM person record, including its email addresses, phone numbers, address and custom field values.
The integration checks whether the person is already linked to an iPaaS.com Customer. If it is not, it searches iPaaS.com for a Customer with the same work email address and records a link when one is found, so that an existing Customer is updated rather than duplicated.
The Customer is created or updated in iPaaS.com from the parent collection's mappings.
The person's address is transferred through the child collection and linked to the Customer using the composite external ID
<PersonId>\Primary.For a person/delete event, the linked iPaaS.com record is removed rather than updated.
Mappings
Add/Update Copper Person TO iPaaS.com
Description. Transfers the Copper CRM person into iPaaS.com as a Customer record.
This collection has no mapping filter, so all People received through webhook events or Manual Sync are processed.
Mapping Type | Source Field (Copper CRM) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| EmailAddress | Required. Selects the email whose category is work, falling back to the first email held on the person. iPaaS.com requires an email address on every Customer, so a person with no email cannot transfer. This value also drives duplicate matching. |
Dynamic Formula |
| CustomerNumber | Required. Selects the phone number whose category is work, falling back to the first number held. iPaaS.com requires a customer number on every Customer, and this value doubles as a fallback record-matching key — confirm it is stable and unique per person, or remap it. |
Field | FirstName | FirstName | Recommended. The person's first name. |
Field | LastName | LastName | Recommended. The person's last name. |
Field | CompanyName | Company | Recommended where the person belongs to a company. The company name held on the Copper CRM person. |
Field | CompanyId | Copper CRM Company Id (custom field) | Optional. Stores the Copper CRM company identifier so the iPaaS.com Customer can be traced back to its originating company. |
Dynamic Formula |
| Interested Sports (custom field) | Optional. Reads a Copper CRM custom field by name and writes it to an iPaaS.com custom field. Placeholder value — replace during implementation: Favourite Sports and Interested Sports are example custom fields; substitute your own names or remove the mapping. |
Dynamic Formula source. The custom field formula above spans two lines. It is reproduced here exactly as it is configured on the mapping collection:
Interested Sports
var custField = await GetValueFromCustomField(CustomFields,"Favourite Sports"); return custField.ToString();
Add/Update Copper Person Address TO iPaaS.com (Child)
Mapping Filter
SourceTypeName == "ParentOnly"
Filter Description. Only addresses arriving as part of a parent person transfer are processed. An address presented in any other context is skipped, and no error is raised for a skipped record. This is why the collection has no independent Manual Sync entry point — it is reached by transferring the parent person.
Description. Transfers the single address Copper CRM holds against the person into iPaaS.com as a Customer Address, flagged as the primary billing address.
Mapping Type | Source Field (Copper CRM) | Destination Field (iPaaS.com) | Description |
Dynamic Formula |
| Address1 | Recommended. The street line of the person's address. |
Dynamic Formula |
| City | Recommended. The city. |
Dynamic Formula |
| Region | Recommended. The state or province. Copper CRM labels this State; iPaaS.com labels it Region. |
Dynamic Formula |
| PostalCode | Recommended. The postal or ZIP code. |
Dynamic Formula |
| Country | Recommended. The country, stored as free text in Copper CRM. |
Dynamic Formula |
| FirstName | Recommended. Taken from the parent person so the address identifies who it belongs to when viewed on its own. |
Dynamic Formula |
| LastName | Recommended. Taken from the parent person. |
Dynamic Formula |
| PhoneNumber | Optional. The parent person's work phone number, falling back to the first number held. |
Static |
| IsPrimaryBilling | Flags the address as the Customer's primary billing address. Copper CRM holds one address per person, so it is always treated as primary. The outbound mappings select the address flagged as primary billing, so clearing this can break the return path. |
Error Handling
Errors raised during these transfers appear under Dashboard → Integration Monitoring → Error Logs. The most common causes are:
A required field resolves to no value: a person with no email address or no phone number cannot produce a valid iPaaS.com Customer, because both the email address and the customer number are required.
Copper CRM is unavailable or rejects the request: including when the 180 requests per minute limit is exceeded. The transfer fails and can be retried by triggering a new change in Copper CRM or using Manual Sync.
For the full catalogue of subscriber-visible messages, see the Copper CRM Error Messages article.
Testing & Validation
Test Scenarios
Create a new person in Copper CRM with a work email address, a work phone number and an address, and verify a Customer and a Customer Address are created in iPaaS.com.
Update the person's name in Copper CRM and verify the change reaches the existing iPaaS.com Customer rather than creating a second one.
Create a person in Copper CRM whose work email matches an existing iPaaS.com Customer, and verify the records are linked rather than duplicated.
Attempt a transfer for a person with no email address and confirm the transfer fails with a clear error in the Error Logs.
Transfer a person manually from the Manual Sync page using the Copper CRM person record ID and confirm both the Customer and its address arrive.
Change the person's address in Copper CRM, re-transfer the person, and confirm the address is updated rather than duplicated.
Populate a mapped Copper CRM custom field and confirm the value reaches the matching iPaaS.com custom field.
Delete a person in Copper CRM and confirm the deletion propagates to iPaaS.com.
Validation Checklist
Copper CRM API Key and API Email are entered on the subscription.
The Copper CRM People webhook events are subscribed from the iPaaS.com external webhook subscription page.
Custom fields exist on both sides with identical names.
The example custom field mapping has been replaced or removed.
The value mapped to CustomerNumber has been confirmed as stable and unique, or remapped.
Throttle and concurrency values are set so the integration stays within Copper CRM's request limit.
Additional Notes
Only the single address Copper CRM holds against a person is transferred. iPaaS.com Customers that carry several addresses do not receive additional addresses from Copper CRM.
There is no separate address change event in Copper CRM, so an edited address reaches iPaaS.com the next time the parent person is transferred.
