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

# Lemlist: Post Contacts Idoremail Notes

> Add a note to a Lemlist contact by ID or email, also pushed to your connected CRM. Includes inputs, outputs, SDK V2 examples, and Deepline cost.

Add a note to a Lemlist contact by ID or email, also pushed to your connected CRM.

> [!NOTE]
>
> Tool ID: `lemlist_post_contacts_idoremail_notes`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'lemlist_post_contacts_idoremail_notes',
  {
    "idOrEmail": "jane.doe@example.com"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute lemlist_post_contacts_idoremail_notes --input '{
  "idOrEmail": "jane.doe@example.com"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "_id": "_123",
    "teamId": "team_123",
    "contactId": "contact_123"
  }
}
```

Use `deepline describe lemlist_post_contacts_idoremail_notes --json` for the latest machine-readable contract.

## Input reference

Writes a note on a contact resolved by its id (`ctc_xxx`) or email, exactly as a note written in the lemlist app: it is stored as a note of the contact, **pushed to your connected CRM** (HubSpot, Salesforce, Pipedrive) like an in-app note, and logged in the team activity feed. The author is the user of the API key. The note is plain text, stored as sent, at most 10000 characters, and cannot contain a ` ` (the app's guard against markup). A lone `&lt;` is stored HTML-escaped as `&lt;`, as in the app. A missing, empty or non-text `note` creates an empty note, as on `POST /companies/&#123;companyId&#125;/notes`.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.idOrEmail` | `string` | Yes | — | The unique identifier (`ctc_xxx`) or email of the contact |
| `payload.note` | `string` | No | — | The note content. Plain text, at most 10000 characters. A ` ` is refused, a lone `&lt;` is stored as `&lt;`. Maximum length: 10000. |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Writes a note on a contact resolved by its id (`ctc_xxx`) or email, exactly as a note written in the lemlist app: it is stored as a note of the contact, **pushed to your connected CRM** (HubSpot, Salesforce, Pipedrive) like an in-app note, and logged in the team activity feed. The author is the user of the API key. The note is plain text, stored as sent, at most 10000 characters, and cannot contain a ` ` (the app's guard against markup). A lone `<` is stored HTML-escaped as `&lt;`, as in the app. A missing, empty or non-text `note` creates an empty note, as on `POST /companies/{companyId}/notes`.",
    "properties": {
      "idOrEmail": {
        "type": "string",
        "description": "The unique identifier (`ctc_xxx`) or email of the contact"
      },
      "note": {
        "type": "string",
        "description": "The note content. Plain text, at most 10000 characters; a ` ` is refused, a lone `<` is stored as `&lt;`.",
        "maxLength": 10000
      }
    },
    "required": [
      "idOrEmail"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | A text note attached to a contact record, as returned by `GET` and `POST /contacts/&#123;idOrEmail&#125;/notes`. |
| `result.data._id` | `string` | No | — | Unique note identifier (`act_xxx`) |
| `result.data.teamId` | `string` | No | — | Team ID that owns the contact |
| `result.data.contactId` | `string` | No | — | Parent contact ID (`ctc_xxx`) |
| `result.data.note` | `string` | No | — | Note text content |
| `result.data.userId` | `string` | No | — | ID of the user who wrote the note |
| `result.data.createdAt` | `string` | No | — | Creation timestamp Format: `date-time`. |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "A text note attached to a contact record, as returned by `GET` and `POST /contacts/{idOrEmail}/notes`.",
        "properties": {
          "_id": {
            "type": "string",
            "description": "Unique note identifier (`act_xxx`)"
          },
          "teamId": {
            "type": "string",
            "description": "Team ID that owns the contact"
          },
          "contactId": {
            "type": "string",
            "description": "Parent contact ID (`ctc_xxx`)"
          },
          "note": {
            "type": "string",
            "description": "Note text content"
          },
          "userId": {
            "type": "string",
            "description": "ID of the user who wrote the note"
          },
          "createdAt": {
            "type": "string",
            "description": "Creation timestamp",
            "format": "date-time"
          }
        },
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Lemlist provider guide](https://deepline.com/docs/providers/lemlist/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.