> ## 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: Update Or Create Multiple Leads

> Update or create up to 500 EmailBison leads in one call. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Update or create up to 500 EmailBison leads in one call.

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

## 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_update_or_create_multiple_leads',
  {
    "leads": [
      {
        "first_name": "Jane",
        "email": "jane.doe@example.com"
      }
    ]
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute emailbison_update_or_create_multiple_leads --input '{
  "leads": [
    {
      "first_name": "Jane",
      "email": "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": "example"
}
```

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

## Input reference

Update or create multiple lead records in a single request (limit 500 per request). Personal domains will be skipped unless enabled on your instance. get in touch with support if you want to send to personal domains (e.g. gmail.com)

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.existing_lead_behavior` | `"put" \| "patch"` | No | — | The behavior to apply when a lead already exists. If "put", replace all the lead's fields, including custom variables, with the fields from this request. Fields not passed are cleared. If "patch", only update a field if it's passed. Fields and custom variables not passed are kept. Will default to "put" if not passed. Allowed: `put`, `patch`. |
| `payload.leads` | `array` | Yes | — | An array of lead objects. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Update or create multiple lead records in a single request (limit 500 per request). Personal domains will be skipped unless enabled on your instance. get in touch with support if you want to send to personal domains (e.g. gmail.com)",
    "properties": {
      "existing_lead_behavior": {
        "type": "string",
        "description": "The behavior to apply when a lead already exists. If \"put\", replace all the lead's fields, including custom variables, with the fields from this request. Fields not passed are cleared. If \"patch\", only update a field if it's passed. Fields and custom variables not passed are kept. Will default to \"put\" if not passed.",
        "enum": [
          "put",
          "patch"
        ]
      },
      "leads": {
        "type": "array",
        "description": "An array of lead objects.",
        "items": {
          "type": "object",
          "properties": {
            "first_name": {
              "type": "string",
              "description": "The first name of the contact."
            },
            "last_name": {
              "type": [
                "string",
                "null"
              ],
              "description": "optional The last name of the contact."
            },
            "email": {
              "type": "string",
              "description": "The email address of the contact. Must be unique and in a valid email format."
            },
            "title": {
              "type": [
                "string",
                "null"
              ],
              "description": "optional The title of the contact."
            },
            "company": {
              "type": [
                "string",
                "null"
              ],
              "description": "optional The company name of the contact."
            },
            "notes": {
              "type": [
                "string",
                "null"
              ],
              "description": "optional Additional notes about the contact."
            },
            "custom_variables": {
              "type": "array",
              "description": "optional Array of custom variable objects.",
              "items": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "name": {
                    "description": "The name of the custom variable field."
                  },
                  "value": {
                    "description": "The value of the custom variable.",
                    "anyOf": [
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false
              }
            }
          },
          "required": [
            "first_name",
            "email"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "leads"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `string` | Yes | — | Provider response payload. |
| `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": "string",
        "description": "Provider response payload."
      },
      "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.