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

# Zoho CRM: README

> Mass convert leads. Zoho CRM Mass Convert Mass Convert reference includes SDK V2 and CLI requests, input constraints, response fields, and Deepline cost.

Mass convert leads.

<Info>
  Tool ID: `zoho_crm_mass_convert_mass_convert`
</Info>

## Run this action

Use the TypeScript SDK for a single call. Put `ctx.tools.execute(...)` inside a Play when the call should be durable, scheduled, or run across a CSV.

```ts theme={null}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'zoho_crm_mass_convert_mass_convert',
  {
    "ids": [
      "id_123"
    ]
  },
);

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

### CLI

```bash theme={null}
deepline tools execute zoho_crm_mass_convert_mass_convert --input '{
  "ids": [
    "id_123"
  ]
}' --json
```

## Example response

The SDK exposes this shape at `result.toolResponse.raw`. Values below are representative.

```json theme={null}
{
  "data": {
    "code": "SCHEDULED",
    "message": "Example message",
    "status": "success",
    "details": {
      "job_id": "job_123"
    }
  }
}
```

Use `deepline tools get zoho_crm_mass_convert_mass_convert --json` for the latest machine-readable contract.

## Input reference

Request payload for mass convert operation.

| Name                                 | Type      | Required | Default | Details                                                                                                                                                                                   |
| ------------------------------------ | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.ids`                        | `array`   | Yes      | —       | Array of Lead record IDs to be converted. Maximum 50 IDs. Maximum items: 50.                                                                                                              |
| `payload.Deals`                      | `object`  | No       | —       | Optional Deal record template to use when converting leads to Deals. If provided, it must include all mandatory Deal fields, and may include any other Deal fields as needed.             |
| `payload.assign_to`                  | `object`  | No       | —       | User assignment information for the converted records. Use Get Users API to retrieve user id.                                                                                             |
| `payload.portal_user_type`           | `object`  | No       | —       | Portal user type reference for the converted contact, if applicable.                                                                                                                      |
| `payload.related_modules`            | `array`   | No       | —       | List of related modules (Tasks/Events/Calls) to move with converted records. If present, ownership of those related records will be assigned to the user in assign\_to. Maximum items: 3. |
| `payload.carry_over_tags`            | `array`   | No       | —       | List of tag objects to carry over to converted records (Contacts, Deals, Accounts supported). Maximum items: 3.                                                                           |
| `payload.move_attachments_to`        | `object`  | No       | —       | Target module and record to which attachments should be moved after converting the lead (Contacts, Deals, Accounts supported).                                                            |
| `payload.apply_assignment_threshold` | `boolean` | No       | —       | Flag to indicate whether assignment threshold rules should be applied when assigning records.Default value will be true                                                                   |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Request payload for mass convert operation.",
    "properties": {
      "ids": {
        "type": "array",
        "description": "Array of Lead record IDs to be converted. Maximum 50 IDs.",
        "maxItems": 50,
        "items": {
          "type": "string",
          "description": "A lead record id.",
          "maxLength": 255
        }
      },
      "Deals": {
        "type": "object",
        "description": "Optional Deal record template to use when converting leads to Deals. If provided, it must include all mandatory Deal fields, and may include any other Deal fields as needed.",
        "properties": {
          "Deal_Name": {
            "type": "string",
            "description": "Name of the deal to be created for converted leads.",
            "maxLength": 255
          }
        },
        "required": [
          "Deal_Name"
        ],
        "additionalProperties": false
      },
      "assign_to": {
        "type": "object",
        "description": "User assignment information for the converted records. Use Get Users API to retrieve user id.",
        "properties": {
          "id": {
            "type": "string",
            "description": "User id to assign the converted records to.",
            "maxLength": 255
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "portal_user_type": {
        "type": "object",
        "description": "Portal user type reference for the converted contact, if applicable.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Portal user type id.",
            "maxLength": 255
          }
        },
        "required": [
          "id"
        ],
        "additionalProperties": false
      },
      "related_modules": {
        "type": "array",
        "description": "List of related modules (Tasks/Events/Calls) to move with converted records. If present, ownership of those related records will be assigned to the user in assign_to.",
        "maxItems": 3,
        "items": {
          "type": "object",
          "description": "A related-module configuration object containing module API name and id.",
          "properties": {
            "api_name": {
              "type": "string",
              "description": "Related module API name (e.g., Tasks, Events, Calls).",
              "maxLength": 100
            },
            "id": {
              "type": "string",
              "description": "Related module id",
              "maxLength": 255
            }
          },
          "required": [
            "api_name",
            "id"
          ],
          "additionalProperties": false
        }
      },
      "carry_over_tags": {
        "type": "array",
        "description": "List of tag objects to carry over to converted records (Contacts, Deals, Accounts supported).",
        "maxItems": 3,
        "items": {
          "type": "object",
          "description": "A tag mapping object describing target module api name and id.",
          "properties": {
            "api_name": {
              "type": "string",
              "description": "Module API name where the tag applies.",
              "maxLength": 100
            },
            "id": {
              "type": "string",
              "description": "Module Id where the tag applies.",
              "maxLength": 255
            }
          },
          "required": [
            "api_name",
            "id"
          ],
          "additionalProperties": false
        }
      },
      "move_attachments_to": {
        "type": "object",
        "description": "Target module and record to which attachments should be moved after converting the lead (Contacts, Deals, Accounts supported).",
        "properties": {
          "api_name": {
            "type": "string",
            "description": "Module API name where attachments will be moved.",
            "maxLength": 100
          },
          "id": {
            "type": "string",
            "description": "Module Id where attachments will be moved.",
            "maxLength": 255
          }
        },
        "required": [
          "api_name",
          "id"
        ],
        "additionalProperties": false
      },
      "apply_assignment_threshold": {
        "type": "boolean",
        "description": "Flag to indicate whether assignment threshold rules should be applied when assigning records.Default value will be true"
      }
    },
    "required": [
      "ids"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name                         | Type          | Required | Default | Details                                                                            |
| ---------------------------- | ------------- | -------- | ------- | ---------------------------------------------------------------------------------- |
| `result.data`                | `object`      | Yes      | —       | Response returned when the mass convert job is scheduled.                          |
| `result.data.code`           | `"SCHEDULED"` | Yes      | —       | Response code indicating the job status. Allowed: `SCHEDULED`. Maximum length: 50. |
| `result.data.message`        | `string`      | Yes      | —       | Human-readable message describing the result. Maximum length: 512.                 |
| `result.data.status`         | `"success"`   | Yes      | —       | Status category of the response. Allowed: `success`. Maximum length: 50.           |
| `result.data.details`        | `object`      | Yes      | —       | Additional details about the scheduled job including job id.                       |
| `result.data.details.job_id` | `string`      | Yes      | —       | Identifier for the scheduled mass convert job. Maximum length: 255.                |
| `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": "object",
        "description": "Response returned when the mass convert job is scheduled.",
        "properties": {
          "code": {
            "type": "string",
            "description": "Response code indicating the job status.",
            "maxLength": 50,
            "enum": [
              "SCHEDULED"
            ]
          },
          "message": {
            "type": "string",
            "description": "Human-readable message describing the result.",
            "maxLength": 512
          },
          "status": {
            "type": "string",
            "description": "Status category of the response.",
            "maxLength": 50,
            "enum": [
              "success"
            ]
          },
          "details": {
            "type": "object",
            "description": "Additional details about the scheduled job including job id.",
            "properties": {
              "job_id": {
                "type": "string",
                "description": "Identifier for the scheduled mass convert job.",
                "maxLength": 255
              }
            },
            "required": [
              "job_id"
            ],
            "additionalProperties": false
          }
        },
        "required": [
          "code",
          "message",
          "status",
          "details"
        ],
        "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

* [SDK V2 quickstart](/docs/sdk-v2/quickstart)
* [SDK reference](/docs/sdk-v2/sdk-reference)
* [Run tools across a CSV](/docs/sdk-v2/batch-csv)
