> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runmorph.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Copper

> Open-Source Copper Connector

<Card title="Copper" icon={<svg width="24" height="24" viewBox="0 0 128 128" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <g id="Copper-icon-pink" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g id="circle"> <circle id="Oval" fill="#FF3465" cx="64" cy="64" r="64"></circle> <path d="M49.808381,98.3659429 C45.3851593,96.583761 41.5500708,94.0964301 38.3074294,90.9053805 C35.0604741,87.7157613 32.532508,83.9368491 30.7206552,79.5729351 C28.9073644,75.209021 28,70.401707 28,65.1452717 C28,59.7972957 29.0137748,54.7997488 31.0427624,50.1554915 C33.070312,45.5098039 35.8772459,41.4748641 39.4635641,38.0492416 C43.0470064,34.6250494 47.2473414,31.9274611 52.0573793,29.9564767 C56.8688551,27.9854922 62.0570813,27 67.6249338,27 C71.7735016,27 75.6661093,27.5864322 79.2998808,28.7592967 C82.9293383,29.9335915 86.0914529,31.5527166 88.7804726,33.6152417 C91.4694923,35.6806275 93.5919485,38.1436429 95.1478411,41.0042879 C96.7051718,43.869224 97.4831181,46.8957865 97.4831181,50.0839754 C97.4831181,53.6511998 96.3514291,56.6291313 94.088051,59.0220609 C91.823235,61.4164208 89.0393087,62.6121705 85.7377102,62.6121705 C82.3412052,62.6121705 79.5112636,61.439306 77.2478855,59.093577 C74.9830695,56.7478481 73.8513805,53.7928017 73.8513805,50.2255773 C73.8513805,49.1943148 73.9678567,48.2073922 74.2051232,47.2691006 C74.4395137,46.3322394 74.7932563,44.9705723 75.2649133,43.1869601 C75.7365702,41.5921505 76.0442976,40.3964009 76.1866575,39.5982809 C76.3261414,38.8015912 76.3980403,37.9333855 76.3980403,36.9936635 C76.3980403,34.5549636 75.5999623,32.5596637 74.0081201,31.0120547 C72.41484,29.4630154 70.4059841,28.6892109 67.9873044,28.6892109 C65.8432785,28.6892109 63.8646202,29.3743354 62.0527674,30.7374328 C60.2366006,32.1005302 58.6533864,33.9599495 57.3045626,36.3099694 C55.9528629,38.6642803 54.8830069,41.4605608 54.0921188,44.707393 C53.3012306,47.9542251 52.9057865,51.4113147 52.9057865,55.0786617 C52.9057865,63.6420027 55.075696,70.4388954 59.4169529,75.4722004 C63.7538959,80.5069357 69.6064681,83.0214427 76.9646038,83.0214427 C81.1160475,83.0214427 84.889303,82.2476382 88.285808,80.7000292 C91.6808751,79.1509899 94.9824736,76.7366055 98.1920415,73.4511546 L99.888856,74.2950449 C91.8692503,92.126876 80.0289358,101.039216 64.3693507,101.039216 C59.0847799,101.039216 54.2316027,100.146694 49.808381,98.3659429 Z" id="Fill-4" fill="#FFFFFF"></path> </g> </g></svg>}>
  The Copper connector enables easy and secure data synchronization between your application and your customers' Copper accounts through unified data models.
</Card>

## Authorization

<Accordion title="OAuth" defaultOpen={false} icon="key-skeleton" iconType="duotone">
  The Copper connector uses OAuth for secure authentication. When creating a connection, the required OAuth scopes are automatically configured based on your specific operations needs (e.g. `genericContact::create`, `genericUser::list`).<br /><br />
  ✓ Automatic token refresh handling<br />
  ✓ Proactive insufficient permissions detection<br /><br />

  [View our step-by-step integration guide](./../api-reference/intro)

  **Whitelabel**

  <Check>
    **Supported** <br />
    You can choose to provide your own set of `clientId` and `clientSecret` for this
    connector from the Morph Cloud dashboard; allowing a fully whitelabled experience
    for your end-customers.
  </Check>
</Accordion>

<CodeGroup>
  ```typescript TypeScript theme={null}
  import { Morph } from "@runmorph/cloud";

  const morph = Morph({ publicKey: "pk_demo_xxxxxxxxxxxxxxx", secretKey: "sk_demo_xxxxxxxxxxxxxxx"}); 

  // create a new connection
  const connection = morph.connections({ connectorId: "copper", ownerId: "demo" });
  await connection.create({ operations:[ "genericContact::list" ]});

  // auhtorize the connection
  const { auhtorizationUrl } = await connection.authorize();

  // redirect the user to the auhtorizationUrl
  ```

  ```tsx React theme={null}
  import { Morph, Connect } from "@runmorph/atoms";

  // generate sessionToken from server →  morph.sessions().create(...);

  export default function ConnectionPage({ sessionToken }) {
    return (
      <Morph.Provider>
        <Connect
          sessionToken={sessionToken}
          connectionCallbacks={{
            onError: (error) => alert(error.message)
          }}
        />
      </Morph.Provider>
    );
  }
  ```

  ```python Python theme={null}
  morph = Morph(api_key="pk_demo_xxxxxxxxxxxxxxx", api_secret="sk_demo_xxxxxxxxxxxxxxx")

  # create a new connection
  connection = morph.connections(connector_id="copper", owner_id="demo")
  connection.create(operations=[ "genericContact::list" ])

  # authorize the connection
  auth_result = connection.authorize()
  authorization_url = auth_result["authorization_url"]

  # redirect the user to the authorization_url
  ```

  ```ruby Ruby theme={null}
  morph = Morph.new(api_key: "pk_demo_xxxxxxxxxxxxxxx", api_secret: "sk_demo_xxxxxxxxxxxxxxx")

  # create a new connection
  connection = morph.connections(connector_id: "copper", owner_id: "demo")
  connection.create(operations: [ "genericContact::list" ])

  # authorize the connection
  auth_result = connection.authorize
  authorization_url = auth_result[:authorization_url]

  # redirect the user to the authorization_url
  ```

  ```php PHP theme={null}
  $morph = new Morph([
    'api_key' => 'pk_demo_xxxxxxxxxxxxxxx',
    'api_secret' => 'sk_demo_xxxxxxxxxxxxxxx'
  ]);

  // create a new connection
  $connection = $morph->connections([
    'connector_id' => 'copper',
    'owner_id' => 'demo'
  ]);
  $connection->create(['operations' => ['genericContact::create','genericUser::list']]);

  // auhtorize the connection
  $authResult = $connection->authorize();
  $authorizationUrl = $authResult['authorization_url'];

  // redirect the user to the auhtorizationUrl
  ```

  ```go Go theme={null}
  morph := morph.New(&morph.Config{
      publicKey:    "pk_demo_xxxxxxxxxxxxxxx",
      secretKey: "sk_demo_xxxxxxxxxxxxxxx",
  })

  // create a new connection
  connection := morph.Connections(&morph.ConnectionConfig{
      ConnectorId: "copper",
      OwnerId:    "demo",
  })
  connection.Create(&morph.CreateConfig{
      Operations: []string{"genericContact::create", "genericUser::list"},
  })

  // authorize the connection
  authResult, _ := connection.Authorize()
  authorizationUrl := authResult.AuthorizationUrl

  // redirect the user to the authorization URL
  ```
</CodeGroup>

<br />

<Accordion title="Try a live demo of Copper connection ✨">
  <Check>
    **Live Demo** <br />
    Select a connector below to experience our seamless authentication flow and see
    how easy it is to connect third-party services.
  </Check>

  <iframe src="https://atoms-playground.vercel.app/temp/connectors/copper?theme=light" width="100%" height="370px" className="block dark:hidden" />

  <iframe src="https://atoms-playground.vercel.app/temp/connectors/copper?theme=dark" width="100%" height="370px" className="hidden dark:block" />
</Accordion>

## Models

### Generic

<AccordionGroup>
  <Accordion title="Contact" defaultOpen={false} icon="user-group">
    <p>
      The Copper connector seamlessly integrates with our unified `genericContact` model, enabling you to manage Contacts with rich data including `firstName`, `lastName`, `phoneNumber`, `email` and other key details <br />
    </p>

    **API Reference**

    <table className="mt-0">
      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/genericContact`</td>
        <td className="py-1 px-2">[List and Search Copper Contacts](./../api-reference/models/contact/list-contact)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/genericContact/:id`</td>
        <td className="py-1 px-2">[Retrieve a Copper Contact](./../api-reference/models/contact/retrieve-contact)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-blue-400/20 text-blue-700 dark:bg-blue-400/20 dark:text-blue-400">POST</span>
        </td>

        <td className="py-1 px-2">`/resources/genericContact`</td>
        <td className="py-1 px-2">[Create a Copper Contact](./../api-reference/models/contact/create-contact)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-orange-400/20 text-orange-700 dark:bg-orange-400/20 dark:text-orange-400">PATCH</span>
        </td>

        <td className="py-1 px-2">`/resources/genericContact/:id`</td>
        <td className="py-1 px-2">[Update a Copper Contact](./../api-reference/models/contact/update-contact)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-red-400/20 text-red-700 dark:bg-red-400/20 dark:text-red-400">DEL</span>
        </td>

        <td className="py-1 px-2">`/resources/genericContact/:id`</td>
        <td className="py-1 px-2">[Delete a Copper Contact](./../api-reference/models/contact/delete-contact)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Copper connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Copper Contact custom fields to the unified contact model. This allows for flexible data synchronization while maintaining data consistency across all connectors.
    </Check>

    <br />

    [view Contact model details](./../models/genericContact)
  </Accordion>

  <Accordion title="Company" defaultOpen={false} icon="building">
    <p>
      The Copper connector seamlessly integrates with our unified `genericCompany` model, enabling you to manage Companies with rich data including `name` and other key details <br />
    </p>

    **API Reference**

    <table className="mt-0">
      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/genericCompany`</td>
        <td className="py-1 px-2">[List and Search Copper Companies](./../api-reference/models/company/list-company)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/genericCompany/:id`</td>
        <td className="py-1 px-2">[Retrieve a Copper Company](./../api-reference/models/company/retrieve-company)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-blue-400/20 text-blue-700 dark:bg-blue-400/20 dark:text-blue-400">POST</span>
        </td>

        <td className="py-1 px-2">`/resources/genericCompany`</td>
        <td className="py-1 px-2">[Create a Copper Company](./../api-reference/models/company/create-company)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-orange-400/20 text-orange-700 dark:bg-orange-400/20 dark:text-orange-400">PATCH</span>
        </td>

        <td className="py-1 px-2">`/resources/genericCompany/:id`</td>
        <td className="py-1 px-2">[Update a Copper Company](./../api-reference/models/company/update-company)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-red-400/20 text-red-700 dark:bg-red-400/20 dark:text-red-400">DEL</span>
        </td>

        <td className="py-1 px-2">`/resources/genericCompany/:id`</td>
        <td className="py-1 px-2">[Delete a Copper Company](./../api-reference/models/company/delete-company)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Copper connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Copper Company custom fields to the unified company model. This allows for flexible data synchronization while maintaining data consistency across all connectors.
    </Check>

    <br />

    [view Company model details](./../models/genericCompany)
  </Accordion>

  <Accordion title="User" defaultOpen={false} icon="users-medical">
    <p>
      The Copper connector seamlessly integrates with our unified `genericUser` model, enabling you to manage Users with rich data including `firstName`, `lastName`, `email` and other key details <br />
    </p>

    **API Reference**

    <table className="mt-0">
      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/genericUser`</td>
        <td className="py-1 px-2">[List and Search Copper Users](./../api-reference/models/user/list-user)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/genericUser/:id`</td>
        <td className="py-1 px-2">[Retrieve a Copper User](./../api-reference/models/user/retrieve-user)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-blue-400/20 text-blue-700 dark:bg-blue-400/20 dark:text-blue-400">POST</span>
        </td>

        <td className="py-1 px-2">`/resources/genericUser`</td>
        <td className="py-1 px-2">[Create a Copper User](./../api-reference/models/user/create-user)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-orange-400/20 text-orange-700 dark:bg-orange-400/20 dark:text-orange-400">PATCH</span>
        </td>

        <td className="py-1 px-2">`/resources/genericUser/:id`</td>
        <td className="py-1 px-2">[Update a Copper User](./../api-reference/models/user/update-user)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-red-400/20 text-red-700 dark:bg-red-400/20 dark:text-red-400">DEL</span>
        </td>

        <td className="py-1 px-2">`/resources/genericUser/:id`</td>
        <td className="py-1 px-2">[Delete a Copper User](./../api-reference/models/user/delete-user)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Copper connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Copper User custom fields to the unified user model. This allows for flexible data synchronization while maintaining data consistency across all connectors.
    </Check>

    <br />

    [view User model details](./../models/genericUser)
  </Accordion>

  <Accordion title="Workspace" defaultOpen={false} icon="network-wired">
    <p>
      The Copper connector seamlessly integrates with our unified `genericWorkspace` model, enabling you to manage Workspaces with rich data including `name` and other key details <br />
    </p>

    **API Reference**

    <table className="mt-0">
      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/genericWorkspace`</td>
        <td className="py-1 px-2">[List and Search Copper Workspaces](./../api-reference/models/workspace/list-workspace)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/genericWorkspace/:id`</td>
        <td className="py-1 px-2">[Retrieve a Copper Workspace](./../api-reference/models/workspace/retrieve-workspace)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-blue-400/20 text-blue-700 dark:bg-blue-400/20 dark:text-blue-400">POST</span>
        </td>

        <td className="py-1 px-2">`/resources/genericWorkspace`</td>
        <td className="py-1 px-2">[Create a Copper Workspace](./../api-reference/models/workspace/create-workspace)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-orange-400/20 text-orange-700 dark:bg-orange-400/20 dark:text-orange-400">PATCH</span>
        </td>

        <td className="py-1 px-2">`/resources/genericWorkspace/:id`</td>
        <td className="py-1 px-2">[Update a Copper Workspace](./../api-reference/models/workspace/update-workspace)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-red-400/20 text-red-700 dark:bg-red-400/20 dark:text-red-400">DEL</span>
        </td>

        <td className="py-1 px-2">`/resources/genericWorkspace/:id`</td>
        <td className="py-1 px-2">[Delete a Copper Workspace](./../api-reference/models/workspace/delete-workspace)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Copper connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Copper Workspace custom fields to the unified workspace model. This allows for flexible data synchronization while maintaining data consistency across all connectors.
    </Check>

    <br />

    [view Workspace model details](./../models/genericWorkspace)
  </Accordion>
</AccordionGroup>

### CRM

<AccordionGroup>
  <Accordion title="Opportunity" defaultOpen={false} icon="badge-dollar">
    <p>
      The Copper connector seamlessly integrates with our unified `crmOpportunity` model, enabling you to manage Opportunities with rich data including `name`, `amount`, `currency`, `pipeline`, `stage` and other key details <br />
    </p>

    **API Reference**

    <table className="mt-0">
      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/crmOpportunity`</td>
        <td className="py-1 px-2">[List and Search Copper Opportunities](./../api-reference/models/opportunity/list-opportunity)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/crmOpportunity/:id`</td>
        <td className="py-1 px-2">[Retrieve a Copper Opportunity](./../api-reference/models/opportunity/retrieve-opportunity)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-blue-400/20 text-blue-700 dark:bg-blue-400/20 dark:text-blue-400">POST</span>
        </td>

        <td className="py-1 px-2">`/resources/crmOpportunity`</td>
        <td className="py-1 px-2">[Create a Copper Opportunity](./../api-reference/models/opportunity/create-opportunity)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-orange-400/20 text-orange-700 dark:bg-orange-400/20 dark:text-orange-400">PATCH</span>
        </td>

        <td className="py-1 px-2">`/resources/crmOpportunity/:id`</td>
        <td className="py-1 px-2">[Update a Copper Opportunity](./../api-reference/models/opportunity/update-opportunity)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-red-400/20 text-red-700 dark:bg-red-400/20 dark:text-red-400">DEL</span>
        </td>

        <td className="py-1 px-2">`/resources/crmOpportunity/:id`</td>
        <td className="py-1 px-2">[Delete a Copper Opportunity](./../api-reference/models/opportunity/delete-opportunity)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Copper connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Copper Opportunity custom fields to the unified opportunity model. This allows for flexible data synchronization while maintaining data consistency across all connectors.
    </Check>

    <br />

    [view Opportunity model details](./../models/crmOpportunity)
  </Accordion>

  <Accordion title="Pipeline" defaultOpen={false} icon="square-kanban">
    <p>
      The Copper connector seamlessly integrates with our unified `crmPipeline` model, enabling you to manage Pipelines with rich data including `name`, `stages` and other key details <br />
    </p>

    **API Reference**

    <table className="mt-0">
      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/crmPipeline`</td>
        <td className="py-1 px-2">[List and Search Copper Pipelines](./../api-reference/models/pipeline/list-pipeline)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/crmPipeline/:id`</td>
        <td className="py-1 px-2">[Retrieve a Copper Pipeline](./../api-reference/models/pipeline/retrieve-pipeline)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-blue-400/20 text-blue-700 dark:bg-blue-400/20 dark:text-blue-400">POST</span>
        </td>

        <td className="py-1 px-2">`/resources/crmPipeline`</td>
        <td className="py-1 px-2">[Create a Copper Pipeline](./../api-reference/models/pipeline/create-pipeline)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-orange-400/20 text-orange-700 dark:bg-orange-400/20 dark:text-orange-400">PATCH</span>
        </td>

        <td className="py-1 px-2">`/resources/crmPipeline/:id`</td>
        <td className="py-1 px-2">[Update a Copper Pipeline](./../api-reference/models/pipeline/update-pipeline)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-red-400/20 text-red-700 dark:bg-red-400/20 dark:text-red-400">DEL</span>
        </td>

        <td className="py-1 px-2">`/resources/crmPipeline/:id`</td>
        <td className="py-1 px-2">[Delete a Copper Pipeline](./../api-reference/models/pipeline/delete-pipeline)</td>
      </tr>
    </table>

    <br />

    [view Pipeline model details](./../models/crmPipeline)
  </Accordion>

  <Accordion title="Stage" defaultOpen={false} icon="flag-pennant">
    <p>
      The Copper connector seamlessly integrates with our unified `crmStage` model, enabling you to manage Stages with rich data including `pipeline`, `name`, `type` and other key details <br />
    </p>

    **API Reference**

    <table className="mt-0">
      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/crmStage`</td>
        <td className="py-1 px-2">[List and Search Copper Stages](./../api-reference/models/stage/list-stage)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/crmStage/:id`</td>
        <td className="py-1 px-2">[Retrieve a Copper Stage](./../api-reference/models/stage/retrieve-stage)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-blue-400/20 text-blue-700 dark:bg-blue-400/20 dark:text-blue-400">POST</span>
        </td>

        <td className="py-1 px-2">`/resources/crmStage`</td>
        <td className="py-1 px-2">[Create a Copper Stage](./../api-reference/models/stage/create-stage)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-orange-400/20 text-orange-700 dark:bg-orange-400/20 dark:text-orange-400">PATCH</span>
        </td>

        <td className="py-1 px-2">`/resources/crmStage/:id`</td>
        <td className="py-1 px-2">[Update a Copper Stage](./../api-reference/models/stage/update-stage)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-red-400/20 text-red-700 dark:bg-red-400/20 dark:text-red-400">DEL</span>
        </td>

        <td className="py-1 px-2">`/resources/crmStage/:id`</td>
        <td className="py-1 px-2">[Delete a Copper Stage](./../api-reference/models/stage/delete-stage)</td>
      </tr>
    </table>

    <br />

    [view Stage model details](./../models/crmStage)
  </Accordion>

  <Accordion title="Engagement" defaultOpen={false} icon="comments">
    <p>
      The Copper connector seamlessly integrates with our unified `crmEngagement` model, enabling you to manage Engagements with rich data including `type`, `direction`, `status`, `title`, `description` and other key details <br />
    </p>

    **API Reference**

    <table className="mt-0">
      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/crmEngagement`</td>
        <td className="py-1 px-2">[List and Search Copper Engagements](./../api-reference/models/engagement/list-engagement)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-green-400/20 text-green-700 dark:bg-green-400/20 dark:text-green-400">GET</span>
        </td>

        <td className="py-1 px-2">`/resources/crmEngagement/:id`</td>
        <td className="py-1 px-2">[Retrieve a Copper Engagement](./../api-reference/models/engagement/retrieve-engagement)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md  leading-tight font-bold bg-blue-400/20 text-blue-700 dark:bg-blue-400/20 dark:text-blue-400">POST</span>
        </td>

        <td className="py-1 px-2">`/resources/crmEngagement`</td>
        <td className="py-1 px-2">[Create a Copper Engagement](./../api-reference/models/engagement/create-engagement)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-orange-400/20 text-orange-700 dark:bg-orange-400/20 dark:text-orange-400">PATCH</span>
        </td>

        <td className="py-1 px-2">`/resources/crmEngagement/:id`</td>
        <td className="py-1 px-2">[Update a Copper Engagement](./../api-reference/models/engagement/update-engagement)</td>
      </tr>

      <tr>
        <td className="py-1 px-2">
          <span className="px-1 py-0.5 rounded-md leading-tight font-bold bg-red-400/20 text-red-700 dark:bg-red-400/20 dark:text-red-400">DEL</span>
        </td>

        <td className="py-1 px-2">`/resources/crmEngagement/:id`</td>
        <td className="py-1 px-2">[Delete a Copper Engagement](./../api-reference/models/engagement/delete-engagement)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Copper connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Copper Engagement custom fields to the unified engagement model. This allows for flexible data synchronization while maintaining data consistency across all connectors.
    </Check>

    <br />

    [view Engagement model details](./../models/crmEngagement)
  </Accordion>
</AccordionGroup>

## Custom

<Check>
  **Supported** <br />
  Can't find the unified model you need? The Copper connector supports your own custom model.
</Check>

## Webhooks

<Accordion title="Events Subscription" defaultOpen={false} icon="webhook" iconType="duotone">
  The Copper connector supports real-time event subscriptions, allowing you to
  receive instant notifications when records are created, updated, or deleted.
  Below are the supported models and their corresponding triggers.

  <table className="mt-0">
    <tr>
      <th className="py-1 px-2">Models</th>
      <th className="py-1 px-2">Created</th>
      <th className="py-1 px-2">Updated</th>
      <th className="py-1 px-2">Deleted</th>
      <th className="py-1 px-6">API Reference</th>
    </tr>

    <tr>
      <td className="">`genericContact`</td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        [view event](./../api-reference/models/contact/event)
      </td>
    </tr>

    <tr>
      <td className="">`genericCompany`</td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        [view event](./../api-reference/models/company/event)
      </td>
    </tr>

    <tr>
      <td className="">`genericUser`</td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        [view event](./../api-reference/models/user/event)
      </td>
    </tr>

    <tr>
      <td className="">`genericWorkspace`</td>

      <td className=" text-center">
        <Icon icon="circle-x" iconType="duotone" color="gray" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-x" iconType="duotone" color="gray" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-x" iconType="duotone" color="gray" />
      </td>

      <td className=" text-center">
        [view event](./../api-reference/models/workspace/event)
      </td>
    </tr>

    <tr>
      <td className="">`crmOpportunity`</td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        [view event](./../api-reference/models/opportunity/event)
      </td>
    </tr>

    <tr>
      <td className="">`crmPipeline`</td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        [view event](./../api-reference/models/pipeline/event)
      </td>
    </tr>

    <tr>
      <td className="">`crmStage`</td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        [view event](./../api-reference/models/stage/event)
      </td>
    </tr>

    <tr>
      <td className="">`crmEngagement`</td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        <Icon icon="circle-check" iconType="duotone" />
      </td>

      <td className=" text-center">
        [view event](./../api-reference/models/engagement/event)
      </td>
    </tr>
  </table>
</Accordion>

## Proxy

<Check>
  **Supported** <br />
  The Copper connector supports our `Proxy Request` feature, allowing you to directly
  call any endpoints from Copper's public API without needing to handle authentication.
  Your customer's token will be automatically set and refreshed as needed, enabling
  quick implementation of custom connector behaviors. [View API Reference](./../api-reference/proxy/proxy-request-to-connector).
</Check>
