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

# Subscribe to event

### Connectors Setup

<Warning>
  Some connectors require a specific setup to support webhook subscription.
</Warning>

<AccordionGroup>
  <Accordion
    title="HubSpot"
    icon={
  <img
    src="/images/connector-icons/hubspot.svg"
    alt="HubSpot Logo"
    style={{ filter: "brightness(0) invert(1)" }}
  />
}
  >
    HubSpot requires two global webhooks to be configured at the HubSpot App level in your HubSpot developer portal.

    #### Main Webhook Setup

    1. Navigate to **Developer Hub > Your App**
    2. Go to the **"Webhooks"** section
    3. Add the following webhook URL:

    ```bash theme={null}
    https://api.runmorph.dev/v1/hook/{orgId}/prod/hubspot/global/main
    ```

    #### Card View Webhook Setup

    If you plan to use the `WidgetCardView` model, you'll need to configure an additional global webhook:

    1. Navigate to the **"CRM Card"** section
    2. Click **"Create a new card"**
    3. In the **"Data fetch URL"** field, enter:

    ```bash theme={null}
    https://api.runmorph.dev/v1/hook/{orgId}/prod/hubspot/global/cardView
    ```

    <Note>
      Replace `{orgId}` with your actual organization ID in both webhook URLs.
    </Note>
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml post /v1/webhooks
openapi: 3.0.0
info:
  version: 1.0.0
  title: Swagger API
servers: []
security: []
externalDocs:
  description: View the raw OpenAPI Specification in JSON format
  url: /swagger.json
paths:
  /v1/webhooks:
    post:
      tags:
        - Webhooks
      summary: Subscribe to webhook events
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                events:
                  type: array
                  items:
                    type: string
                    enum:
                      - genericCompany::created
                      - genericCompany::updated
                      - genericCompany::deleted
                      - genericContact::created
                      - genericContact::updated
                      - genericContact::deleted
                      - genericUser::created
                      - genericUser::updated
                      - genericUser::deleted
                      - genericWorkspace::created
                      - genericWorkspace::updated
                      - genericWorkspace::deleted
                      - crmOpportunity::created
                      - crmOpportunity::updated
                      - crmOpportunity::deleted
                      - crmStage::created
                      - crmStage::updated
                      - crmStage::deleted
                      - crmPipeline::created
                      - crmPipeline::updated
                      - crmPipeline::deleted
                      - crmEngagement::created
                      - crmEngagement::updated
                      - crmEngagement::deleted
                      - telephonyCall::created
                      - telephonyCall::updated
                      - telephonyCall::deleted
                      - telephonyCallTranscript::created
                      - telephonyCallTranscript::updated
                      - telephonyCallTranscript::deleted
                      - schedulingEventType::created
                      - schedulingEventType::updated
                      - schedulingEventType::deleted
                      - schedulingSlot::created
                      - schedulingSlot::updated
                      - schedulingSlot::deleted
                      - schedulingEvent::created
                      - schedulingEvent::updated
                      - schedulingEvent::deleted
                      - widgetCardView::created
                      - widgetCardView::updated
                      - widgetCardView::deleted
                      - accountingInvoice::created
                      - accountingInvoice::updated
                      - accountingInvoice::deleted
                      - accountingInvoiceLineItem::created
                      - accountingInvoiceLineItem::updated
                      - accountingInvoiceLineItem::deleted
                      - accountingInvoiceItem::created
                      - accountingInvoiceItem::updated
                      - accountingInvoiceItem::deleted
                  minItems: 1
              required:
                - events
          application/jwt:
            schema:
              type: object
              properties:
                events:
                  type: array
                  items:
                    type: string
                    enum:
                      - genericCompany::created
                      - genericCompany::updated
                      - genericCompany::deleted
                      - genericContact::created
                      - genericContact::updated
                      - genericContact::deleted
                      - genericUser::created
                      - genericUser::updated
                      - genericUser::deleted
                      - genericWorkspace::created
                      - genericWorkspace::updated
                      - genericWorkspace::deleted
                      - crmOpportunity::created
                      - crmOpportunity::updated
                      - crmOpportunity::deleted
                      - crmStage::created
                      - crmStage::updated
                      - crmStage::deleted
                      - crmPipeline::created
                      - crmPipeline::updated
                      - crmPipeline::deleted
                      - crmEngagement::created
                      - crmEngagement::updated
                      - crmEngagement::deleted
                      - telephonyCall::created
                      - telephonyCall::updated
                      - telephonyCall::deleted
                      - telephonyCallTranscript::created
                      - telephonyCallTranscript::updated
                      - telephonyCallTranscript::deleted
                      - schedulingEventType::created
                      - schedulingEventType::updated
                      - schedulingEventType::deleted
                      - schedulingSlot::created
                      - schedulingSlot::updated
                      - schedulingSlot::deleted
                      - schedulingEvent::created
                      - schedulingEvent::updated
                      - schedulingEvent::deleted
                      - widgetCardView::created
                      - widgetCardView::updated
                      - widgetCardView::deleted
                      - accountingInvoice::created
                      - accountingInvoice::updated
                      - accountingInvoice::deleted
                      - accountingInvoiceLineItem::created
                      - accountingInvoiceLineItem::updated
                      - accountingInvoiceLineItem::deleted
                      - accountingInvoiceItem::created
                      - accountingInvoiceItem::updated
                      - accountingInvoiceItem::deleted
                  minItems: 1
              required:
                - events
          text/plain:
            schema:
              type: object
              properties:
                events:
                  type: array
                  items:
                    type: string
                    enum:
                      - genericCompany::created
                      - genericCompany::updated
                      - genericCompany::deleted
                      - genericContact::created
                      - genericContact::updated
                      - genericContact::deleted
                      - genericUser::created
                      - genericUser::updated
                      - genericUser::deleted
                      - genericWorkspace::created
                      - genericWorkspace::updated
                      - genericWorkspace::deleted
                      - crmOpportunity::created
                      - crmOpportunity::updated
                      - crmOpportunity::deleted
                      - crmStage::created
                      - crmStage::updated
                      - crmStage::deleted
                      - crmPipeline::created
                      - crmPipeline::updated
                      - crmPipeline::deleted
                      - crmEngagement::created
                      - crmEngagement::updated
                      - crmEngagement::deleted
                      - telephonyCall::created
                      - telephonyCall::updated
                      - telephonyCall::deleted
                      - telephonyCallTranscript::created
                      - telephonyCallTranscript::updated
                      - telephonyCallTranscript::deleted
                      - schedulingEventType::created
                      - schedulingEventType::updated
                      - schedulingEventType::deleted
                      - schedulingSlot::created
                      - schedulingSlot::updated
                      - schedulingSlot::deleted
                      - schedulingEvent::created
                      - schedulingEvent::updated
                      - schedulingEvent::deleted
                      - widgetCardView::created
                      - widgetCardView::updated
                      - widgetCardView::deleted
                      - accountingInvoice::created
                      - accountingInvoice::updated
                      - accountingInvoice::deleted
                      - accountingInvoiceLineItem::created
                      - accountingInvoiceLineItem::updated
                      - accountingInvoiceLineItem::deleted
                      - accountingInvoiceItem::created
                      - accountingInvoiceItem::updated
                      - accountingInvoiceItem::deleted
                  minItems: 1
              required:
                - events
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    object:
                      type: string
                      enum:
                        - webhook
                    model:
                      type: string
                    trigger:
                      type: string
                    createdAt:
                      type: string
                    updatedAt:
                      type: string
                  required:
                    - object
                    - model
                    - trigger
                    - createdAt
                    - updatedAt
            application/jwt:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    object:
                      type: string
                      enum:
                        - webhook
                    model:
                      type: string
                    trigger:
                      type: string
                    createdAt:
                      type: string
                    updatedAt:
                      type: string
                  required:
                    - object
                    - model
                    - trigger
                    - createdAt
                    - updatedAt
            text/plain:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    object:
                      type: string
                      enum:
                        - webhook
                    model:
                      type: string
                    trigger:
                      type: string
                    createdAt:
                      type: string
                    updatedAt:
                      type: string
                  required:
                    - object
                    - model
                    - trigger
                    - createdAt
                    - updatedAt
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - MORPH::BAD_REQUEST
                      - MORPH::BAD_CONFIGURATION
                      - MORPH::UNKNOWN_ERROR
                      - MORPH::ADAPTER::CONNECTION_NOT_FOUND
                      - MORPH::ADAPTER::AUTHORIZATION_DATA_INVALID
                      - MORPH::SESSION::EXPIRED
                      - MORPH::SESSION::TOKEN_VALIDATION_FAILED
                      - >-
                        MORPH::CONNECTION::MISSING_REQUIRED_AUTHORIZATION_SETTINGS
                      - MORPH::CONNECTION::AUTH_TYPE_NOT_SUPPORTED
                      - MORPH::CONNECTION::AUTHORIZATION_NOT_FOUND
                      - MORPH::CONNECTION::AUTHORIZATION_RETRIEVE_FAILED
                      - MORPH::CONNECTION::ACCESS_TOKEN_MISSIN
                      - MORPH::CONNECTION::REFRESH_TOKEN_MISSIN
                      - MORPH::CONNECTION::REFRESHING_TOKEN_FAILED
                      - MORPH::CONNECTION::CREATION_FAILED
                      - MORPH::CONNECTION::UPDATE_FAILED
                      - MORPH::CONNECTION::NOT_FOUND
                      - MORPH::CONNECTION::RETRIEVE_FAILED
                      - MORPH::CONNECTION::DELETION_FAILED
                      - MORPH::CONNECTION::PROXY::REQUEST_FAILED
                      - MORPH::CONNECTION::PROXY::BAD_REQUEST
                      - MORPH::CONNECTION::PROXY::UNAUTHORIZED
                      - MORPH::CONNECTION::PROXY::FORBIDDEN
                      - MORPH::CONNECTION::PROXY::NOT_FOUND
                      - MORPH::CONNECTION::PROXY::RATE_LIMIT_EXCEEDED
                      - MORPH::CONNECTION::PROXY::SERVER_ERROR
                      - CONNECTOR::NOT_FOUND
                      - CONNECTOR::OPERATION::NOT_FOUND
                      - CONNECTOR::OPERATION::RESOURCE_NOT_FOUND
                      - CONNECTOR::OPERATION::RESOURCE_ALREADY_EXISTS
                      - CONNECTOR::OPERATION::FIELD_ALREADY_EXISTS
                      - CONNECTOR::OPERATION::BAD_REQUEST
                      - CONNECTOR::OPERATION::SERVER_ERROR
                      - CONNECTOR::RESOURCE_MODEL::NOT_FOUND
                      - CONNECTOR::MAPPER::READ_VALIDATION_FAILED
                      - CONNECTOR::MAPPER::READ_FAILED
                      - CONNECTOR::UNKNOWN_ERROR
                      - CONNECTOR::BAD_CONFIGURATION
                      - CONNECTOR::WEBHOOK::SUBSCRIPTION_FAILED
                      - CONNECTOR::WEBHOOK::UNSUBSCRIPTION_FAILED
                      - CONNECTOR::WEBHOOK::VALIDATION_FAILED
                      - CONNECTOR::WEBHOOK::MAPPER_FAILED
                      - CONNECTOR::WEBHOOKS_NOT_SUPPORTED
                      - WEBHOOK::NOT_FOUND
                      - ADAPTER::WEBHOOK::CREATE_FAILED
                      - ADAPTER::WEBHOOK::RETRIEVE_FAILED
                      - ADAPTER::WEBHOOK::DELETE_FAILED
                  message:
                    type: string
                    default: ''
                required:
                  - error
            application/jwt:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - MORPH::BAD_REQUEST
                      - MORPH::BAD_CONFIGURATION
                      - MORPH::UNKNOWN_ERROR
                      - MORPH::ADAPTER::CONNECTION_NOT_FOUND
                      - MORPH::ADAPTER::AUTHORIZATION_DATA_INVALID
                      - MORPH::SESSION::EXPIRED
                      - MORPH::SESSION::TOKEN_VALIDATION_FAILED
                      - >-
                        MORPH::CONNECTION::MISSING_REQUIRED_AUTHORIZATION_SETTINGS
                      - MORPH::CONNECTION::AUTH_TYPE_NOT_SUPPORTED
                      - MORPH::CONNECTION::AUTHORIZATION_NOT_FOUND
                      - MORPH::CONNECTION::AUTHORIZATION_RETRIEVE_FAILED
                      - MORPH::CONNECTION::ACCESS_TOKEN_MISSIN
                      - MORPH::CONNECTION::REFRESH_TOKEN_MISSIN
                      - MORPH::CONNECTION::REFRESHING_TOKEN_FAILED
                      - MORPH::CONNECTION::CREATION_FAILED
                      - MORPH::CONNECTION::UPDATE_FAILED
                      - MORPH::CONNECTION::NOT_FOUND
                      - MORPH::CONNECTION::RETRIEVE_FAILED
                      - MORPH::CONNECTION::DELETION_FAILED
                      - MORPH::CONNECTION::PROXY::REQUEST_FAILED
                      - MORPH::CONNECTION::PROXY::BAD_REQUEST
                      - MORPH::CONNECTION::PROXY::UNAUTHORIZED
                      - MORPH::CONNECTION::PROXY::FORBIDDEN
                      - MORPH::CONNECTION::PROXY::NOT_FOUND
                      - MORPH::CONNECTION::PROXY::RATE_LIMIT_EXCEEDED
                      - MORPH::CONNECTION::PROXY::SERVER_ERROR
                      - CONNECTOR::NOT_FOUND
                      - CONNECTOR::OPERATION::NOT_FOUND
                      - CONNECTOR::OPERATION::RESOURCE_NOT_FOUND
                      - CONNECTOR::OPERATION::RESOURCE_ALREADY_EXISTS
                      - CONNECTOR::OPERATION::FIELD_ALREADY_EXISTS
                      - CONNECTOR::OPERATION::BAD_REQUEST
                      - CONNECTOR::OPERATION::SERVER_ERROR
                      - CONNECTOR::RESOURCE_MODEL::NOT_FOUND
                      - CONNECTOR::MAPPER::READ_VALIDATION_FAILED
                      - CONNECTOR::MAPPER::READ_FAILED
                      - CONNECTOR::UNKNOWN_ERROR
                      - CONNECTOR::BAD_CONFIGURATION
                      - CONNECTOR::WEBHOOK::SUBSCRIPTION_FAILED
                      - CONNECTOR::WEBHOOK::UNSUBSCRIPTION_FAILED
                      - CONNECTOR::WEBHOOK::VALIDATION_FAILED
                      - CONNECTOR::WEBHOOK::MAPPER_FAILED
                      - CONNECTOR::WEBHOOKS_NOT_SUPPORTED
                      - WEBHOOK::NOT_FOUND
                      - ADAPTER::WEBHOOK::CREATE_FAILED
                      - ADAPTER::WEBHOOK::RETRIEVE_FAILED
                      - ADAPTER::WEBHOOK::DELETE_FAILED
                  message:
                    type: string
                    default: ''
                required:
                  - error
            text/plain:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    enum:
                      - MORPH::BAD_REQUEST
                      - MORPH::BAD_CONFIGURATION
                      - MORPH::UNKNOWN_ERROR
                      - MORPH::ADAPTER::CONNECTION_NOT_FOUND
                      - MORPH::ADAPTER::AUTHORIZATION_DATA_INVALID
                      - MORPH::SESSION::EXPIRED
                      - MORPH::SESSION::TOKEN_VALIDATION_FAILED
                      - >-
                        MORPH::CONNECTION::MISSING_REQUIRED_AUTHORIZATION_SETTINGS
                      - MORPH::CONNECTION::AUTH_TYPE_NOT_SUPPORTED
                      - MORPH::CONNECTION::AUTHORIZATION_NOT_FOUND
                      - MORPH::CONNECTION::AUTHORIZATION_RETRIEVE_FAILED
                      - MORPH::CONNECTION::ACCESS_TOKEN_MISSIN
                      - MORPH::CONNECTION::REFRESH_TOKEN_MISSIN
                      - MORPH::CONNECTION::REFRESHING_TOKEN_FAILED
                      - MORPH::CONNECTION::CREATION_FAILED
                      - MORPH::CONNECTION::UPDATE_FAILED
                      - MORPH::CONNECTION::NOT_FOUND
                      - MORPH::CONNECTION::RETRIEVE_FAILED
                      - MORPH::CONNECTION::DELETION_FAILED
                      - MORPH::CONNECTION::PROXY::REQUEST_FAILED
                      - MORPH::CONNECTION::PROXY::BAD_REQUEST
                      - MORPH::CONNECTION::PROXY::UNAUTHORIZED
                      - MORPH::CONNECTION::PROXY::FORBIDDEN
                      - MORPH::CONNECTION::PROXY::NOT_FOUND
                      - MORPH::CONNECTION::PROXY::RATE_LIMIT_EXCEEDED
                      - MORPH::CONNECTION::PROXY::SERVER_ERROR
                      - CONNECTOR::NOT_FOUND
                      - CONNECTOR::OPERATION::NOT_FOUND
                      - CONNECTOR::OPERATION::RESOURCE_NOT_FOUND
                      - CONNECTOR::OPERATION::RESOURCE_ALREADY_EXISTS
                      - CONNECTOR::OPERATION::FIELD_ALREADY_EXISTS
                      - CONNECTOR::OPERATION::BAD_REQUEST
                      - CONNECTOR::OPERATION::SERVER_ERROR
                      - CONNECTOR::RESOURCE_MODEL::NOT_FOUND
                      - CONNECTOR::MAPPER::READ_VALIDATION_FAILED
                      - CONNECTOR::MAPPER::READ_FAILED
                      - CONNECTOR::UNKNOWN_ERROR
                      - CONNECTOR::BAD_CONFIGURATION
                      - CONNECTOR::WEBHOOK::SUBSCRIPTION_FAILED
                      - CONNECTOR::WEBHOOK::UNSUBSCRIPTION_FAILED
                      - CONNECTOR::WEBHOOK::VALIDATION_FAILED
                      - CONNECTOR::WEBHOOK::MAPPER_FAILED
                      - CONNECTOR::WEBHOOKS_NOT_SUPPORTED
                      - WEBHOOK::NOT_FOUND
                      - ADAPTER::WEBHOOK::CREATE_FAILED
                      - ADAPTER::WEBHOOK::RETRIEVE_FAILED
                      - ADAPTER::WEBHOOK::DELETE_FAILED
                  message:
                    type: string
                    default: ''
                required:
                  - error
      security:
        - ApiKeyAuth: []
          ApiSecretAuth: []
          ConnectorId: []
          OwnerId: []
          SessionToken: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
    ApiSecretAuth:
      type: apiKey
      in: header
      name: x-api-secret
    ConnectorId:
      type: apiKey
      in: header
      name: x-connector-id
    OwnerId:
      type: apiKey
      in: header
      name: x-owner-id
    SessionToken:
      type: apiKey
      in: header
      name: x-session-token

````