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

# EmailBison: Bulk Delete Leads By ID

> Permanently delete EmailBison leads by ID. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Permanently delete EmailBison leads by ID.

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

## 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(
  'emailbison_bulk_delete_leads_by_id',
  {
    "lead_ids": [
      123
    ]
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute emailbison_bulk_delete_leads_by_id --input '{
  "lead_ids": [
    123
  ]
}' --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": {
      "success": true,
      "message": "Example message"
    }
  }
}
```

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

## Input reference

Permanently delete leads and associated data **Hold on. You may not need to delete leads.** You may be able to simply re-upload leads instead **I mapped the wrong custom variables for these leads** No problem! Simply re-upload the leads and we'll update the records in place. This is especially useful if you already have lead history like conversations, campaigns, etc. **I don't to email these leads anymore** We recommend unsubscribing these leads instead. Bulk select -> Update Status -> Unsubscribe. This way, you can preserve the lead history and stats for future reports. **I want to update these leads with more data** Instead of deleting, simply re-upload the leads. We'll update the records in place. This includes all campaign emails too. **I attached the wrong tags** You can simply bulk select and remove tags instead of deleting the entire leads. **I don't want to use too much data** See the live schema below for the complete notes.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.lead_ids` | `array` | Yes | — | The id of an existing record in the leads table. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Permanently delete leads and associated data **Hold on. You may not need to delete leads.** You may be able to simply re-upload leads instead **I mapped the wrong custom variables for these leads** No problem! Simply re-upload the leads and we'll update the records in place. This is especially useful if you already have lead history like conversations, campaigns, etc. **I don't to email these leads anymore** We recommend unsubscribing these leads instead. Bulk select -> Update Status -> Unsubscribe. This way, you can preserve the lead history and stats for future reports. **I want to update these leads with more data** Instead of deleting, simply re-upload the leads. We'll update the records in place. This includes all campaign emails too. **I attached the wrong tags** You can simply bulk select and remove tags instead of deleting the entire leads. **I don't want to use too much data** We have no limits on lead storage. You can store as many leads as you want. We recommend keeping the leads in your workspace for future campaigns. **Why is it recommended to not delete leads?** We build up history for every lead record you upload. There's no harm in keeping it in the workspace. If you delete leads, future responses from that lead will be untracked and not tied to any campaigns. This can be harder to manage for your team. The behaviour of deleting leads comes from other sequencers that charge you for lead storage. You don't need to worry about deleting leads for 99% of use cases. **If you still want to delete leads, please read below carefully** **Leads will be removed from campaigns** This will stop all future emails for the selected leads and remove them from all campaigns. If campaigns have no more leads remaining, they will be marked as \"completed\" **Previous campaign stats will be preserved** We will preserve all past campaign stats like replies, opens, emails sent, etc. **Past and future lead conversations will be affected** Past conversations will no longer be tied to these leads, and future emails in those conversations will show us as \"untracked.\" **Leads will no longer be accessible via API** If you have workflows that use these leads, they will no longer work. These leads will be deleted permanently. If you re-upload them in the future, they will be different lead records. **Future campaign stats will not be tracked** If any of these leads reply in the future, those emails not increment any stats. They will show up as \"untracked replies.\" This also means that any webhook workflows will also be affected. **We recommend unsubscribing these leads instead** If you simply don't want to email these leads anymore, we recommend unsubscribing them instead.",
    "properties": {
      "lead_ids": {
        "type": "array",
        "description": "The id of an existing record in the leads table.",
        "items": {
          "type": "integer"
        }
      }
    },
    "required": [
      "lead_ids"
    ],
    "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.success` | `boolean` | No | — | — |
| `result.data.data.message` | `string` | No | — | — |
| `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": {
              "success": {
                "type": "boolean"
              },
              "message": {
                "type": "string"
              }
            },
            "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

* [EmailBison provider guide](https://deepline.com/docs/providers/emailbison/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.