InTouch Hub · Blue Isle Software

Copper CRM

Sync people, companies, and opportunities in Copper CRM via its developer REST API.

Copper CRM

Sync people, companies, and opportunities in Copper CRM via its developer REST API. Search the three core record types and create new people — no SDK, standard-library Python only.

What it does

The tool branches on operation and calls the real Copper Developer API (https://api.copper.com/developer_api/v1). It returns the raw JSON response body as result and the HTTP status code as status. Non-2xx responses are returned (not thrown) so you can inspect Copper's error payload.

Operations

operation Copper endpoint Purpose
search_people POST /people/search List/search people (contacts)
search_companies POST /companies/search List/search companies
search_opportunities POST /opportunities/search List/search opportunities (deals)
create_person POST /people Create a new person

Search operations accept optional name (filter), sortBy, pageSize (1-200, default 20) and pageNumber (1-based, default 1).

apiKey setup

Copper authenticates every request with three headers, so this tool needs two credentials: your API key and the email of the user who generated it.

  1. In the Copper web app, go to System settings > API Keys.
  2. Click GENERATE API KEY and copy the key — this is your apiKey (sent as the X-PW-AccessToken header).
  3. Use the email address of the user who generated the key as userEmail (sent as the X-PW-UserEmail header).

The tool always sends X-PW-Application: developer_api and Content-Type: application/json for you.

Examples

Search the first page of people, sorted by name:

apiKey:    <your key>
userEmail: [email protected]
operation: search_people
sortBy:    name
pageSize:  25

Find companies whose name matches "Acme":

apiKey:    <your key>
userEmail: [email protected]
operation: search_companies
name:      Acme

List the most recently modified opportunities:

apiKey:    <your key>
userEmail: [email protected]
operation: search_opportunities
sortBy:    date_modified

Create a new person with a work email:

apiKey:    <your key>
userEmail: [email protected]
operation: create_person
name:      John Doe
email:     [email protected]

Output