> ## 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: Inputs, Cost &

> Update or create multiple lead records in a single request (limit 500 per request). Includes inputs, outputs, costs, and Deepline CLI examples.

## Run in Enrichment Spreadsheet

<Info>
  Use this function as a column step in `deepline enrich`.
</Info>

```bash theme={null}
deepline enrich --input leads.csv --output leads.enriched.csv --with 'result=emailbison_update_or_create_multiple_leads:{"leads":"{{leads}}"}' --json
```

<Tip>
  Map payload values to spreadsheet columns with `{{column_name}}` placeholders.
</Tip>

## Input Schema

| Name                             | Type               | Required | Default | Description                                                                                                                                                                                                                                                                                                                    |
| -------------------------------- | ------------------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `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. |
| `payload.leads`                  | `array`            | Yes      |         | An array of lead objects.                                                                                                                                                                                                                                                                                                      |

### Allowed values

| Field                            | Allowed values |
| -------------------------------- | -------------- |
| `payload.existing_lead_behavior` | `put`, `patch` |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "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 Schema

| Name          | Type     | Required | Default | Description                                    |
| ------------- | -------- | -------- | ------- | ---------------------------------------------- |
| `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={null}
  {
    "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>

## Advanced: Direct CLI

<Info>
  Use direct execution for single payload debugging.
</Info>

```bash theme={null}
deepline tools execute emailbison_update_or_create_multiple_leads --payload '{
  "leads": "array"
}' --json
```

### CLI flags

| Flag                        | Description                                         |
| --------------------------- | --------------------------------------------------- |
| `--json`                    | Print machine-readable output.                      |
| `--wait`                    | Wait for terminal provider status when supported.   |
| `--debug`                   | Enable wait mode with additional status/log output. |
| `--wait-timeout SECONDS`    | Max seconds to wait in wait mode.                   |
| `--poll-interval SECONDS`   | Polling interval in seconds during wait mode.       |
| `--timeout SECONDS`         | Request timeout in seconds.                         |
| `--connect-timeout SECONDS` | Connection timeout in seconds.                      |

## Cost

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