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

> Retrieve all shift hours. Includes SDK V2 and CLI requests, input constraints, response fields, and Deepline credit cost.

Retrieve all shift hours.

<Info>
  Tool ID: `zoho_crm_shift_hours_get_shifts`
</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_shift_hours_get_shifts',
  {},
);

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

### CLI

```bash theme={null}
deepline tools execute zoho_crm_shift_hours_get_shifts --input '{}' --json
```

## Example response

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

## Input reference

Retrieves all configured shift hours including shift timing, break hours, users, and holidays for each shift.

This action does not require input fields.

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Retrieves all configured shift hours including shift timing, break hours, users, and holidays for each shift.",
    "properties": {},
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name                                                                   | Type                                                                                       | Required | Default | Details                                                                                                       |
| ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | -------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| `result.data`                                                          | `object`                                                                                   | Yes      | —       | Schema definition                                                                                             |
| `result.data.shift_count`                                              | `object`                                                                                   | Yes      | —       | Count of shifts with user assignments                                                                         |
| `result.data.shift_count.total_shift_with_user`                        | `integer`                                                                                  | Yes      | —       | Total number of shifts that have users assigned Format: `int32`. Minimum: 0.                                  |
| `result.data.shift_hours`                                              | `array`                                                                                    | Yes      | —       | List of configured shift hours Maximum items: 50.                                                             |
| `result.data.shift_hours[].custom_timing`                              | `array \| null`                                                                            | Yes      | —       | Different shift timings for different days (null when same\_as\_everyday is true)                             |
| `result.data.shift_hours[].custom_timing[].days`                       | `"Monday" \| "Tuesday" \| "Wednesday" \| "Thursday" \| "Friday" \| "Saturday" \| "Sunday"` | Yes      | —       | Day of the week Allowed: `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, `Sunday`.        |
| `result.data.shift_hours[].custom_timing[].shift_timing`               | `array`                                                                                    | Yes      | —       | Start and end time for the shift Minimum items: 2. Maximum items: 2.                                          |
| `result.data.shift_hours[].users_count`                                | `integer`                                                                                  | Yes      | —       | Number of users assigned to this shift Format: `int32`. Minimum: 0.                                           |
| `result.data.shift_hours[].holidays`                                   | `array \| null`                                                                            | Yes      | —       | List of holidays for this shift                                                                               |
| `result.data.shift_hours[].holidays[].date`                            | `string`                                                                                   | Yes      | —       | Holiday date in YYYY-MM-DD format Format: `date`.                                                             |
| `result.data.shift_hours[].holidays[].year`                            | `string`                                                                                   | Yes      | —       | Year of the holiday Maximum length: 100.                                                                      |
| `result.data.shift_hours[].holidays[].name`                            | `string`                                                                                   | Yes      | —       | Name of the holiday Maximum length: 100.                                                                      |
| `result.data.shift_hours[].holidays[].userFmt`                         | `string`                                                                                   | Yes      | —       | User-formatted date string Maximum length: 100.                                                               |
| `result.data.shift_hours[].holidays[].id`                              | `string`                                                                                   | Yes      | —       | Unique identifier for the holiday Maximum length: 100. Pattern: `^[0-9]+$`.                                   |
| `result.data.shift_hours[].daily_timing`                               | `array \| null`                                                                            | Yes      | —       | Default timing for all days (null when same\_as\_everyday is false) Minimum items: 2. Maximum items: 2.       |
| `result.data.shift_hours[].timezone`                                   | `string`                                                                                   | Yes      | —       | Timezone identifier (e.g., Africa/Abidjan, America/New\_York) Maximum length: 100.                            |
| `result.data.shift_hours[].name`                                       | `string`                                                                                   | Yes      | —       | Name of the shift Maximum length: 80.                                                                         |
| `result.data.shift_hours[].break_hours`                                | `array \| null`                                                                            | Yes      | —       | List of break periods for this shift Maximum items: 2.                                                        |
| `result.data.shift_hours[].break_hours[].custom_timing`                | `array \| null`                                                                            | Yes      | —       | Different break timings for different days (null when same\_as\_everyday is true)                             |
| `result.data.shift_hours[].break_hours[].custom_timing[].break_timing` | `array`                                                                                    | Yes      | —       | Start and end time for the break Minimum items: 2. Maximum items: 2.                                          |
| `result.data.shift_hours[].break_hours[].custom_timing[].days`         | `"Monday" \| "Tuesday" \| "Wednesday" \| "Thursday" \| "Friday" \| "Saturday" \| "Sunday"` | Yes      | —       | Day of the week Allowed: `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, `Sunday`.        |
| `result.data.shift_hours[].break_hours[].daily_timing`                 | `array \| null`                                                                            | Yes      | —       | Default break timing for all days (null when same\_as\_everyday is false) Minimum items: 2. Maximum items: 2. |
| `result.data.shift_hours[].break_hours[].same_as_everyday`             | `boolean`                                                                                  | Yes      | —       | Indicates if break has same timing every day                                                                  |
| `result.data.shift_hours[].break_hours[].id`                           | `string`                                                                                   | Yes      | —       | Unique identifier for the break hour Maximum length: 100. Pattern: `^[0-9]+$`.                                |
| `result.data.shift_hours[].break_hours[].break_days`                   | `array`                                                                                    | Yes      | —       | Days when this break applies Maximum items: 50.                                                               |
| `result.data.shift_hours[].shift_days`                                 | `array`                                                                                    | Yes      | —       | Days when this shift is active Maximum items: 50.                                                             |
| `result.data.shift_hours[].same_as_everyday`                           | `boolean`                                                                                  | Yes      | —       | Indicates if shift has same timing every day                                                                  |
| `result.data.shift_hours[].id`                                         | `string`                                                                                   | Yes      | —       | Unique identifier for the shift hour Maximum length: 100. Pattern: `^[0-9]+$`.                                |
| `result.data.shift_hours[].users`                                      | `array \| null`                                                                            | Yes      | —       | List of users assigned to this shift (null when no users assigned)                                            |
| `result.data.shift_hours[].users[].role`                               | `object`                                                                                   | Yes      | —       | User's role information                                                                                       |
| `result.data.shift_hours[].users[].role.name`                          | `string`                                                                                   | Yes      | —       | Role name Maximum length: 100.                                                                                |
| `result.data.shift_hours[].users[].role.id`                            | `string`                                                                                   | Yes      | —       | Role ID Maximum length: 100. Pattern: `^[0-9]+$`.                                                             |
| `result.data.shift_hours[].users[].name`                               | `string`                                                                                   | Yes      | —       | User's name Maximum length: 100.                                                                              |
| `result.data.shift_hours[].users[].id`                                 | `string`                                                                                   | Yes      | —       | User's ID Maximum length: 100. Pattern: `^[0-9]+$`.                                                           |
| `result.data.shift_hours[].users[].email`                              | `string`                                                                                   | Yes      | —       | User's email address Format: `email`.                                                                         |
| `result.data.shift_hours[].users[].zuid`                               | `string`                                                                                   | Yes      | —       | Zoho unique identifier for the user Maximum length: 100.                                                      |
| `result.data.shift_hours[].users[].effective_from`                     | `string`                                                                                   | Yes      | —       | Date from which the user is assigned to this shift Format: `date`.                                            |
| `result.meta`                                                          | `object`                                                                                   | No       | —       | Additional response metadata (status, paging).                                                                |

<Info>
  This output schema is too large to embed without slowing the page. Get the complete live contract with `deepline tools get zoho_crm_shift_hours_get_shifts --json`.
</Info>

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