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

> Activate layout with profile associations. Includes SDK V2 guidance, input constraints, response fields, and Deepline credit cost.

Activate layout with profile associations.

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

## Run this action

This action has conditional or dynamic input fields that cannot be represented by a reliable static example.

Inspect the live contract before executing it:

```bash theme={null}
deepline tools get zoho_crm_layouts_activate_deactivate_layout_activate --json
```

## Example response

The static output schema is not detailed enough to generate a reliable example. Use `deepline tools get zoho_crm_layouts_activate_deactivate_layout_activate --json` for the complete live contract.

## Input reference

Request payload for activating a single layout with optional profile associations. Only one layout can be activated per request.

| Name              | Type     | Required | Default | Details                                                                                                                                                                                                                                                                                                                                     |
| ----------------- | -------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.id`      | `string` | Yes      | —       | The unique identifier of the layout to activate or deactivate. Must be a valid layout ID that exists within the specified module. Layout ID values are data center-specific. Format: `int64`.                                                                                                                                               |
| `payload.module`  | `string` | Yes      | —       | The CRM module API name that contains the layout. Supports both standard Zoho CRM modules (e.g., Leads, Contacts, Deals) and custom modules created in the organization. Module names follow PascalCase convention and may contain underscores for custom modules. Minimum length: 1. Maximum length: 100. Pattern: `^[A-Z][A-Za-z0-9_]*$`. |
| `payload.layouts` | `array`  | Yes      | —       | Array containing exactly one layout object to activate. The layout includes its unique identifier and optionally the profiles to associate or disassociate. Profile associations can be added (default) or removed (using \_delete flag). The array must contain exactly one item. Minimum items: 1. Maximum items: 1.                      |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Request payload for activating a single layout with optional profile associations. Only one layout can be activated per request.",
    "properties": {
      "id": {
        "type": "string",
        "description": "The unique identifier of the layout to activate or deactivate. Must be a valid layout ID that exists within the specified module. Layout ID values are data center-specific.",
        "format": "int64"
      },
      "module": {
        "type": "string",
        "description": "The CRM module API name that contains the layout. Supports both standard Zoho CRM modules (e.g., Leads, Contacts, Deals) and custom modules created in the organization. Module names follow PascalCase convention and may contain underscores for custom modules.",
        "minLength": 1,
        "maxLength": 100,
        "pattern": "^[A-Z][A-Za-z0-9_]*$"
      },
      "layouts": {
        "type": "array",
        "description": "Array containing exactly one layout object to activate. The layout includes its unique identifier and optionally the profiles to associate or disassociate. Profile associations can be added (default) or removed (using _delete flag). The array must contain exactly one item.",
        "minItems": 1,
        "maxItems": 1,
        "items": {
          "type": "object",
          "description": "Layout activation configuration with optional profile associations",
          "properties": {
            "id": {
              "type": "string",
              "description": "The unique identifier of the layout to activate. Must reference an existing deactivated layout within the specified module. The ID is represented as a string containing a 64-bit integer value. Layout IDs are data center-specific.",
              "minLength": 1,
              "maxLength": 20,
              "pattern": "^[0-9]+$"
            },
            "profiles": {
              "type": "array",
              "description": "Optional array of profile associations for this layout. Profiles define which user roles can access this layout. Use the _delete flag to remove existing associations. Empty array or omitting this field entirely preserves existing profile associations. At least one profile must remain associated with the layout after all operations are applied. While duplicate profile IDs are technically allowed, they cause unnecessary processing and should be avoided.",
              "maxItems": 100,
              "items": {
                "type": "object",
                "description": "Profile association configuration for the layout",
                "properties": {
                  "id": {
                    "type": "string",
                    "description": "The unique identifier of the profile to associate or disassociate with this layout. Must be a profile that exists in the CRM organization and is associated with the specified module. The ID is represented as a string containing a 64-bit integer value.",
                    "minLength": 1,
                    "maxLength": 20,
                    "pattern": "^[0-9]+$"
                  },
                  "_delete": {
                    "type": "boolean",
                    "description": "Flag to remove this profile association from the layout. When true, the profile will be disassociated from the layout. When false or omitted, the profile will be associated with the layout. Cannot remove the last remaining profile from a layout."
                  }
                },
                "required": [
                  "id"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "id"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "id",
      "module",
      "layouts"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name                               | Type        | Required | Default | Details                                                                                                   |
| ---------------------------------- | ----------- | -------- | ------- | --------------------------------------------------------------------------------------------------------- |
| `result.data`                      | `object`    | Yes      | —       | Success response for layout activation operation                                                          |
| `result.data.layouts`              | `array`     | Yes      | —       | Array containing the activation result for the layout Minimum items: 1. Maximum items: 1.                 |
| `result.data.layouts[].code`       | `"SUCCESS"` | Yes      | —       | Operation result code indicating successful activation Allowed: `SUCCESS`.                                |
| `result.data.layouts[].details`    | `object`    | Yes      | —       | Additional details about the activated layout                                                             |
| `result.data.layouts[].details.id` | `string`    | Yes      | —       | The unique identifier of the activated layout Minimum length: 1. Maximum length: 20. Pattern: `^[0-9]+$`. |
| `result.data.layouts[].message`    | `string`    | Yes      | —       | Human-readable confirmation message Maximum length: 200.                                                  |
| `result.data.layouts[].status`     | `"success"` | Yes      | —       | Overall 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={null}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "type": "object",
        "description": "Success response for layout activation operation",
        "properties": {
          "layouts": {
            "type": "array",
            "description": "Array containing the activation result for the layout",
            "minItems": 1,
            "maxItems": 1,
            "items": {
              "type": "object",
              "description": "Layout activation result details",
              "properties": {
                "code": {
                  "type": "string",
                  "description": "Operation result code indicating successful activation",
                  "enum": [
                    "SUCCESS"
                  ]
                },
                "details": {
                  "type": "object",
                  "description": "Additional details about the activated layout",
                  "properties": {
                    "id": {
                      "type": "string",
                      "description": "The unique identifier of the activated layout",
                      "minLength": 1,
                      "maxLength": 20,
                      "pattern": "^[0-9]+$"
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "additionalProperties": false
                },
                "message": {
                  "type": "string",
                  "description": "Human-readable confirmation message",
                  "maxLength": 200
                },
                "status": {
                  "type": "string",
                  "description": "Overall operation status",
                  "enum": [
                    "success"
                  ]
                }
              },
              "required": [
                "code",
                "details",
                "message",
                "status"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "layouts"
        ],
        "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)
