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

# prospect.assigneeChanged

> Occurs when a prospect's assignee is changed, set, or cleared

<ResponseExample>
  ```json Example payload theme={null}
  {
    "id": "ck9v2m5nj0xp4wq7ybftrae8",
    "seq": 210,
    "teamId": "hzcai5t59nn9vsck3rbuepyg",
    "type": "prospect.assigneeChanged",
    "timestamp": "2025-01-15T14:20:00.000Z",
    "version": "1.0",
    "data": {
      "prospect": {
        "platform": "twitter",
        "platformId": "1876543210987654321",
        "externalId": "n7kxqm5d9iu2sgdf6jbw4h36",
        "displayName": "Sarah Chen",
        "username": "sarahchen",
        "handle": "@sarahchen",
        "image": "https://pbs.twimg.com/profile_images/example/photo.jpg",
        "imageNormalized": "https://pbs.twimg.com/profile_images/example/photo.jpg",
        "bio": "Product designer at Figma. Building tools for the next generation of creators.",
        "location": "San Francisco, CA",
        "profileUrl": "https://x.com/sarahchen",
        "websiteUrl": "https://sarahchen.design",
        "websiteDomain": "sarahchen.design",
        "verified": "none",
        "profileType": "personal",
        "isProtected": false,
        "followerCount": 12840,
        "followingCount": 892,
        "postCount": 3420,
        "engagementCount": 8912,
        "listedCount": 47,
        "platformCreatedAt": "2019-03-15T08:00:00.000Z",
        "firstSeenAt": "2025-01-10T09:00:00.000Z",
        "lastUpdatedAt": "2025-01-15T14:20:00.000Z",
        "lastEnrichedAt": "2025-01-14T12:00:00.000Z",
        "lastActiveAt": "2025-01-15T11:00:00.000Z",
        "source": "cached",
        "isFresh": true,
        "isStale": false,
        "confidence": 0.95,
        "context": {
          "tags": ["l44e15irdq4db30i77cgphhx"],
          "statusId": "x9wq5p2bvnhfdteolyr3km7j",
          "assigneeId": "r3km7xj9wq5p2bvnhfdteoly",
          "valuation": 2500,
          "notes": "Interested in enterprise plan"
        }
      }
    }
  }
  ```
</ResponseExample>

## When it fires

* A prospect is assigned to a team member through the Inbox UI or via the [Update prospect context](/api-reference/prospects/update-prospect-context) API endpoint
* A prospect's assignment changes from one member to another
* A prospect's assignee is cleared (set to `null`)

The `context.assigneeId` field reflects the value **after** the change.

<Note>
  This is the canonical event for assignee changes. The [`thread.assigned`](/webhooks/threads/thread-assigned) and [`thread.unassigned`](/webhooks/threads/thread-unassigned) events are deprecated in favor of this event since assignees are tracked at the prospect level, not the thread level.
</Note>

## Payload

<ResponseField name="prospect" type="object" required>
  The prospect associated with this event, including Inbox context.

  <Expandable title="properties">
    <ResponseField name="platform" type="string">
      The social platform. Currently `"twitter"`.
    </ResponseField>

    <ResponseField name="platformId" type="string">
      The platform's native user ID (e.g. `"1566123362161725440"`).
    </ResponseField>

    <ResponseField name="externalId" type="string | null">
      The Inbox prospect ID. Null if the prospect hasn't been fully imported.
    </ResponseField>

    <ResponseField name="displayName" type="string">
      Display name as shown on their profile.
    </ResponseField>

    <ResponseField name="username" type="string">
      Platform username without the `@` symbol.
    </ResponseField>

    <ResponseField name="handle" type="string">
      Username with `@` prefix (e.g. `"@acmecorp"`).
    </ResponseField>

    <ResponseField name="image" type="string | null">
      Profile picture URL as provided by the platform.
    </ResponseField>

    <ResponseField name="imageNormalized" type="string | null">
      Profile picture URL normalized to highest quality. Prefer this over `image` for display.
    </ResponseField>

    <ResponseField name="bio" type="string | null">
      Profile bio/description text.
    </ResponseField>

    <ResponseField name="location" type="string | null">
      Freeform location string as entered by the user.
    </ResponseField>

    <ResponseField name="profileUrl" type="string">
      Direct link to the profile on the platform.
    </ResponseField>

    <ResponseField name="websiteUrl" type="string | null">
      External website URL from their profile.
    </ResponseField>

    <ResponseField name="websiteDomain" type="string | null">
      Domain extracted from `websiteUrl`.
    </ResponseField>

    <ResponseField name="verified" type="string">
      Verification status: `"none"`, `"verified"`, `"business"`, or `"government"`.
    </ResponseField>

    <ResponseField name="profileType" type="string">
      Account type: `"personal"`, `"business"`, or `"government"`.
    </ResponseField>

    <ResponseField name="isProtected" type="boolean">
      Whether the account is private/protected.
    </ResponseField>

    <ResponseField name="followerCount" type="number">
      Number of followers.
    </ResponseField>

    <ResponseField name="followingCount" type="number">
      Number of accounts this user follows.
    </ResponseField>

    <ResponseField name="postCount" type="number">
      Total posts/tweets by this account.
    </ResponseField>

    <ResponseField name="engagementCount" type="number | null">
      Platform-specific engagement metric (e.g. likes given on X).
    </ResponseField>

    <ResponseField name="listedCount" type="number | null">
      Number of X lists this profile appears on.
    </ResponseField>

    <ResponseField name="platformCreatedAt" type="string | null">
      ISO 8601 timestamp of when the account was created on the platform.
    </ResponseField>

    <ResponseField name="firstSeenAt" type="string | null">
      ISO 8601 timestamp of when this prospect was first added to Inbox.
    </ResponseField>

    <ResponseField name="lastUpdatedAt" type="string">
      ISO 8601 timestamp of the most recent data update.
    </ResponseField>

    <ResponseField name="lastEnrichedAt" type="string | null">
      ISO 8601 timestamp of when fresh data was last fetched from the platform.
    </ResponseField>

    <ResponseField name="lastActiveAt" type="string | null">
      ISO 8601 timestamp of last platform activity.
    </ResponseField>

    <ResponseField name="source" type="string">
      Data source: `"cached"`, `"indexed"`, `"live"`, or `"merged"`.
    </ResponseField>

    <ResponseField name="isFresh" type="boolean">
      Whether data was updated within the last 7 days.
    </ResponseField>

    <ResponseField name="isStale" type="boolean">
      Whether data hasn't been updated in over 30 days.
    </ResponseField>

    <ResponseField name="confidence" type="number">
      Data accuracy confidence score from `0` to `1`.
    </ResponseField>

    <ResponseField name="context" type="object">
      Inbox-specific context for this prospect.

      <Expandable title="properties">
        <ResponseField name="tags" type="string[]">
          Array of tag IDs attached to this prospect.
        </ResponseField>

        <ResponseField name="statusId" type="string | null">
          The pipeline status ID, or `null` if unset.
        </ResponseField>

        <ResponseField name="valuation" type="number | null">
          The prospect's deal valuation, or `null` if unset.
        </ResponseField>

        <ResponseField name="notes" type="string | null">
          Free-text notes attached to the prospect.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>
