Copper
Authentication: email and API key. See Magic Link for the runtime auth flow.
Sample use cases
- Find the person record for
[email protected]and log a call activity against it - Convert a qualified lead into a person, company, and opportunity in one step
- List opportunities in the
Enterprisepipeline that have not moved stages in 30 days
Available Tools
Search activities, optionally scoped to one record with parent; this is how you read a contact’s history. Set…
Fetch one activity by ID, including its type, the record it belongs to and its text body. Use list_activities to…
Log an activity (note, call, meeting) against a record. Copper requires a type, a parent and details. Call…
Update a logged activity’s text or date. Copper requires the type on every update even when unchanged; call…
Permanently delete a logged activity by ID. This cannot be undone. Only ‘user’ category activities can be deleted…
Log up to 10 activities in one call, each with a type, a parent and details. Call list_activity_types first for…
Search companies with server-side filters (name, email domains, assignee, contact type, tags, location, interaction…
Fetch one company by ID, including address, websites, tags and custom fields. Use list_companies to find the ID.
Create a company. Only a name is required. email_domain must be unique across the account or the call fails. Call…
Update a company by ID. Only the fields you supply change, but list fields such as websites and tags replace the…
Permanently delete a company by ID. This cannot be undone and does not delete the people linked to it. Use…
Create up to 10 companies in one call. Copper answers 200 even when individual records fail, so check the per-record…
Update up to 10 companies in one call, each identified by company_id. Copper answers 200 even when individual…
Search leads with server-side filters (name, emails, company, status, source, assignee, tags, location and value…
Fetch one lead by ID, including email, company name, status, value and custom fields. Use list_leads to find the ID.
Create a lead. Only a name is required. Call list_lead_statuses, list_customer_sources, list_users and…
Update a lead by ID; change its status, owner, value or details. Only the fields you supply change, but list fields…
Permanently delete a lead by ID. This cannot be undone; to qualify a lead instead, use convert_lead. Use list_leads…
Convert a qualified lead into a person, and optionally a company and an opportunity. The lead is consumed and can no…
Create up to 10 leads in one call. Copper answers 200 even when individual records fail, so check the per-record…
Update up to 10 leads in one call, each identified by lead_id. Copper answers 200 even when individual records fail…
Fetch the Copper account this credential belongs to: its ID, name, timezone and which optional modules are enabled…
List the users in the Copper account. Call this first to get the user IDs that assignee_id takes on every create and…
List the opportunity pipelines in the account. Call this to get the pipeline_id that create_opportunity and…
Get one opportunity pipeline by ID, including its stages and whether it tracks revenue. Use this when list_pipelines…
List every opportunity pipeline stage in the account, each naming the pipeline it belongs to. Call this to get the…
List the activity types in the account, split into the ‘user’ types an integration may write and the read-only…
List the contact types in the account, e.g. ‘Potential Customer’. Call this to get the contact_type_id that…
List the customer sources in the account, e.g. ‘Cold Call’. Call this to get the customer_source_id that…
List the loss reasons in the account. Call this to get the loss_reason_id to pass to update_opportunity when setting…
List the lead statuses in the account. Call this to get the status_id that create_lead and update_lead take. Fails…
List the custom field definitions configured on the account, with each field’s data type, the entities it applies…
List the tags already in use across the account. Call this before setting tags on a record so you reuse an existing…
Search opportunities with server-side filters (pipeline, stage, status, priority, assignee, company, value…
Fetch one opportunity by ID, including pipeline, stage, value, status and custom fields. Use list_opportunities to…
Create an opportunity. Copper requires a name and a primary_contact_id; use list_people or get_person_by_email to…
Update an opportunity by ID; move it to another stage, change its value, or close it by setting status to Won or…
Permanently delete an opportunity by ID. This cannot be undone; to close a deal instead, use update_opportunity with…
Create up to 10 opportunities in one call. Each needs a name and a primary_contact_id. Copper answers 200 even when…
Search people with server-side filters (name, emails, company, assignee, contact type, tags, location, interaction…
Fetch one person by ID, including emails, phone numbers, company, tags and custom fields. Use list_people or…
Fetch one person by their exact email address. Use this when you have an email and need the person’s ID; use…
Create a person. Only a name is required. Call list_contact_types, list_users, list_companies and…
Update a person by ID. Only the fields you supply change; omitted fields are left alone, but list fields such as…
Permanently delete a person by ID. This cannot be undone. Use list_people to find the ID and confirm the record…
Create up to 10 people in one call. Copper answers 200 even when individual records fail, so check the per-record…
Update up to 10 people in one call, each identified by person_id. Copper answers 200 even when individual records…
Search projects with server-side filters (name, assignee, status, tags and created/modified date ranges) and…
Fetch one project by ID, including its assignee, status, tags and custom fields. Use list_projects to find the ID.
Create a project. Only a name is required. Set an owner with assignee_id from list_users, and use…
Update a project by ID; reassign it, rename it, or close it by setting status to Completed. Only the fields you…
Permanently delete a project by ID. This cannot be undone; to close a project instead, use update_project with…
List the records linked to one record; for example every opportunity and project attached to a person. Narrow with…
Link two existing records, e.g. attach an opportunity to a person. Both must already exist; this creates the link…
Remove the link between two records. The records themselves are not deleted, only the relationship…
Search tasks with server-side filters (assignee, status, priority, the project or opportunity a task hangs off…
Fetch one task by ID, including its assignee, status, due date and the record it is attached to. Use list_tasks to…
Create a task. Only a name is required. Attach it to a record with related_resource, and set an owner with…
Update a task by ID; reassign it, change its due date, or close it by setting status to Completed. Only the fields…
Permanently delete a task by ID. This cannot be undone; to close a task instead, use update_task with status…
List the webhook subscriptions registered on the account, each with the entity type and event it watches and the URL…
Fetch one webhook subscription by ID, including its target URL, watched entity type and event. Use list_webhooks to…
Register a webhook subscription so Copper posts to your URL when a record changes. The target must already be a live…
Update a webhook subscription by ID: its target URL, secret, or custom_field_computed_values. Copper cannot change…
Delete a webhook subscription by ID. Copper stops posting notifications immediately. Use list_webhooks to find the ID.