Skip to main content

Copper CRM Integration Known Limitations

The known limitations of the Copper CRM integration — scope, design decisions and settings to confirm before go-live, with the workaround for each.

New here? This page is a configuration reference for teams implementing the Copper CRM integration in iPaaS.com. It documents scope, design decisions, and settings to confirm before go-live. These are not product defects, and most items are handled during implementation by iPaaS.com or your Managed Integration Service Provider (MiSP). See Understanding Integration Scope & Known Limitations for how we document this for every integration.

Introduction

These are the known limitations of the Copper CRM integration. They are inherent to the current design of the integration and to the capabilities of the Copper CRM API, and they apply to all subscribers at the time this documentation was written.

Platform Scope and Tested Versions

This integration was built for Copper CRM, the Copper sales CRM product.

  • API base URL: https://api.copper.com

  • API version: the Copper CRM Developer API v1 (the developer_api/v1 path). Copper CRM does not publish a dated or otherwise versioned API scheme beyond this path; the integration was built against the documented production endpoints as of the time this documentation was written.

  • Integration version: 1.0.

Not built for: Copper CRM is Copper's single CRM product, so there is no separate Copper edition or product line this integration targets instead. If Copper introduces a separate product line, or a materially different API version, this integration will not automatically support it.

1. Historical Data Cannot Be Bulk-Imported

Initialization is not supported for Copper CRM in iPaaS.com. The integration transfers records as they are created and changed, or when a subscriber runs a Manual Sync; it does not provide a one-click bulk import of all existing Copper CRM records.

What this means for you: to load a large volume of existing records at go-live, use the supported bulk sync using Postman approach rather than expecting a single initialization run. Day-to-day, new and changed records transfer automatically once webhook or outbound subscriptions are enabled.

2. Unmapped Fields Are Cleared When a Record Is Updated

iPaaS.com writes a full record replace when it updates a Customer or Customer Address in iPaaS.com. Any field that is not mapped in the inbound collection is replaced with an empty value on every update. The fields not mapped by the default template are, on the Customer, Comment; and on the Customer Address, Company, Address2, Address3, IsPrimaryShipping and Type.

What this means for you: if you store values in any of those iPaaS.com fields from another source, an inbound Copper CRM update will clear them unless you preserve them. To keep 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 a mapping with the source formula DestinationValue.Comment written to the iPaaS.com Comment field. Repeat for each field you need to keep.

3. Copper CRM Holds a Single Address Per Person

Copper CRM stores one address against a person. The integration transfers that single address in each direction and treats it as the person's primary billing address in iPaaS.com.

What this means for you: an iPaaS.com Customer that carries several addresses will only ever have one address written to Copper CRM (the primary billing address), and a Copper CRM person will only ever contribute one address to iPaaS.com. Separate billing and shipping addresses cannot be maintained on the Copper CRM side.

4. One Email Address and One Phone Number Per Person

When writing to Copper CRM, the integration sends a single email address and a single phone number for each person, each recorded under a category.

Note: This applies to the direction from iPaaS.com to Copper CRM. An iPaaS.com Customer that holds several email addresses or phone numbers will have only one of each written to the Copper CRM person.

What this means for you: confirm that the email address and phone number the integration selects are the ones you want stored in Copper CRM. Copper CRM requires a category on each, so the email and phone category mappings must not be left empty.

5. Rate-Limit Rejections Cause the Transfer to Fail

Copper CRM limits API traffic to 180 requests per minute on a rolling window and rejects requests beyond that limit. The integration does not automatically reschedule a request that Copper CRM rejects for exceeding the limit, so the affected transfer fails and appears in the error log.

What this means for you: for large or bulk runs, set the subscription's API Throttle Limit, API Throttle Seconds, Concurrent Connections and Concurrent Batch Executions so the integration stays within Copper CRM's limit, and re-transfer any records that failed. A single transaction transfer can consume several requests because it may also trigger a customer transfer, so transaction-heavy runs reach the limit soonest.

6. Address Changes Are Detected Through the Person, Not on Their Own

Copper CRM does not raise a separate event when only an address changes. The address is carried across as part of the person's transfer.

What this means for you: an address edited in Copper CRM reaches iPaaS.com the next time the person record itself is transferred, so there can be a delay before the change appears. To move an address change immediately, transfer the person from the Manual Sync page.

7. Company Links Depend on an Exact Name Match

When writing a person to Copper CRM, the integration attaches the person to an existing Copper CRM company whose name matches the customer's company name exactly, ignoring only capitalization. It does not create a company that does not already exist, and it does not raise an error when no match is found.

What this means for you: create the companies your people belong to in Copper CRM before transferring, and keep company names spelled the same way in both systems. If a name does not match, the person is created without a company link and nothing appears in the error log, so confirm company links on the Copper CRM record when this matters.

8. Custom Fields Must Exist First and Are Matched by Name

Custom field values move only between custom fields that already exist on both sides and share exactly the same name. The integration does not create custom fields, and a name that differs between the two systems transfers no value.

What this means for you: create the custom field in Copper CRM (under SettingsCustomizeManage Fields On RecordsPeopleCreate Field) and a matching Customer custom field in the iPaaS.com subscription with an identical name before mapping it. See the go-live checklist below for the example custom fields shipped with the default mappings.

9. Transaction Activities Are Summary Records

A transaction transferred to Copper CRM is written as an activity carrying a short summary line. The transaction's line items, payments, shipping detail and totals are not written to Copper CRM.

What this means for you: use the Copper CRM activity as a record that an order occurred and who placed it, not as a full copy of the order. Order detail remains in iPaaS.com and the source commerce system.

10. Transactions Flow Only From iPaaS.com to Copper CRM

Transactions are written into Copper CRM as activities in one direction only. There is no collection that brings Copper CRM activities back into iPaaS.com.

What this means for you: editing or deleting the activity in Copper CRM does not change the transaction in iPaaS.com. iPaaS.com remains the source of truth for transaction data.

11. Address Deletions Do Not Propagate

The integration does not implement an outbound delete for addresses. People and activities can be deleted, but an address is only removed in so far as its parent person is.

What this means for you: removing an address on its own will not clear it on the other side. Where an address must be removed, update or remove the parent person record.

Placeholder Values to Replace Before Go-Live

The default template mappings ship with a small number of example or environment-specific values that each subscriber should review and replace during implementation. Review each before enabling the collections.

Where

Placeholder value

Replace with

Add/Update Copper Person TO iPaaS.com — the custom-field mapping

Reads the Copper CRM custom field named Favourite Sports, writes the iPaaS.com custom field Interested Sports

Your own Copper CRM and iPaaS.com custom field names, or remove the mapping if you are not synchronizing a custom field.

Add/Update Copper Person FROM iPaaS.com — the custom-field mapping

Reads the iPaaS.com custom field Interested Sports, writes the Copper CRM custom field Favourite Sports

Your own field names, or remove the mapping.

Add/Update Copper Activity FROM iPaaS.com — the activity-type mapping

Activity type name Phone Call

The name of the Copper CRM activity type these records should be logged as, spelled exactly as in Copper CRM.

Add/Update Copper Person TO iPaaS.com — the CustomerNumber mapping

The person's work phone number is written into the required CustomerNumber field

Confirm the work phone number is a stable, unique value for each person, or remap CustomerNumber to a more stable unique identifier.

Summary

This document describes eleven known limitations of the Copper CRM integration, along with a go-live checklist of placeholder values to replace. For the detailed behavior of each mapping collection, see the mapping collection descriptions and the mapping documentation in the Copper CRM Mapping Collections.

Related Documents

Did this answer your question?