Resources · n8n integration

Copper n8n integrationAutomate Copper with n8n.

Your Copper records should keep themselves up to date. The Copper n8n integration gives you a node with 32 operations spread over 8 resources, from companies and leads to opportunities and people. A second node listens on 3 events, and a single API key credential powers both.

Verified Trustpilot reviews · AI, automation & growth agency

Why automate

What does the Copper n8n integration actually do?

The Copper n8n integration wires your CRM into any workflow you build in n8n, a workflow being a chain of automated steps that runs without anyone clicking. One node reads and writes companies, leads, opportunities, people, projects, tasks, customer sources and users, 32 operations in all. A second node, the Copper Trigger, starts a workflow the moment a record appears, changes or disappears in Copper.

Three shapes cover most of what teams end up building. The first one pulls new business in. A signup form or an ads export lands in n8n, the node runs lead.create with a Name, and the lead sits in Copper before anyone opens a tab. That pairs well with Google Sheets when the raw list already lives in a spreadsheet.

The second shape pushes news out instead of pulling data in. The Copper Trigger fires on an updated record, a branch checks what came through, and the workflow drops a short message into Slack or sends a recap with Gmail. Nobody has to ask who touched the account last.

The third shape is reporting. Run opportunity.getAll with Return All switched on and n8n walks every page of the API, handing the whole pipeline to the next node for a weekly snapshot. Leave Return All off and Limit caps how many records come back, which is the faster choice while you are still testing the workflow.

Two things are worth knowing before you build. Anything that falls outside the 32 catalog operations goes through the HTTP Request node, which calls any Copper API endpoint while reusing the credential you already saved. And the trigger is set on one Resource, the object it watches, so decide which object matters before you activate the workflow.

Still picking a platform? The n8n review covers what self-hosting changes for cost and for data control, which is usually the deciding factor when a CRM is involved. Whichever way you go, the credential you saved and the 32 operations behave exactly the same on n8n Cloud and on a server you run yourself, so a workflow built on one moves to the other without being rewritten.

Connect

How do you connect Copper to n8n?

  1. 01

    Generate the API key in Copper

    The credential needs a Copper account on the Professional or Business plan. Open Copper and generate an API key from the account settings, following the Copper support article on generating an API key. Copy the key once, because it is the value n8n will store. Note down which user generated it too, that email address is the second half of the credential.

  2. 02

    Save the credential in n8n

    In n8n, open the Credentials menu and create a Copper credential. It asks for two values: API Key, the key you just generated, and Email, the address of the person who created that key rather than a shared mailbox. Save it once and both the Copper node and the Copper Trigger will offer it in their dropdown, in every workflow on the instance.

  3. 03

    Run a read operation to confirm

    Drop a Copper node on the canvas, pick the credential, then choose a harmless read such as Customer Source with Get Many. Execute the node on its own. Records coming back means the key and the email match. From there, switch Resource and Operation to whatever the workflow really needs, companies, leads, opportunities or people.

Triggers

What can start a Copper workflow?

Copper Trigger is the node that starts a workflow when something happens in Copper. It listens to 3 events, listed below by family. Pick one or several, activate the workflow: n8n registers the webhook on your Copper account.

What you see in n8n

Every event, by family

One row per object, one chip per action. The event to tick in the node is object.action; hover a chip to read exactly when it fires.

delete.*1
  • delete.
    • delete
new.*1
  • new.
    • new
update.*1
  • update.
    • update

Configuration notes

01Set up the Copper TriggerThe Copper Trigger is version 1 of the trigger node and it works by webhook, meaning n8n exposes a URL and Copper calls it. n8n registers that URL with Copper when you activate the workflow, so events arrive within seconds and nothing is polled on a timer.

The Copper Trigger is version 1 of the trigger node and it works by webhook, meaning n8n exposes a URL and Copper calls it. n8n registers that URL with Copper when you activate the workflow, so events arrive within seconds and nothing is polled on a timer.

Key parameters

  • Resource: required, and it decides which object the trigger listens to. One node watches one resource, so choose it before activating.
  • Event: the change you care about on that resource. There are 3 to choose from and no wildcard option, so a workflow that should react to several changes needs several selections or several trigger nodes.
When to use it
whenever the CRM is the source of truth and the rest of the stack should follow it, rather than the other way round. If the workflow starts somewhere else, a form or a schedule for instance, the plain Copper node is enough and no trigger is needed.
02NewFires when a new record is created on the selected resource. Copper posts the record to the n8n webhook URL as soon as it exists, whether it was typed in by hand, imported, or written by another workflow.

Fires when a new record is created on the selected resource. Copper posts the record to the n8n webhook URL as soon as it exists, whether it was typed in by hand, imported, or written by another workflow.

Key parameters

  • Resource: the object being created. Watching new companies and new people means two separate trigger nodes, one per object.
  • Event: pick new. It only covers creation, so a record edited five minutes later does not fire this event again.
Use cases
a fresh lead arrives and the workflow enriches it, assigns an owner and announces it in the sales channel. Or a company is created and the workflow immediately writes a line into the onboarding tracker so nothing is created twice by two people the same morning.
03UpdateFires when any field on an existing record changes. This is the busiest of the 3 events, because a CRM record gets touched far more often than it gets created.

Fires when any field on an existing record changes. This is the busiest of the 3 events, because a CRM record gets touched far more often than it gets created.

Key parameters

  • Event: pick update. It covers any field on the record, not one field in particular, so the workflow usually needs an If or Switch node right after to sort out what actually matters.
  • Resource: the object being edited. On opportunities this is what turns a stage change into a notification.
Use cases
a deal moves and finance hears about it the same minute. A person changes employer and the workflow refreshes the matching record with person.update. Expect real volume here, so filter as early in the workflow as you can, well before the notification step, to keep executions worth reading later.
04DeleteFires when an existing record is removed from Copper. The quietest of the 3 events, and the one that saves the most cleanup work later.

Fires when an existing record is removed from Copper. The quietest of the 3 events, and the one that saves the most cleanup work later.

Key parameters

  • Event: pick delete. It reports the removal, so the workflow has to react on what arrives rather than call the record back.
  • Resource: the object being removed, most often people or companies when a CRM cleanup is running.
Use cases
a contact is deleted in Copper and the workflow removes the matching row from the mailing list, so the next campaign does not go out to someone who asked to be forgotten. It also works as an audit trail: log every deletion to a spreadsheet and you always know what left the CRM and when.
Actions

What can the Copper node do?

The Copper node exposes 32 operations across 8 resources. For each one: the node as you configure it in n8n, the required fields, and our field notes.

Company

5 operations
01

Create a company

company.create

What you see in n8n

Notes & use cases

Adds a company to Copper and passes the created record to the next node.

Key parameters

  • Name: the only required field, the company name as it should read in the CRM. Map it from an earlier node with an expression like {{ $json.field }}.
  • Additional Fields: an optional block carrying Email Domain, Details, Address and Phone Numbers. The last two open as sub-blocks you fill line by line, via Add Address Fields and Add Phone Number.
Use cases
a business signup arrives with a company email, and the account exists in Copper before a salesperson has seen the form.
02

Delete a company

company.delete

What you see in n8n

Notes & use cases

Removes a company from Copper for good. Treat it as the end of a branch, not a step in the middle of one.

Key parameters

  • Company ID: required, and it is the Copper identifier, not the company name. If the workflow only knows the name, run Get Many with the Name filter first and pass the identifier along.
Use cases
a deduplication routine keeps the richest of two company records and deletes the empty duplicate, so reporting stops counting the same client twice.
03

Get a company

company.get

What you see in n8n

Notes & use cases

Reads a single company and returns its record, which is how a workflow gets the current state of an account instead of the state it had when the trigger fired.

Key parameters

  • Company ID: required. Coming out of the Copper Trigger or a previous read, it is usually mapped as an expression rather than typed in.
Use cases
before sending a quote, the workflow reloads the company to check its address and phone numbers are still the ones on file.
04

Get many companies

company.getAll

What you see in n8n

Notes & use cases

Lists companies in bulk, which is the operation behind exports, audits and any recurring account review.

Key parameters

  • Return All: on, n8n chains the API pages and brings back every company. Off, Limit sets how many records come back, which keeps test runs short.
  • Filters: Country picks the company country from a list of codes, and Name narrows to a company name.
Use cases
a monthly export of every company in one country, filtered by Country, feeds a territory review without anyone exporting a CSV by hand.
05

Update a company

company.update

What you see in n8n

Notes & use cases

Edits an existing company record. Only the fields you fill are sent, so the rest of the record stays untouched.

Key parameters

  • Company ID: required, and it says which record gets edited.
  • Update Fields: the optional block holding Name, Details, Address and Phone Numbers. Note that Email Domain is not part of this block, unlike the create side.
Use cases
an enrichment service returns a new head office address, and the workflow writes it back into Address so sales quotes stop going to the old site.

Customer Source

1 operation
06

Get many customer sources

customerSource.getAll

What you see in n8n

Notes & use cases

Returns the customer sources configured in Copper, the labels that record where a deal came from. It is the lookup you run before writing anything on an opportunity.

Key parameters

  • Return All: on, the full list comes back, which is usually what you want since there are rarely many. Off, Limit caps the number returned.
Use cases
the workflow reads the list once, matches the campaign name it received against it, and reuses the matching identifier in Customer Source ID when it creates the opportunity.

Lead

5 operations
07

Create a lead

lead.create

What you see in n8n

Notes & use cases

Writes a lead into Copper, the stage before a contact has been qualified into a person and a company.

Key parameters

  • Name: required. Anything else is optional, so an incomplete form can still land rather than being dropped.
  • Additional Fields: carries Email, Phone Numbers and Address, each opened through its own Add button.
Use cases
a webinar attendee list is looped through n8n, one lead created per row with Name and Email, and sales works a ready-made list on Monday morning.
08

Delete a lead

lead.delete

What you see in n8n

Notes & use cases

Erases a lead from Copper. Useful precisely because leads pile up faster than any other object in a CRM.

Key parameters

  • Lead ID: required. The identifier, not the lead name, so a cleanup workflow reads before it deletes.
Use cases
a quarterly hygiene routine reads leads that were never worked, checks them against a rule, and deletes the ones that match, keeping the pipeline count honest instead of flattering.
09

Get a lead

lead.get

What you see in n8n

Notes & use cases

Fetches one lead and hands its record to the next node. The read you place between a trigger and a decision.

Key parameters

  • Lead ID: required. Typically an expression such as {{ $json.field }} carrying the identifier from whatever ran before.
Use cases
an inbound reply comes in with a lead identifier attached, the workflow reloads the lead, and routing to the right sales rep happens on fresh data rather than on what the email guessed.
10

Get many leads

lead.getAll

What you see in n8n

Notes & use cases

Pulls leads in batches, filtered or not. This is the reading half of every lead scoring or nurturing workflow.

Key parameters

  • Return All: on for a complete export, off to stop at Limit.
  • Filters: here Country is a plain text field, the country name, not a code list like on companies. Name filters on the lead name.
Use cases
every morning the workflow pulls leads for one country, sends them through a scoring step, and only the ones above the bar reach a human.
11

Update a lead

lead.update

What you see in n8n

Notes & use cases

Changes a lead already in Copper, field by field, without rewriting the whole record.

Key parameters

  • Lead ID: required, the record to edit.
  • Update Fields: the widest of the lead blocks, with Name, Details, Email, Phone Numbers and Address. Details is where a scoring note or a call summary fits.
Use cases
a phone number gets verified by an external service and the workflow writes the clean version back into Phone Numbers, so the next call attempt actually connects.

Opportunity

5 operations
12

Create an opportunity

opportunity.create

What you see in n8n

Notes & use cases

Opens a deal in Copper and returns it, which is how a qualified conversation becomes a line in the pipeline.

Key parameters

  • Name: required, the deal name.
  • Primary Contact ID: optional, the identifier of the primary company attached to the deal.
  • Customer Source ID: optional, the identifier of the source that generated the opportunity. Read it first with Get Many on customer sources rather than hardcoding it.
Use cases
a demo request that passes qualification opens a deal automatically, already attached to the right account and the right source.
13

Delete an opportunity

opportunity.delete

What you see in n8n

Notes & use cases

Drops a deal from Copper. Rarely automated on its own, often the last step of a cleanup branch.

Key parameters

  • Opportunity ID: required. Get it from a previous read or from the trigger, never from the deal name.
Use cases
a test deal created during a workflow rehearsal gets removed at the end of the run, so the pipeline report on Monday shows real numbers and not the ones a staging run left behind.
14

Get an opportunity

opportunity.get

What you see in n8n

Notes & use cases

Loads one deal and returns its current record, including whatever has changed since the workflow last looked.

Key parameters

  • Opportunity ID: required, mapped from the trigger or from an earlier list operation.
Use cases
before a reminder goes out, the workflow reloads the deal and checks its name and attached contact, so nobody receives a nudge about something that was already renamed or reassigned.
15

Get many opportunities

opportunity.getAll

What you see in n8n

Notes & use cases

Returns deals in bulk. Pipeline reporting in n8n starts here, and so does anything that needs to look at more than one deal at a time.

Key parameters

  • Return All: on to walk every page of the pipeline, off to stop at Limit.
  • Filters: Company IDs and Customer Source IDs both take comma separated identifiers, so several accounts or several sources fit in one call.
Use cases
a weekly run filtered by Customer Source IDs shows which acquisition channel is actually filling the pipeline.
16

Update an opportunity

opportunity.update

What you see in n8n

Notes & use cases

Edits a deal in place, which is what moves a workflow from reading the pipeline to actually maintaining it.

Key parameters

  • Opportunity ID: required, the deal to edit.
  • Update Fields: Name, Primary Contact ID and Customer Source ID. The two identifiers let a workflow reattach a deal to another company or another source without anyone opening Copper.
Use cases
a deal was logged against the wrong source, and a correction workflow rewrites Customer Source ID in bulk so channel reporting stops lying.

Person

5 operations
17

Create a person

person.create

What you see in n8n

Notes & use cases

Adds a contact to Copper. The most used write of the whole node, and the one most workflows end on.

Key parameters

  • Name: required, the contact name.
  • Additional Fields: the richest optional block of the node, with Emails, Phone Numbers, Address, Email Domain and Details. Emails and Phone Numbers accept several entries through Add Email and Add Phone Number.
Use cases
a contact form submission becomes a person in Copper with both a work and a personal email stored from the start.
18

Delete a person

person.delete

What you see in n8n

Notes & use cases

Removes a contact from Copper permanently. No confirmation step, so gate it behind a condition in the workflow.

Key parameters

  • Person ID: required, the Copper identifier of the contact.
Use cases
an erasure request arrives, the workflow finds the contact with Get Many filtered on Name, then deletes it and logs the identifier elsewhere so the request can be proven as handled.
19

Get a person

person.get

What you see in n8n

Notes & use cases

Reads one contact and returns the record, which makes it the natural first step after any trigger that only hands over an identifier.

Key parameters

  • Person ID: required. An expression like {{ $json.field }} is the usual way to pass it from the node before.
Use cases
an update event fires, the workflow reloads the person, and a message goes out only if the record actually carries the phone numbers the next step needs.
20

Get many people

person.getAll

What you see in n8n

Notes & use cases

Lists contacts, the read behind every synchronization between Copper and a mailing tool or a spreadsheet.

Key parameters

  • Return All: on, every contact comes back page after page. Off, Limit decides how many, which matters on a contact book that has grown for years.
  • Filters: a single Name filter, so narrowing happens on the contact name and nothing else.
Use cases
a nightly run exports contacts into a spreadsheet, and marketing works from a list that was accurate this morning.
21

Update a person

person.update

What you see in n8n

Notes & use cases

Rewrites the fields you choose on an existing contact and leaves the others alone.

Key parameters

  • Person ID: required, the contact to edit.
  • Update Fields: the largest block in the node, with Name, Emails, Phone Numbers, Address, Email Domain and Details. Sending an empty block does nothing, which is a safe default when a branch is unsure.
Use cases
a bounced email is detected, and the workflow writes the replacement into Emails plus a short line in Details explaining why it changed.

Project

5 operations
22

Create a project

project.create

What you see in n8n

Notes & use cases

Copper gets a new project record built from data already moving through the workflow, so a signed deal turns into a delivery folder without anyone retyping it.

Key parameters

  • Name: required, the name the project is created with. Pull it from the incoming item with an expression such as {{ $json.field }} when it comes from a form or a spreadsheet row.
  • Additional Fields: optional extras applied at creation. Assignee ID is the ID of the user who will own the project, Details carries the description, and Status accepts Open or Completed.
Use cases
a consultancy opens a delivery project the moment a quote is accepted, already assigned to the consultant who will run it.
23

Delete a project

project.delete

What you see in n8n

Notes & use cases

Cleanup runs through this one: it removes a single project from Copper, which keeps test records and duplicated folders out of everyone's view.

Key parameters

  • Project ID: required, the ID of the project to delete. Copper expects the identifier here, not the project name, so read it from a previous step instead of typing a label.
Use cases
a monthly housekeeping workflow that walks through the projects an upstream check flagged as duplicates and clears them one by one.
24

Get a project

project.get

What you see in n8n

Notes & use cases

When a workflow only carries an identifier, this operation reads the matching project back from Copper so the next steps have something to work with.

Key parameters

  • Project ID: required, the ID of the project to retrieve. It usually arrives from the trigger, the node that starts the workflow, or from a lookup run a step earlier.
Use cases
a Slack command where someone types a project identifier and gets the project posted back in the channel, without a CRM seat of their own.
25

Get many projects

project.getAll

What you see in n8n

Notes & use cases

Reporting starts here. The operation lists the projects held in Copper, either the full set or a capped batch, and hands them to the rest of the workflow one item at a time.

Key parameters

  • Return All: switched on, n8n chains through the API pages until every project has come back; switched off, Limit sets the maximum number of projects returned.
  • Filters: the Name filter narrows the list to projects matching that name, which beats pulling everything and sorting it downstream.
Use cases
a Monday morning export of the project list into a spreadsheet the operations lead reviews.
26

Update a project

project.update

What you see in n8n

Notes & use cases

A project lives for weeks and its details move. This operation writes onto a project that already exists in Copper, so the CRM follows the delivery instead of describing its first day.

Key parameters

  • Project ID: required, the ID of the project to update.
  • Update Fields: only what you fill in gets written. Name renames the project, Details replaces the description, Assignee ID hands ownership to another user, and Status moves it between Open and Completed.
Use cases
a project flipped to Completed as soon as the final invoice is marked paid in the billing tool.

Task

5 operations
27

Create a task

task.create

What you see in n8n

Notes & use cases

Follow-up work lands in the CRM instead of somebody's inbox: the operation adds a task to Copper from whatever the workflow just produced.

Key parameters

  • Name: required, the text of the task itself. Keep it readable, it is what the assignee sees in Copper.
  • Additional Fields: Assignee ID for the user who will own the task, Details for the longer description, Priority set to High or None, and Status set to Open or Completed.
Use cases
every inbound demo request creates a call-back task on the right rep, marked High.
28

Delete a task

task.delete

What you see in n8n

Notes & use cases

A task leaves Copper here, one call per identifier, which is what an automated tidy-up needs when two workflows fire on the same event and both create the same reminder.

Key parameters

  • Task ID: required, the ID of the task to delete. Feed it from the step that found the task, since Copper matches on the identifier and not on the task name.
Use cases
a nightly run that clears the reminder tasks attached to deals closed during the day.
29

Get a task

task.get

What you see in n8n

Notes & use cases

Reading a single task back is useful before deciding anything: the operation returns the task matching the identifier it is given.

Key parameters

  • Task ID: required, the ID of the task to retrieve, usually carried over from the trigger output or from a list step run just before.
Use cases
a check placed ahead of a reminder, so the workflow stops quietly when the task has already been handled that morning.
30

Get many tasks

task.getAll

What you see in n8n

Notes & use cases

Batches of tasks come out of Copper through this operation, which is how workload reviews and daily digests get their raw material.

Key parameters

  • Return All: on, n8n keeps requesting pages until the whole task list is returned; off, Limit caps how many tasks come back in one run.
  • Filters: Assignee IDs and Project IDs both take comma-separated identifiers, so a single node can cover one team or one delivery project.
Use cases
a Friday digest listing the open tasks of each account manager, sent as one message per person.
31

Update a task

task.update

What you see in n8n

Notes & use cases

Reassignment, renaming and status changes all go through this operation, which edits a task already stored in Copper.

Key parameters

  • Task ID: required, the ID of the task to update.
  • Update Fields: Assignee ID moves ownership to another user, Name and Details rewrite the task text and its description, Priority takes High or None, and Status takes Open or Completed.
Use cases
a rep goes on leave and the tasks they own are reassigned in one pass, then bumped to High for the week.

User

1 operation
32

Get many users

user.getAll

What you see in n8n

Notes & use cases

The people side of the account shows up here: the operation lists the users of the Copper account the credential opens, a credential being the saved connection you create once in n8n.

Key parameters

  • Return All: on, every user comes back; off, Limit decides how many the node returns in one execution.
Use cases
a small workflow run once, storing the Copper user list in a spreadsheet so later workflows know which people can own tasks and projects.
Need help

Need help automating Copper with n8n?

A person reads every message.

FAQ

Copper and n8n, the questions that come next

01Is the Copper n8n integration free?
Yes on the n8n side. The Copper node and the Copper Trigger ship with n8n, so there is nothing to install and nothing extra to pay, whether you run n8n Cloud or self-host the Community Edition under its Sustainable Use license. A workflow behaves the same way in both setups, which means you can build on your own instance and move it later. On the Copper side, the credential does require an account on the Professional or Business plan, because that is where API key generation lives. What Copper itself costs is a question for Copper.
02What credentials do you need to connect Copper to n8n?
One credential, built from two values. The first is an API Key generated from your Copper account, documented in the Copper support article on generating an API key. The second is an Email, and it has to be the address of the user who created that key rather than a generic inbox. Copper only supports API key authentication for this node, so there is no OAuth flow and no scope list to review. Create the credential once in the Credentials menu and both the Copper node and the Copper Trigger will find it in their dropdown, across every workflow on the instance.
03What are the limits of the Copper node in n8n?
Two worth planning for. The first is volume: list operations return a capped batch unless Return All is switched on, in which case n8n chains the API pages for you. Leave Limit in place while testing, switch Return All on when you need a complete export. The second is scope: the node exposes 32 operations across 8 resources, and anything beyond that catalog goes through the HTTP Request node, which calls any Copper API endpoint while reusing the credential you already saved. Also keep in mind that a required field left empty stops the node from executing at all.
04Does the Copper Trigger react in real time?
Yes. The Copper Trigger works by webhook, which means n8n exposes a URL and Copper calls it whenever something happens. n8n registers that URL with Copper when you activate the workflow, so events land within seconds and nothing is checked on a timer. Practically, that gives you two things: reactions that feel instant to the people watching, and no wasted executions on quiet afternoons. The node covers 3 events, new, update and delete, and there is no wildcard option, so each trigger is set on one resource and the events you pick.
05n8n or Make for automating Copper?
It depends on where you want the data to sit. Make is a hosted platform with no self-hosting option and it bills per operation, so a chatty CRM workflow gets more expensive as it gets busier. n8n runs either on n8n Cloud or on your own server, which matters when the records moving through the workflow are customer data your company is accountable for. Both give you a visual canvas, so the choice is rarely about drawing boxes. Look at hosting, at who holds the data, at the cost model as volume grows, and at how comfortable your team is with code inside a workflow.