> ## 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: Put Watchlist Signals

> Mark one or more Lemlist signals as handled or ignored. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Mark one or more Lemlist signals as handled or ignored.

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

## 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_put_watchlist_signals',
  {
    "signalIds": [
      "signal_123"
    ],
    "status": "handled"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute lemlist_put_watchlist_signals --input '{
  "signalIds": [
    "signal_123"
  ],
  "status": "handled"
}' --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": {
    "data": {
      "updatedCount": 123,
      "requestedCount": 123
    }
  }
}
```

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

## Input reference

Bulk-set the status of one or several signals to handled or ignored.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.signalIds` | `array` | Yes | — | Signal ids (wsi\_xxx) to update, from List signals. Between 1 and 1000 per call. Minimum items: 1. Maximum items: 1000. |
| `payload.status` | `"handled" \| "ignored"` | Yes | — | Target status to set on every signal. Allowed: `handled`, `ignored`. |
| `payload.reason` | `string` | No | — | Optional note explaining the decision. Only meaningful when status is "ignored". |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Bulk-set the status of one or several signals to handled or ignored.",
    "properties": {
      "signalIds": {
        "type": "array",
        "description": "Signal ids (wsi_xxx) to update, from List signals. Between 1 and 1000 per call.",
        "minItems": 1,
        "maxItems": 1000,
        "items": {
          "type": "string"
        }
      },
      "status": {
        "type": "string",
        "description": "Target status to set on every signal.",
        "enum": [
          "handled",
          "ignored"
        ]
      },
      "reason": {
        "type": "string",
        "description": "Optional note explaining the decision. Only meaningful when status is \"ignored\"."
      }
    },
    "required": [
      "signalIds",
      "status"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Provider response payload. |
| `result.data.data` | `object` | No | — | — |
| `result.data.data.updatedCount` | `integer` | No | — | Number of signals whose status was updated. Can be lower than requestedCount: the write is team-scoped, so ids that were deleted or belong to another team are skipped. |
| `result.data.data.requestedCount` | `integer` | No | — | Number of signal ids sent in the request |
| `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": "Provider response payload.",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "updatedCount": {
                "type": "integer",
                "description": "Number of signals whose status was updated. Can be lower than requestedCount: the write is team-scoped, so ids that were deleted or belong to another team are skipped."
              },
              "requestedCount": {
                "type": "integer",
                "description": "Number of signal ids sent in the request"
              }
            },
            "additionalProperties": false
          }
        },
        "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.