> ## 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: Contact Roles Update Roles

> Rename or reorder several Zoho CRM contact roles at once. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Rename or reorder several Zoho CRM contact roles at once.

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

## 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(
  'zoho_crm_contact_roles_update_roles',
  {
    "contact_roles": [
      {
        "name": "Example",
        "id": "id_123"
      }
    ]
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute zoho_crm_contact_roles_update_roles --input '{
  "contact_roles": [
    {
      "name": "Example",
      "id": "id_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": {
    "contact_roles": [
      {
        "code": "SUCCESS",
        "details": {
          "id": "id_123"
        },
        "message": "Example message",
        "status": "success"
      }
    ]
  }
}
```

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

## Input reference

Response containing a list of contact roles.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.contact_roles` | `array` | Yes | — | Array of contact role objects. Maximum items: 100. |

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Response containing a list of contact roles.",
    "properties": {
      "contact_roles": {
        "type": "array",
        "description": "Array of contact role objects.",
        "maxItems": 100,
        "items": {
          "type": "object",
          "description": "Contact role details.",
          "properties": {
            "name": {
              "type": "string",
              "description": "Name of the contact role.",
              "maxLength": 50,
              "pattern": "[A-Za-z0-9 ]{1,50}"
            },
            "id": {
              "type": "string",
              "description": "Unique identifier for the contact role.",
              "maxLength": 19
            },
            "sequence_number": {
              "type": "number",
              "description": "Sequence number for ordering, can be object or null."
            }
          },
          "required": [
            "name",
            "id"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "contact_roles"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | Response object for successful contact role update. |
| `result.data.contact_roles` | `array` | Yes | — | Array of contact role update results Maximum items: 100. |
| `result.data.contact_roles[].code` | `"SUCCESS"` | Yes | — | Status code for the operation. Allowed: `SUCCESS`. |
| `result.data.contact_roles[].details` | `object` | Yes | — | Details of the updated contact role. |
| `result.data.contact_roles[].details.id` | `string` | Yes | — | Unique identifier for the updated contact role. Maximum length: 19. |
| `result.data.contact_roles[].message` | `string` | Yes | — | Operation message. Maximum length: 255. |
| `result.data.contact_roles[].status` | `"success"` | Yes | — | Operation status. Allowed: `success`. |
| `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": "Response object for successful contact role update.",
        "properties": {
          "contact_roles": {
            "type": "array",
            "description": "Array of contact role update results",
            "maxItems": 100,
            "items": {
              "type": "object",
              "description": "Contact role update result details.",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Status code for the operation.",
                  "enum": [
                    "SUCCESS"
                  ]
                },
                "details": {
                  "type": "object",
                  "description": "Details of the updated contact role.",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "Unique identifier for the updated contact role.",
                      "maxLength": 19
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "additionalProperties": false
                },
                "message": {
                  "type": "string",
                  "description": "Operation message.",
                  "maxLength": 255
                },
                "status": {
                  "type": "string",
                  "description": "Operation status.",
                  "enum": [
                    "success"
                  ]
                }
              },
              "required": [
                "code",
                "details",
                "message",
                "status"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "contact_roles"
        ],
        "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](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.