Copper

Connect your AI agents to 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 Enterprise pipeline that have not moved stages in 30 days

Available Tools

list_activities

Search activities, optionally scoped to one record with parent; this is how you read a contact’s history. Set…

get_activity

Fetch one activity by ID, including its type, the record it belongs to and its text body. Use list_activities to…

create_activity

Log an activity (note, call, meeting) against a record. Copper requires a type, a parent and details. Call…

update_activity

Update a logged activity’s text or date. Copper requires the type on every update even when unchanged; call…

delete_activity

Permanently delete a logged activity by ID. This cannot be undone. Only ‘user’ category activities can be deleted…

bulk_create_activities

Log up to 10 activities in one call, each with a type, a parent and details. Call list_activity_types first for…

list_companies

Search companies with server-side filters (name, email domains, assignee, contact type, tags, location, interaction…

get_company

Fetch one company by ID, including address, websites, tags and custom fields. Use list_companies to find the ID.

create_company

Create a company. Only a name is required. email_domain must be unique across the account or the call fails. Call…

update_company

Update a company by ID. Only the fields you supply change, but list fields such as websites and tags replace the…

delete_company

Permanently delete a company by ID. This cannot be undone and does not delete the people linked to it. Use…

bulk_create_companies

Create up to 10 companies in one call. Copper answers 200 even when individual records fail, so check the per-record…

bulk_update_companies

Update up to 10 companies in one call, each identified by company_id. Copper answers 200 even when individual…

list_leads

Search leads with server-side filters (name, emails, company, status, source, assignee, tags, location and value…

get_lead

Fetch one lead by ID, including email, company name, status, value and custom fields. Use list_leads to find the ID.

create_lead

Create a lead. Only a name is required. Call list_lead_statuses, list_customer_sources, list_users and…

update_lead

Update a lead by ID; change its status, owner, value or details. Only the fields you supply change, but list fields…

delete_lead

Permanently delete a lead by ID. This cannot be undone; to qualify a lead instead, use convert_lead. Use list_leads…

convert_lead

Convert a qualified lead into a person, and optionally a company and an opportunity. The lead is consumed and can no…

bulk_create_leads

Create up to 10 leads in one call. Copper answers 200 even when individual records fail, so check the per-record…

bulk_update_leads

Update up to 10 leads in one call, each identified by lead_id. Copper answers 200 even when individual records fail…

get_account

Fetch the Copper account this credential belongs to: its ID, name, timezone and which optional modules are enabled…

list_users

List the users in the Copper account. Call this first to get the user IDs that assignee_id takes on every create and…

list_pipelines

List the opportunity pipelines in the account. Call this to get the pipeline_id that create_opportunity and…

get_pipeline

Get one opportunity pipeline by ID, including its stages and whether it tracks revenue. Use this when list_pipelines…

list_pipeline_stages

List every opportunity pipeline stage in the account, each naming the pipeline it belongs to. Call this to get the…

list_activity_types

List the activity types in the account, split into the ‘user’ types an integration may write and the read-only…

list_contact_types

List the contact types in the account, e.g. ‘Potential Customer’. Call this to get the contact_type_id that…

list_customer_sources

List the customer sources in the account, e.g. ‘Cold Call’. Call this to get the customer_source_id that…

list_loss_reasons

List the loss reasons in the account. Call this to get the loss_reason_id to pass to update_opportunity when setting…

list_lead_statuses

List the lead statuses in the account. Call this to get the status_id that create_lead and update_lead take. Fails…

list_custom_field_definitions

List the custom field definitions configured on the account, with each field’s data type, the entities it applies…

list_tags

List the tags already in use across the account. Call this before setting tags on a record so you reuse an existing…

list_opportunities

Search opportunities with server-side filters (pipeline, stage, status, priority, assignee, company, value…

get_opportunity

Fetch one opportunity by ID, including pipeline, stage, value, status and custom fields. Use list_opportunities to…

create_opportunity

Create an opportunity. Copper requires a name and a primary_contact_id; use list_people or get_person_by_email to…

update_opportunity

Update an opportunity by ID; move it to another stage, change its value, or close it by setting status to Won or…

delete_opportunity

Permanently delete an opportunity by ID. This cannot be undone; to close a deal instead, use update_opportunity with…

bulk_create_opportunities

Create up to 10 opportunities in one call. Each needs a name and a primary_contact_id. Copper answers 200 even when…

list_people

Search people with server-side filters (name, emails, company, assignee, contact type, tags, location, interaction…

get_person

Fetch one person by ID, including emails, phone numbers, company, tags and custom fields. Use list_people or…

get_person_by_email

Fetch one person by their exact email address. Use this when you have an email and need the person’s ID; use…

create_person

Create a person. Only a name is required. Call list_contact_types, list_users, list_companies and…

update_person

Update a person by ID. Only the fields you supply change; omitted fields are left alone, but list fields such as…

delete_person

Permanently delete a person by ID. This cannot be undone. Use list_people to find the ID and confirm the record…

bulk_create_people

Create up to 10 people in one call. Copper answers 200 even when individual records fail, so check the per-record…

bulk_update_people

Update up to 10 people in one call, each identified by person_id. Copper answers 200 even when individual records…

list_projects

Search projects with server-side filters (name, assignee, status, tags and created/modified date ranges) and…

get_project

Fetch one project by ID, including its assignee, status, tags and custom fields. Use list_projects to find the ID.

create_project

Create a project. Only a name is required. Set an owner with assignee_id from list_users, and use…

update_project

Update a project by ID; reassign it, rename it, or close it by setting status to Completed. Only the fields you…

delete_project

Permanently delete a project by ID. This cannot be undone; to close a project instead, use update_project with…

list_related_items

List the records linked to one record; for example every opportunity and project attached to a person. Narrow with…

relate_record

Link two existing records, e.g. attach an opportunity to a person. Both must already exist; this creates the link…

unrelate_record

Remove the link between two records. The records themselves are not deleted, only the relationship…

list_tasks

Search tasks with server-side filters (assignee, status, priority, the project or opportunity a task hangs off…

get_task

Fetch one task by ID, including its assignee, status, due date and the record it is attached to. Use list_tasks to…

create_task

Create a task. Only a name is required. Attach it to a record with related_resource, and set an owner with…

update_task

Update a task by ID; reassign it, change its due date, or close it by setting status to Completed. Only the fields…

delete_task

Permanently delete a task by ID. This cannot be undone; to close a task instead, use update_task with status…

list_webhooks

List the webhook subscriptions registered on the account, each with the entity type and event it watches and the URL…

get_webhook

Fetch one webhook subscription by ID, including its target URL, watched entity type and event. Use list_webhooks to…

create_webhook

Register a webhook subscription so Copper posts to your URL when a record changes. The target must already be a live…

update_webhook

Update a webhook subscription by ID: its target URL, secret, or custom_field_computed_values. Copper cannot change…

delete_webhook

Delete a webhook subscription by ID. Copper stops posting notifications immediately. Use list_webhooks to find the ID.