> ## 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.

# Unipile

> Open-Source Unipile Connector

<Card title="Unipile" icon={<svg width="24" height="24" viewBox="0 0 800 800" xmlns="http://www.w3.org/2000/svg"> <g transform="matrix(0.4849730432033539, 0, 0, 0.4849730432033539, 26.993268966674805, 129.87493896484375)"> <path d="M159.222 42.6009C174.343 22.3348 207.672 22.3349 222.793 42.6009L367.889 237.066C376.443 248.532 376.443 263.468 367.889 274.934L222.793 469.399C207.672 489.665 174.343 489.665 159.222 469.399L14.1269 274.934C5.57229 263.468 5.57229 248.532 14.1269 237.066L159.222 42.6009Z" fill="#00BFA5"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M471.841 31.9507C460.5 16.7511 435.503 16.7511 424.162 31.9507L363.094 113.799C356.678 122.398 356.678 133.6 363.094 142.199L433.876 237.066C442.431 248.532 442.431 263.468 433.876 274.934L363.094 369.801C356.678 378.4 356.678 389.602 363.094 398.201L424.162 480.049C435.503 495.249 460.5 495.249 471.841 480.049L628.414 270.2C634.83 261.601 634.83 250.399 628.414 241.8L471.841 31.9507Z" fill="#42AF71"/> <path fill-rule="evenodd" clip-rule="evenodd" d="M728.826 31.9507C717.486 16.7511 692.489 16.7511 681.148 31.9507L620.079 113.799C613.663 122.398 613.663 133.6 620.079 142.199L690.862 237.066C699.416 248.532 699.416 263.468 690.862 274.934L620.079 369.801C613.663 378.4 613.663 389.602 620.079 398.201L681.148 480.049C692.489 495.249 717.486 495.249 728.826 480.049L885.4 270.2C891.816 261.601 891.816 250.399 885.4 241.8L728.826 31.9507Z" fill="#DCDE4B"/> </g></svg>}>
  The Unipile connector enables easy and secure data synchronization between your application and your customers' Unipile accounts through unified data models.
</Card>

## Authorization

<Accordion title="OAuth" defaultOpen={false} icon="key-skeleton" iconType="duotone">
  The Unipile 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: "unipile", 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="unipile", 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: "unipile", 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' => 'unipile',
    '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: "unipile",
      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 Unipile 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/unipile?theme=light" width="100%" height="370px" className="block dark:hidden" />

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

## Models

### Generic

<AccordionGroup>
  <Accordion title="Contact" defaultOpen={false} icon="user-group">
    <p>
      The Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile Contact](./../api-reference/models/contact/delete-contact)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Unipile connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile Company](./../api-reference/models/company/delete-company)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Unipile connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile User](./../api-reference/models/user/delete-user)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Unipile connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile Workspace](./../api-reference/models/workspace/delete-workspace)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Unipile connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile Opportunity](./../api-reference/models/opportunity/delete-opportunity)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Unipile connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile 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 Unipile Engagement](./../api-reference/models/engagement/delete-engagement)</td>
      </tr>
    </table>

    **Custom Fields**

    <Check>
      **Supported** <br />
      The Unipile connector supports our `Field Mapping` feature, enabling you or your customers to seamlessly map Unipile 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 Unipile connector supports your own custom model.
</Check>

## Webhooks

<Accordion title="Events Subscription" defaultOpen={false} icon="webhook" iconType="duotone">
  The Unipile 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 Unipile connector supports our `Proxy Request` feature, allowing you to directly
  call any endpoints from Unipile'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>
