---
canonical_url: "https://docs.composio.dev/toolkits/copper"
markdown_url: "https://docs.composio.dev/toolkits/copper.md"
product: "platform"
version: null
last_updated: null
---

# Copper

Copper is a customer relationship management platform for managing contacts, companies, leads, opportunities, projects, tasks, activities, files, and webhooks.

- **Category:** crm
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 65
- **Triggers:** 0
- **Slug:** `COPPER`
- **Version:** 00000000_00

## Tools

### Bulk Create Activities (Beta)

**Slug:** `COPPER_BULK_CREATE_ACTIVITIES`

Attempt to create 1-10 user-category Copper activities and return ordered per-item successes or validation failures. Deleting these activities is a soft delete: successful cleanup may leave an activity fetchable as an is_deleted=true stub rather than make it fully disappear. This Copper bulk endpoint is beta, accepts 1-10 records per request, returns results in request order, and has an additional limit of 3 requests per second.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `activities` | array | Yes | User-category activities to create in order. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Create Companies (Beta)

**Slug:** `COPPER_BULK_CREATE_COMPANIES`

Attempt to create 1-10 Copper companies and return ordered per-item successes or validation failures. This Copper bulk endpoint is beta, accepts 1-10 records per request, returns results in request order, and has an additional limit of 3 requests per second.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companies` | array | Yes | Companies to create in order; each uses Copper's single-company create fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Create Leads

**Slug:** `COPPER_BULK_CREATE_LEADS`

Create 1-10 Copper leads in one beta bulk request and return ordered per-item outcomes. Copper can return HTTP 500 after applying the write; treat failures as indeterminate and read records back before retrying to avoid duplicates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `leads` | array | Yes | Between 1 and 10 leads to create. Results preserve this ordering. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Create Opportunities (Beta)

**Slug:** `COPPER_BULK_CREATE_OPPORTUNITIES`

Attempt to create 1-10 Copper opportunities and return ordered per-item successes or validation failures. This Copper bulk endpoint is beta, accepts 1-10 records per request, returns results in request order, and has an additional limit of 3 requests per second.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `opportunities` | array | Yes | Opportunities to create in order; each uses Copper's single-opportunity create fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Create People (Beta)

**Slug:** `COPPER_BULK_CREATE_PEOPLE`

Attempt to create 1-10 Copper people and return ordered per-item successes or validation failures. This Copper bulk endpoint is beta, accepts 1-10 records per request, returns results in request order, and has an additional limit of 3 requests per second.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `people` | array | Yes | People to create in order; each uses Copper's single-person create fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Update Companies (Beta)

**Slug:** `COPPER_BULK_UPDATE_COMPANIES`

Attempt to update 1-10 Copper companies and return ordered per-item successes or validation failures. This Copper bulk endpoint is beta, accepts 1-10 records per request, returns results in request order, and has an additional limit of 3 requests per second.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `companies` | array | Yes | Companies to update in order. Each item requires its ID; omitted fields remain unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Update Leads

**Slug:** `COPPER_BULK_UPDATE_LEADS`

Update 1-10 Copper leads in one beta bulk request and return ordered per-item outcomes. Copper can return HTTP 500 after applying the write; treat failures as indeterminate and read records back before retrying.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `leads` | array | Yes | Between 1 and 10 lead updates. Results preserve this ordering. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk Update People (Beta)

**Slug:** `COPPER_BULK_UPDATE_PEOPLE`

Attempt to update 1-10 Copper people and return ordered per-item successes or validation failures. This Copper bulk endpoint is beta, accepts 1-10 records per request, returns results in request order, and has an additional limit of 3 requests per second.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `people` | array | Yes | People to update in order. Each item requires its ID; omitted fields remain unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Convert Lead

**Slug:** `COPPER_CONVERT_LEAD`

Convert a Copper lead into a person and optionally a company and opportunity; the original lead is removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `details` | object | Yes | Person and optional company and opportunity conversion details. |
| `lead_id` | integer | Yes | Copper lead ID to convert and remove. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Activity

**Slug:** `COPPER_CREATE_ACTIVITY`

Create a user-category activity such as a note on an existing Copper lead, person, company, opportunity, project, or task; system activities are read-only.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `parent` | object | Yes | Existing Copper record that will own the activity. |
| `details` | string | Yes | Activity text or note content. |
| `activity_date` | integer | No | Activity time as Unix seconds; omit to use Copper's default. |
| `activity_type_id` | integer | Yes | ID of a user-category activity type; system activity types are read-only. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Company

**Slug:** `COPPER_CREATE_COMPANY`

Create a Copper company with domain, contact, ownership, tag, and custom-field data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Company name. |
| `tags` | array | No | Tag names to assign to the company. |
| `address` | object | No | Postal address for the company. |
| `details` | string | No | Free-form company notes. |
| `socials` | array | No | Social profile URLs and their Copper categories. |
| `websites` | array | No | Website URLs and their Copper categories. |
| `assignee_id` | integer | No | Copper user ID responsible for the company. |
| `email_domain` | string | No | Unique company email domain; omit when unknown to avoid uniqueness conflicts. |
| `custom_fields` | array | No | Custom-field definition IDs and values to assign to the company. |
| `phone_numbers` | array | No | Phone numbers and their Copper categories. |
| `contact_type_id` | integer | No | Contact type ID for the company. |
| `primary_contact_id` | integer | No | Existing Copper person ID to set as primary contact. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Custom Activity Type

**Slug:** `COPPER_CREATE_CUSTOM_ACTIVITY_TYPE`

Create a named Copper custom activity type with a supported icon. Custom activity types cannot be deleted; retire one with UPDATE_CUSTOM_ACTIVITY_TYPE using is_disabled=true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the custom activity type. |
| `icon_type` | string ("Message" | "Phone" | "Event" | "Assignment" | "Assessment" | "Group" | "Description" | "Speaker Notes" | "Forum" | "Web" | "Loyalty" | "Content Paste" | "Headset" | "Share" | "Navigation" | "Notification" | "Voicemail" | "Room" | "Edit" | "Send" | "Videocam" | "Play Arrow" | "Grocery Store" | "Mic" | "Camera Mic" | "Todo") | Yes | Copper icon to display for this activity type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Custom Field Definition

**Slug:** `COPPER_CREATE_CUSTOM_FIELD_DEFINITION`

Create a Copper custom field for selected record types.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the custom-field definition. |
| `options` | array | No | Options in display order. Required with at least one item for Dropdown and at least two items for MultiSelect. |
| `currency` | string | No | Three-letter currency code for a Currency field, such as USD or CAD. |
| `data_type` | string ("Checkbox" | "Currency" | "Date" | "Dropdown" | "Float" | "MultiSelect" | "Percentage" | "String" | "Text" | "URL") | Yes | Copper custom-field data type. |
| `available_on` | array | No | Record types on which this custom field is available. |
| `is_filterable` | boolean | No | Whether this field can be used in Copper filters. |
| `canonical_name` | string | No | Unique workflow field key; Copper lowercases it when creating the field. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Lead

**Slug:** `COPPER_CREATE_LEAD`

Create a Copper lead with contact, ownership, source, status, tag, and custom-field data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Full name of the lead. |
| `tags` | array | No | Tag names assigned to the lead. |
| `email` | object | No | Lead's email address and category. |
| `title` | string | No | Professional title of the lead. |
| `address` | object | No | Lead postal address. |
| `details` | string | No | Free-form lead details. |
| `socials` | array | No | Lead social profiles and categories. |
| `websites` | array | No | Lead websites and categories. |
| `status_id` | integer | No | Lead status ID from List Lead Statuses. |
| `assignee_id` | integer | No | Copper user ID assigned to the lead. |
| `company_name` | string | No | Lead's company name. |
| `custom_fields` | array | No | Custom-field IDs and values to set. |
| `phone_numbers` | array | No | Lead phone numbers and categories. |
| `monetary_value` | number | No | Expected monetary value of business with the lead. |
| `customer_source_id` | integer | No | Customer source ID that generated the lead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Opportunity

**Slug:** `COPPER_CREATE_OPPORTUNITY`

Create a Copper opportunity. Only the name is required; Copper can supply the default pipeline and stage, and the primary contact is optional.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Opportunity name. |
| `tags` | array | No | Tag names to assign. |
| `status` | string ("Open" | "Won" | "Lost" | "Abandoned") | No | Opportunity status. |
| `details` | string | No | Free-form opportunity notes. |
| `priority` | string ("None" | "Low" | "Medium" | "High") | No | Opportunity priority. |
| `close_date` | string | No | Expected close date in the Copper date format configured for the account. |
| `company_id` | integer | No | Existing Copper company ID associated with the opportunity. |
| `assignee_id` | integer | No | Copper user ID responsible for the opportunity. |
| `pipeline_id` | integer | No | Pipeline ID; resolve with COPPER_LIST_PIPELINES. |
| `custom_fields` | array | No | Custom-field definition IDs and values to assign to the opportunity. |
| `loss_reason_id` | integer | No | Copper loss-reason ID to assign. |
| `monetary_value` | string | No | Opportunity monetary value in the format used by the connected Copper account. |
| `win_probability` | integer | No | Win probability percentage from 0 to 100. |
| `pipeline_stage_id` | integer | No | Stage ID belonging to pipeline_id; resolve with COPPER_LIST_PIPELINES. |
| `customer_source_id` | integer | No | Copper customer-source ID to assign. |
| `primary_contact_id` | integer | No | Optional existing Copper person ID to use as the primary contact. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Person

**Slug:** `COPPER_CREATE_PERSON`

Create a Copper person with contact, company, ownership, tag, and custom-field data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Full name of the person. |
| `tags` | array | No | Tag names to assign. |
| `title` | string | No | Job title. |
| `emails` | array | No | Email addresses and their Copper categories. |
| `address` | object | No | Postal address accepted by Copper. |
| `details` | string | No | Free-form notes about the person. |
| `socials` | array | No | Social profile URLs and their Copper categories. |
| `websites` | array | No | Website URLs and their Copper categories. |
| `company_id` | integer | No | Existing Copper company ID to associate. |
| `assignee_id` | integer | No | Copper user ID responsible for the person. |
| `custom_fields` | array | No | Custom-field definition IDs and values to set. |
| `phone_numbers` | array | No | Phone numbers and their Copper categories. |
| `contact_type_id` | integer | No | Contact type ID; omit to use the account default. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Project

**Slug:** `COPPER_CREATE_PROJECT`

Create a Copper project, optionally related to another record and assigned to a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Project name. |
| `tags` | array | No | Tag names to assign to the project. |
| `status` | string ("Open" | "Completed") | No | Initial project status. |
| `details` | string | No | Free-form project notes. |
| `assignee_id` | integer | No | Copper user ID responsible for the project. |
| `custom_fields` | array | No | Custom-field definition IDs and values to assign to the project. |
| `related_resource` | object | No | Copper record to relate to the project; include both its ID and singular type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Related Link

**Slug:** `COPPER_CREATE_RELATED_LINK`

Connect two existing Copper records through a Connect custom field.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source` | object | Yes | Existing Copper source record to connect. |
| `target` | object | Yes | Existing Copper target record to connect. |
| `custom_field_definition_id` | integer | Yes | ID of the Copper Connect custom-field definition. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Task

**Slug:** `COPPER_CREATE_TASK`

Create a Copper task with optional assignment, related record, due/reminder times, priority, tags, and custom fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Task name. |
| `tags` | array | No | Tag names to assign to the task. |
| `status` | string ("Open" | "Completed") | No | Initial task status. |
| `details` | string | No | Free-form task notes. |
| `due_date` | integer | No | Due time as 10-digit Unix seconds. |
| `priority` | string ("None" | "Low" | "Medium" | "High") | No | Task priority. |
| `assignee_id` | integer | No | Copper user ID responsible for the task. |
| `custom_fields` | array | No | Custom-field definition IDs and values to assign to the task. |
| `reminder_date` | integer | No | Reminder time as 10-digit Unix seconds. |
| `related_resource` | object | No | Copper record to relate to the task; include both its ID and singular type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Attached File

**Slug:** `COPPER_DELETE_ATTACHED_FILE`

Permanently delete one file attached to a Copper lead, person, opportunity, company, or project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | integer | Yes | Copper ID of the attached file. |
| `entity_id` | integer | Yes | Copper ID of the record within entity_type. |
| `entity_type` | string ("leads" | "people" | "opportunities" | "companies" | "projects") | Yes | Copper collection containing the record: leads, people, opportunities, companies, or projects. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Custom Field Definition

**Slug:** `COPPER_DELETE_CUSTOM_FIELD_DEFINITION`

Permanently delete one Copper custom-field definition by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `custom_field_definition_id` | integer | Yes | Copper custom-field definition ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Lead

**Slug:** `COPPER_DELETE_LEAD`

Permanently delete one Copper lead by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead_id` | integer | Yes | Copper lead ID to permanently delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Record

**Slug:** `COPPER_DELETE_RECORD`

Delete one Copper person, company, opportunity, project, task, or activity by type and ID. Deleting an activity is a soft delete: successful cleanup may leave it fetchable as an is_deleted=true stub rather than make it fully disappear.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `record_id` | integer | Yes | Copper ID of the record to delete within record_type. |
| `record_type` | string ("people" | "companies" | "opportunities" | "projects" | "tasks" | "activities") | Yes | Copper collection containing the record to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Related Link

**Slug:** `COPPER_DELETE_RELATED_LINK`

Delete one Copper Connect-field connection by related-link ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `related_link_id` | integer | Yes | Copper related-link connection ID to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account

**Slug:** `COPPER_GET_ACCOUNT`

Return the connected Copper account, timezone, and feature settings; use it to preflight features such as Leads.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Attached File Metadata

**Slug:** `COPPER_GET_ATTACHED_FILE_METADATA`

Get metadata for one file attached to a Copper lead, person, opportunity, company, or project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | integer | Yes | Copper ID of the attached file. |
| `entity_id` | integer | Yes | Copper ID of the record within entity_type. |
| `entity_type` | string ("leads" | "people" | "opportunities" | "companies" | "projects") | Yes | Copper collection containing the record: leads, people, opportunities, companies, or projects. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Current User

**Slug:** `COPPER_GET_CURRENT_USER`

Return the Copper user represented by the connected account, including the user ID used for assignments.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Custom Activity Type

**Slug:** `COPPER_GET_CUSTOM_ACTIVITY_TYPE`

Return one Copper custom activity type's name, icon, enabled state, interaction behavior, and ownership metadata by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `custom_activity_type_id` | integer | Yes | Copper custom activity-type ID to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Custom Field Definition

**Slug:** `COPPER_GET_CUSTOM_FIELD_DEFINITION`

Return one Copper custom field's data type, record availability, filterability, options, and currency configuration by definition ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `custom_field_definition_id` | integer | Yes | Copper custom-field definition ID to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Field Layout

**Slug:** `COPPER_GET_FIELD_LAYOUT`

Return enabled and create/edit requiredness metadata for one Copper entity type. Opportunities require pipeline_id; other entity types do not accept it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_type` | string ("leads" | "people" | "companies" | "opportunities" | "projects" | "tasks") | Yes | Plural Copper entity type whose configured field layout to return. |
| `pipeline_id` | integer | No | Pipeline ID, required for opportunities and unsupported for other entity types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Lead

**Slug:** `COPPER_GET_LEAD`

Return one Copper lead's contact, ownership, source, status, tags, and custom-field data by lead ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead_id` | integer | Yes | Copper lead ID to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Person by Email

**Slug:** `COPPER_GET_PERSON_BY_EMAIL`

Return the unique Copper person record matching an exact email address.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | Unique email address of the Copper person to fetch. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Record

**Slug:** `COPPER_GET_RECORD`

Fetch one user, person, company, opportunity, project, task, or activity by its type and ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `record_id` | integer | Yes | Copper ID of the record within record_type. |
| `record_type` | string ("users" | "people" | "companies" | "opportunities" | "projects" | "tasks" | "activities") | Yes | Copper collection containing the record; IDs are unique only within a type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Attached Files

**Slug:** `COPPER_LIST_ATTACHED_FILES`

List all files attached to one Copper lead, person, opportunity, company, or project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_id` | integer | Yes | Copper ID of the record within entity_type. |
| `entity_type` | string ("leads" | "people" | "opportunities" | "companies" | "projects") | Yes | Copper collection containing the record: leads, people, opportunities, companies, or projects. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Custom Activity Types

**Slug:** `COPPER_LIST_CUSTOM_ACTIVITY_TYPES`

List Copper's default user-entered activity types and account-created custom activity types; system activity types and Notes are available through LIST_REFERENCE_VALUES with activity_types.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Custom Field Definitions

**Slug:** `COPPER_LIST_CUSTOM_FIELD_DEFINITIONS`

Return Copper custom-field IDs, types, availability, and options needed to read, filter, and write custom field values.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Lead, Person, or Company Activities

**Slug:** `COPPER_LIST_ENTITY_ACTIVITIES`

List selected activity types related to one Copper lead, person, or company; company results may also include activities from related people.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_id` | integer | Yes | Copper lead, person, or company ID. |
| `entity_type` | string ("leads" | "people" | "companies") | Yes | Copper collection whose related activities to list. |
| `activity_types` | array | Yes | Activity type IDs and categories to include. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Lead Statuses

**Slug:** `COPPER_LIST_LEAD_STATUSES`

List Copper lead status IDs, names, display order, and default selection for use in lead writes and searches.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Pipelines

**Slug:** `COPPER_LIST_PIPELINES`

Return all configured Copper pipelines with their stages and win probabilities for opportunity creation and updates.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Pipeline Stages

**Slug:** `COPPER_LIST_PIPELINE_STAGES`

List Copper opportunity stages for one pipeline, or omit pipeline_id for a flat cross-pipeline list; use LIST_PIPELINES when pipeline context and win probabilities are needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pipeline_id` | integer | No | Copper pipeline ID whose ordered stages to return; omit to list stages across all pipelines. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Reference Values

**Slug:** `COPPER_LIST_REFERENCE_VALUES`

List one bounded set of Copper IDs used in write schemas: activity types, customer sources, contact types, or opportunity loss reasons.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reference_type` | string ("activity_types" | "customer_sources" | "contact_types" | "loss_reasons") | Yes | Reference collection to list. For activity_types, user and system categories are preserved; only user types are valid for writes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Related Links

**Slug:** `COPPER_LIST_RELATED_LINKS`

List Connect-field connections for one Copper source record, optionally narrowed to one Connect field.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source_id` | integer | Yes | Copper source record ID. |
| `source_type` | string ("people" | "opportunity" | "lead" | "company" | "project" | "user") | Yes | Copper source entity type whose connections to list. |
| `custom_field_definition_id` | integer | No | Optional Connect custom-field definition ID used to narrow the results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Related Records

**Slug:** `COPPER_LIST_RELATED_RECORDS`

List records related to one Copper entity, optionally restricted to a target record type.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_id` | integer | Yes | ID of the source record within entity_type. |
| `entity_type` | string ("leads" | "people" | "companies" | "opportunities" | "projects" | "tasks") | Yes | Plural Copper source collection token: leads, people, companies, opportunities, projects, or tasks. |
| `related_entity_type` | string ("leads" | "people" | "companies" | "opportunities" | "projects" | "tasks") | No | Optional plural target collection. Allowed by source: leads to tasks; people to companies, opportunities, tasks, or projects; companies and opportunities to people, tasks, projects, or each other; projects to companies, people, opportunities, or tasks; tasks to companies, people, opportunities, leads, or projects. Omit to return all related types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tags

**Slug:** `COPPER_LIST_TAGS`

Return one alphabetical page of Copper tag names for filtering or assigning records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `next_cursor` | string | No | Opaque continuation cursor returned by the previous call; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Users

**Slug:** `COPPER_LIST_USERS`

Return one page of Copper users for resolving assignee and owner IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page_size` | integer | No | Maximum users to return in this page (1-200). |
| `next_cursor` | string | No | Opaque cursor returned by the previous call; omit for the first page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Relate Records

**Slug:** `COPPER_RELATE_RECORDS`

Create a direct relationship between two existing Copper records, preserving both record types and IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_id` | integer | Yes | Copper ID of the source record within entity_type. |
| `entity_type` | string ("leads" | "people" | "companies" | "opportunities" | "projects" | "tasks") | Yes | Plural Copper source collection token: leads, people, companies, opportunities, projects, or tasks. |
| `related_record_id` | integer | Yes | Copper ID of the existing related record within related_record_type. |
| `related_record_type` | string ("lead" | "person" | "company" | "opportunity" | "project" | "task") | Yes | Singular Copper target type. Allowed by source: leads to task; people to company, opportunity, task, or project; companies and opportunities to person, task, project, or each other; projects to company, person, opportunity, or task; tasks to company, person, opportunity, lead, or project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Activities

**Slug:** `COPPER_SEARCH_ACTIVITIES`

Search Copper activities globally or for one parent record by activity type and date range, returning one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `parent` | object | No | Parent record whose activities to return; omit to search globally. |
| `page_size` | integer | No | Maximum activities to return in this page (1-200). |
| `full_result` | boolean | No | Set true only as an administrator timeout workaround; Copper may then return duplicate email activities. |
| `next_cursor` | string | No | Opaque cursor returned by the previous call; omit for the first page. |
| `activity_types` | array | No | Activity type IDs and categories to match. |
| `maximum_activity_date` | integer | No | Latest activity time to include, as Unix seconds. |
| `minimum_activity_date` | integer | No | Earliest activity time to include, as Unix seconds. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Companies

**Slug:** `COPPER_SEARCH_COMPANIES`

Search Copper companies by name, domain, ownership, contact type, location, date, or custom-field criteria and return one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filters` | object | No | Optional company filters for name, domain, ownership, contact type, location, date, social, or custom-field criteria. |
| `sort_by` | string ("name" | "phone" | "contact" | "contact_first_name" | "contact_last_name" | "date_modified" | "date_created" | "email_domain" | "city" | "state" | "country" | "zip" | "assignee" | "contact_group" | "last_interaction" | "interaction_count" | "primary_website" | "socials") | No | Company field used for stable ordering. |
| `page_size` | integer | No | Maximum companies to return in this page (1-200). |
| `next_cursor` | string | No | Opaque cursor returned by the previous call; omit for the first page. The cursor retains the original filters and ordering. |
| `sort_direction` | string ("asc" | "desc") | No | Sort direction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Leads

**Slug:** `COPPER_SEARCH_LEADS`

Search Copper leads by identity, ownership, status, source, location, value, activity, date, tags, socials, or custom fields and return one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filters` | object | No | Optional lead filters; all supplied criteria are combined with AND. |
| `sort_by` | string ("name" | "company_name" | "title" | "date_modified" | "date_created" | "city" | "state" | "inactive_days") | No | Lead field used to sort results. |
| `page_size` | integer | No | Maximum leads in this page (1-200). |
| `next_cursor` | string | No | Opaque cursor from the previous call; omit for the first page. |
| `sort_direction` | string ("asc" | "desc") | No | Sort direction. |
| `include_converted_leads` | boolean | No | Whether converted leads are included. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Opportunities

**Slug:** `COPPER_SEARCH_OPPORTUNITIES`

Search Copper opportunities by pipeline, stage, status, contact, company, value, date, ownership, or custom-field criteria and return one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filters` | object | No | Optional pipeline, stage, status, contact, company, value, date, ownership, tag, interaction, or custom-field filters. |
| `sort_by` | string ("assignee" | "company_name" | "customer_source_id" | "date_created" | "date_modified" | "inactive_days" | "interaction_count" | "last_interaction" | "monetary_unit" | "monetary_value" | "name" | "primary_contact" | "priority" | "stage" | "status") | No | Opportunity field used for stable ordering. |
| `page_size` | integer | No | Maximum opportunities to return in this page (1-200). |
| `next_cursor` | string | No | Opaque cursor returned by the previous call; omit for the first page. |
| `sort_direction` | string ("asc" | "desc") | No | Sort direction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search People

**Slug:** `COPPER_SEARCH_PEOPLE`

Search Copper people by contact, company, ownership, tag, date, or custom-field criteria and return one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filters` | object | No | Optional person filters for contact, company, ownership, tag, date, address, interaction, or custom-field criteria. |
| `sort_by` | string ("name" | "title" | "email" | "phone" | "date_modified" | "date_created" | "city" | "state" | "country" | "zip" | "socials") | No | Person field used for stable ordering. |
| `page_size` | integer | No | Maximum people to return in this page (1-200). |
| `next_cursor` | string | No | Opaque cursor returned by the previous call; omit for the first page. The cursor retains the original filters and ordering. |
| `sort_direction` | string ("asc" | "desc") | No | Sort direction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Projects

**Slug:** `COPPER_SEARCH_PROJECTS`

Search Copper projects by name, owner, tag, status, or custom-field criteria and return one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filters` | object | No | Optional project filters for name, owner, tags, status, or custom fields. |
| `sort_by` | string ("name" | "assigned_to" | "related_to" | "status" | "date_modified" | "date_created") | No | Project field used for stable ordering. |
| `page_size` | integer | No | Maximum projects to return in this page (1-200). |
| `next_cursor` | string | No | Opaque cursor returned by the previous call; omit for the first page. |
| `sort_direction` | string ("asc" | "desc") | No | Sort direction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Tasks

**Slug:** `COPPER_SEARCH_TASKS`

Search Copper tasks by name, owner, tag, related project or opportunity, status, due date, or custom-field criteria and return one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filters` | object | No | Optional task filters for name, owner, tag, followed state, related project or opportunity, status, due date, or custom fields. |
| `sort_by` | string ("name" | "assigned_to" | "related_to" | "status" | "priority" | "due_date" | "reminder_date" | "completed_date" | "date_created" | "date_modified") | No | Task field used for stable ordering. |
| `page_size` | integer | No | Maximum tasks to return in this page (1-200). |
| `next_cursor` | string | No | Opaque cursor returned by the previous call; omit for the first page. |
| `sort_direction` | string ("asc" | "desc") | No | Sort direction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unrelate Records

**Slug:** `COPPER_UNRELATE_RECORDS`

Remove a direct relationship between two existing Copper records without deleting either record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entity_id` | integer | Yes | Copper ID of the source record within entity_type. |
| `entity_type` | string ("leads" | "people" | "companies" | "opportunities" | "projects" | "tasks") | Yes | Plural Copper source collection token: leads, people, companies, opportunities, projects, or tasks. |
| `related_record_id` | integer | Yes | Copper ID of the related record within related_record_type. |
| `related_record_type` | string ("lead" | "person" | "company" | "opportunity" | "project" | "task") | Yes | Singular Copper target type to unrelate. Allowed by source: leads to task; people to company, opportunity, task, or project; companies and opportunities to person, task, project, or each other; projects to company, person, opportunity, or task; tasks to company, person, opportunity, lead, or project. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Activity

**Slug:** `COPPER_UPDATE_ACTIVITY`

Update the details, date, or both for an existing user-category Copper activity; at least one change is required, and system or deleted activities cannot be modified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `details` | string | No | Replacement activity text; provide details, activity_date, or both. |
| `activity_id` | integer | Yes | Copper user-activity ID to update. |
| `activity_date` | integer | No | Replacement activity time as Unix seconds; provide activity_date, details, or both. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Company

**Slug:** `COPPER_UPDATE_COMPANY`

Update selected writable fields of an existing Copper company without replacing omitted fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `changes` | object | Yes | One or more writable company fields. Omitted fields remain unchanged. |
| `company_id` | integer | Yes | Copper company ID to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Custom Activity Type

**Slug:** `COPPER_UPDATE_CUSTOM_ACTIVITY_TYPE`

Rename, change the icon, or enable or disable a Copper custom activity type. To retire a type, disable it with is_disabled=true; custom activity types cannot be deleted.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Replacement activity-type name. |
| `icon_type` | string ("Message" | "Phone" | "Event" | "Assignment" | "Assessment" | "Group" | "Description" | "Speaker Notes" | "Forum" | "Web" | "Loyalty" | "Content Paste" | "Headset" | "Share" | "Navigation" | "Notification" | "Voicemail" | "Room" | "Edit" | "Send" | "Videocam" | "Play Arrow" | "Grocery Store" | "Mic" | "Camera Mic" | "Todo") | No | Replacement Copper activity icon. |
| `is_disabled` | boolean | No | Set whether this custom activity type is disabled. |
| `custom_activity_type_id` | integer | Yes | Copper custom activity-type ID to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Custom Field Definition

**Slug:** `COPPER_UPDATE_CUSTOM_FIELD_DEFINITION`

Update one Copper custom-field definition by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Replacement custom-field name. |
| `options` | array | No | Replacement options in display order. When changing data_type, provide at least one item for Dropdown or two for MultiSelect. |
| `currency` | string | No | Replacement three-letter currency code for a Currency field. |
| `data_type` | string ("Checkbox" | "Currency" | "Date" | "Dropdown" | "Float" | "MultiSelect" | "Percentage" | "String" | "Text" | "URL") | No | Replacement Copper custom-field data type. |
| `available_on` | array | No | Replacement set of record types for this field. |
| `is_filterable` | boolean | No | Whether the field can be used in Copper filters. |
| `custom_field_definition_id` | integer | Yes | Copper custom-field definition ID to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Lead

**Slug:** `COPPER_UPDATE_LEAD`

Update selected fields of a Copper lead without replacing omitted fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `changes` | object | Yes | One or more writable lead fields; omitted fields remain unchanged and explicit null clears a field. |
| `lead_id` | integer | Yes | Copper lead ID to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Opportunity

**Slug:** `COPPER_UPDATE_OPPORTUNITY`

Update selected writable fields of an existing Copper opportunity without replacing omitted fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `changes` | object | Yes | One or more writable opportunity fields. Omitted fields remain unchanged. |
| `opportunity_id` | integer | Yes | Copper opportunity ID to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Person

**Slug:** `COPPER_UPDATE_PERSON`

Update selected writable fields of an existing Copper person without replacing omitted fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `changes` | object | Yes | One or more writable person fields. Omitted fields remain unchanged. |
| `person_id` | integer | Yes | Copper person ID to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Project

**Slug:** `COPPER_UPDATE_PROJECT`

Update selected writable fields of an existing Copper project without replacing omitted fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `changes` | object | Yes | One or more writable project fields. Omitted fields remain unchanged. |
| `project_id` | integer | Yes | Copper project ID to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Task

**Slug:** `COPPER_UPDATE_TASK`

Update selected writable fields of an existing Copper task without replacing omitted fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `changes` | object | Yes | One or more writable task fields. Omitted fields remain unchanged. completed_date is server-managed and cannot be updated. |
| `task_id` | integer | Yes | Copper task ID to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload Attached File

**Slug:** `COPPER_UPLOAD_ATTACHED_FILE`

Get upload authorization from Copper, upload up to 20 MB of file bytes to Copper's fixed Amazon S3 bucket, and attach the uploaded key to one Copper lead, person, opportunity, company, or project. If a failure occurs after the S3 upload starts, the file may already be uploaded or attached; verify the record before retrying to avoid duplicate attachments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | Yes | File to upload and attach, up to 20 MB. Its name becomes the displayed Copper file name. |
| `entity_id` | integer | Yes | Copper ID of the record within entity_type. |
| `entity_type` | string ("leads" | "people" | "opportunities" | "companies" | "projects") | Yes | Copper collection containing the record: leads, people, opportunities, companies, or projects. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upsert Lead

**Slug:** `COPPER_UPSERT_LEAD`

Create or update a Copper lead by exact name, email, or custom-field match. Copper resolves matches through a search index that can lag recent writes by seconds, so upserting a just-created lead may insert a duplicate; wait and verify before retrying. Copper rejects ambiguous matches.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `match` | string | Yes | Name, email, or custom-field match criterion. |
| `properties` | object | Yes | Lead properties used to create a new lead or update the single match. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
