> ## 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: Shift Hours Get Shifts

> List your Zoho CRM work shifts, with timings, breaks, users and holidays. Includes SDK V2 examples, input constraints, response fields, and Deepline cost.

List your Zoho CRM work shifts, with timings, breaks, users and holidays.

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

## 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_shift_hours_get_shifts',
  {},
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute zoho_crm_shift_hours_get_shifts --input '{}' --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe 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 requires no input fields.

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

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "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). |

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe zoho_crm_shift_hours_get_shifts --json`.

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