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

# Webhook Events

### Headers

<ParamField header="x-conector-id" type="string" required>
  The unique identifier of the connector
</ParamField>

<ParamField header="x-owner-id" type="string" required>
  The unique identifier of the owner
</ParamField>

<ParamField header="x-idempotency-key" type="string" required>
  A unique key to ensure idempotency of the webhook request
</ParamField>

### Event Body

<ResponseField name="event" type="enum<string>" required>
  The event identifier in the format `model::trigger`
</ResponseField>

<ResponseField name="data" type="Model Resource" required>
  <Expandable title="properties">
    <ResponseField name="object" type="enum<string>" default="resource" required>
      Available options: resource
    </ResponseField>

    <ResponseField name="model" type="enum<string>" required>
      The model identifier
    </ResponseField>

    <ResponseField name="id" type="string" required>
      The unique identifier
    </ResponseField>

    <ResponseField name="fields" type="object" required>
      <Expandable title="properties">
        <ResponseField name="firstName" type="string">
          First name. Required string length: 1 - 250
        </ResponseField>

        <ResponseField name="lastName" type="string">
          Last name. Required string length: 1 - 250
        </ResponseField>

        <ResponseField name="email" type="string">
          Email. Required string length: 5 - 250
        </ResponseField>

        <ResponseField name="phone" type="string">
          Phone number. Required string length: 5 - 20
        </ResponseField>

        <ResponseField name="companyName" type="string">
          Company name. Required string length: 1 - 2
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="createdAt" type="string" required>
      The creation timestamp
    </ResponseField>

    <ResponseField name="updatedAt" type="string" required>
      The last update timestamp
    </ResponseField>

    <ResponseField name="rawResource" type="any | null">
      The raw resource data
    </ResponseField>

    <ResponseField name="warnings" type="object[]">
      <Expandable title="properties">
        <ResponseField name="code" type="string" required>
          The warning code
        </ResponseField>

        <ResponseField name="message" type="string">
          The warning message
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```json Example Event theme={null}
  {
    "event": "genericContact::created",
    "data": {
      "object": "resource",
      "model": "genericContact",
      "id": "<string>",
      "fields": {
        "firstName": "<string>",
        "lastName": "<string>",
        "email": "<string>",
        "phone": "<string>",
        "companyName": "<string>"
      },
      "createdAt": "<string>",
      "updatedAt": "<string>",
      "rawResource": "<any>",
      "warnings": []
    }
  }
  ```
</RequestExample>
