# nv.sendMessage

This action allows you to send a message to a person in Sales Navigator.

## Constraints

> ⏺️ **Root Start:** allowed, when `personUrl` or `threadId` parameter is provided.

> ⬆️ **Parent Actions:** [nv.openPersonPage](/docs/action-nv-open-person-page).

> ⬇️ **Child Actions:** N/A.

## Parameters

```json
{
  "actionType": "nv.sendMessage",
  "label": "person1",
  "personUrl": "https://www.linkedin.com/in/person1",
  "text": "Hi! I'd love to connect and discuss some ideas.",
  "subject": "Let's Connect!"
}
```

- `label` (optional) – custom label for tracking this action in workflow completion.
- `personUrl` (required for root start unless `threadId` is provided, forbidden for parent start) – [public or hashed](/faq/what-are-hashed-url-and-public-url) LinkedIn URL of the person you want to send a message to.
- `threadId` (optional) – identifier of an existing conversation thread to reply into, as returned by [inbox polling](/docs/monitoring-inbox) or [conversation polling](/docs/working-with-conversations), or read from the address bar of an open conversation — the `<id>` in `linkedin.com/sales/inbox/<id>`. Provide either `personUrl` or `threadId`; if both are given, `threadId` takes precedence.
- `text` – message text, must be up to **1900** characters.
- `subject` – subject line, must be up to **80** characters. Required when starting a new conversation; ignored when replying into an existing thread via `threadId`.

## Result options

1. **Successful message sending:**

```json
{
  "actionType": "nv.sendMessage",
  "label": "person1",
  "success": true
}
```

- `label` – included only if specified in the action parameters.

2. **Failed message sending:**

```json
{
  "actionType": "nv.sendMessage",
  "label": "person1",
  "success": false,
  "error": {
    "type": "personNotFound",
    "message": "The provided URL is not an existing LinkedIn person."
  }
}
```

- `label` – included only if specified in the action parameters.
- `error.type` – enum with the following possible values:
  - `personNotFound` – provided URL is not an existing LinkedIn person.
  - `noSalesNavigator` – your account does not have Sales Navigator subscription.
  - `messagingNotAllowed` – sending a message to the person is not allowed. This could happen for several reasons:
    - Your monthly Sales Navigator message limit has been reached.
    - LinkedIn has restricted your ability to send messages to the person, for example, due the person’s privacy settings.
