# Timely

Timely is an automatic time-tracking platform capturing activity across applications, calendars, and devices, creating detailed timesheets for billing or productivity insights

- **Category:** time tracking software
- **Auth:** OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 41
- **Triggers:** 0
- **Slug:** `TIMELY`
- **Version:** 20260309_00

## Tools

### Create Client

**Slug:** `TIMELY_CREATE_CLIENT`

Tool to create a new client in the specified Timely account. Use when adding a new client to track time against. Client names must be unique within an account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Client name (must be unique within the account). |
| `color` | string | No | Hexadecimal color code (without '#') for the client. Used for visual identification in the Timely UI. |
| `active` | boolean | No | Whether the client is active. Defaults to true. |
| `account_id` | integer | No | Timely account ID where the client will be created. Optional; if not provided, the first accessible account is used. |
| `external_id` | string | No | Optional external identifier for syncing with external systems. Use this to map the client to your own system's ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Day Locking

**Slug:** `TIMELY_CREATE_DAY_LOCKING`

Tool to create a day locking entry that prevents editing of time entries for specific dates and users. Use when you need to lock time entries to prevent modifications after approval or billing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | No | Timely account ID to create the day locking for. Optional; if not provided, the first accessible account is used. |
| `day_property` | object | Yes | Day property object containing user IDs, dates, and locked status |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Label

**Slug:** `TIMELY_CREATE_LABEL`

Tool to create a new label in the specified Timely account. Use when you need to create a label for categorizing projects, time entries, or other resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the label to create. |
| `color` | string | No | Hex color code for the label without the '#' prefix (e.g., '1976d2', '00796b'). A random color is assigned if omitted. |
| `parent_id` | integer | No | Parent label ID for creating hierarchical labels. Omit for top-level labels. |
| `account_id` | integer | No | Timely account ID where the label will be created. Optional; if not provided, the first accessible account is used. |
| `external_id` | string | No | External identifier reference for integration purposes. Must be alphanumeric, maximum 512 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create report

**Slug:** `TIMELY_CREATE_REPORT`

Tool to generate reports for a Timely account with optional filters. Use when you need to create reports for time tracking, billing analysis, or project summaries with date range or user/project filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `since` | string | No | Start date for the report period in YYYY-MM-DD format |
| `until` | string | No | End date for the report period in YYYY-MM-DD format |
| `user_ids` | string | No | Comma-separated list of user IDs to filter reports by |
| `account_id` | integer | No | Timely account ID to generate reports for. Optional; if not provided, the first accessible account is used. |
| `project_ids` | string | No | Comma-separated list of project IDs to filter reports by |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Team

**Slug:** `TIMELY_CREATE_TEAM`

Tool to create a new team in the specified Timely account. Use when organizing users into teams for better collaboration and project management.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the team to create |
| `color` | string | Yes | 6-character hex color code without # symbol for the team (e.g., 1976d2, 00796b, 2e7d32) |
| `user_ids` | array | No | Array of user IDs to add as members of the team |
| `account_id` | integer | No | Timely account ID where the team will be created. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook

**Slug:** `TIMELY_CREATE_WEBHOOK`

Tool to create a new webhook for the specified account. Use after specifying the target URL and event subscriptions. Call only once per configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The HTTPS endpoint that will receive webhook payloads. |
| `account_id` | integer | No | Timely account ID the webhook belongs to. Optional; if not provided, the first accessible account is used. |
| `secret_token` | string | No | Optional secret token used to sign and verify webhook payloads. Set this to validate incoming requests are from Timely. |
| `subscriptions` | array | Yes | List of event types to subscribe to for receiving notifications. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete a label

**Slug:** `TIMELY_DELETE_LABEL`

Tool to delete a label by ID from a Timely account. Use when you need to remove an existing label.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The label ID to delete |
| `account_id` | integer | Yes | The ID of the account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete a team

**Slug:** `TIMELY_DELETE_TEAM`

Tool to delete a team by its ID. Use when you need to remove a specific team from the account. This operation is destructive and cannot be undone.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Team ID to delete |
| `account_id` | integer | No | Timely account ID the team belongs to. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook

**Slug:** `TIMELY_DELETE_WEBHOOK`

Tool to delete an existing webhook by its ID. Use when you need to remove a webhook subscription from an account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the webhook to delete. |
| `account_id` | integer | No | Timely account ID the webhook belongs to. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Filter reports

**Slug:** `TIMELY_FILTER_REPORTS`

Tool to filter Timely reports based on date range, users, projects, labels, teams, and billing status. Use when you need to generate custom reports with specific criteria or analyze time tracking data for specific periods or resources.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `to` | string | No | End date for the report filter in YYYY-MM-DD format |
| `from` | string | No | Start date for the report filter in YYYY-MM-DD format |
| `billed` | boolean | No | Filter by billing status. True for billed hours, False for unbilled hours, None for both. |
| `team_ids` | array | No | List of team IDs to filter reports by |
| `user_ids` | array | No | List of user IDs to filter reports by. If not provided, includes all users. |
| `label_ids` | array | No | List of label/tag IDs to filter reports by |
| `account_id` | integer | No | Timely account ID to filter reports for. Optional; if not provided, the first accessible account is used. |
| `project_ids` | array | No | List of project IDs to filter reports by. If not provided, includes all projects. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get activities

**Slug:** `TIMELY_GET_ACTIVITIES`

Tool to retrieve all activities (audit trail) for a Timely account. Activities include logged hours, created reports, shared reports, project changes, and other account events. Use when you need to view the activity log or audit trail for an account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | No | Timely account ID to retrieve activities for. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Client

**Slug:** `TIMELY_GET_CLIENT`

Tool to retrieve details of a specific client by its ID. Use when you need to fetch client information such as name, color, active status, or external references.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The client ID to retrieve |
| `account_id` | integer | No | Timely account ID that contains the client. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get current user's permissions

**Slug:** `TIMELY_GET_CURRENT_PERMISSIONS`

Tool to retrieve the current user's permissions for a specified account. Use when you need to check what actions the authenticated user can perform.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | Yes | The ID of the account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get current user

**Slug:** `TIMELY_GET_CURRENT_USER`

Tool to retrieve the currently authenticated user. Use when you need to get details of the logged-in user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | Yes | Account ID |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve a label

**Slug:** `TIMELY_GET_LABEL`

Tool to retrieve a label by ID from a Timely account. Use when you need to fetch label details such as name, color, and parent relationship.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The label ID to retrieve |
| `account_id` | integer | Yes | The ID of the account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get project

**Slug:** `TIMELY_GET_PROJECT`

Tool to retrieve a single project by its ID. Use when you need detailed information about a specific project, such as its name, budget, billable status, or associated client.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The project ID to retrieve |
| `account_id` | integer | Yes | The ID of the account that owns the project |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve a team

**Slug:** `TIMELY_GET_TEAM`

Tool to retrieve details of a specific team by its ID. Use when you need to fetch team information including name, color, and members.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Team ID to retrieve |
| `account_id` | integer | No | Timely account ID the team belongs to. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve a user

**Slug:** `TIMELY_GET_USER`

Tool to retrieve a user by ID from a Timely account. Use when you need to fetch user details such as name, email, and avatar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The user ID to retrieve |
| `account_id` | integer | Yes | The ID of the account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user capacities

**Slug:** `TIMELY_GET_USER_CAPACITIES`

Tool to retrieve capacity information for a specific user in a Timely account. Use when you need to check user work capacity or availability schedules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | The user ID to retrieve capacities for |
| `account_id` | integer | Yes | The ID of the account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user permissions

**Slug:** `TIMELY_GET_USER_PERMISSIONS`

Tool to retrieve a user's permissions by their ID. Use when you need to check what permissions a specific user has in a Timely account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | The user ID to retrieve permissions for |
| `account_id` | integer | Yes | The ID of the account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Webhook

**Slug:** `TIMELY_GET_WEBHOOK`

Tool to retrieve a specific webhook by its ID. Use when you need to check the configuration or status of an existing webhook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique identifier of the webhook to retrieve. |
| `account_id` | integer | No | Timely account ID the webhook belongs to. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List accounts

**Slug:** `TIMELY_LIST_ACCOUNTS`

Retrieve all accessible Timely accounts for the authenticated user. Example: "List all Timely accounts"

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List clients

**Slug:** `TIMELY_LIST_CLIENTS`

Tool to list all clients in a Timely account with optional filtering and sorting. Use when you need to discover client IDs or names for project creation, reporting, or mapping external systems.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `show` | string ("active" | "archived" | "all") | No | Filter clients by status: 'active' for active clients (default), 'archived' for archived clients, or 'all' for both |
| `limit` | integer | No | Maximum number of clients to retrieve (default: 10000) |
| `order` | string ("asc" | "desc") | No | Sort direction: 'asc' for ascending or 'desc' for descending (default: asc) |
| `offset` | integer | No | Number of clients to skip before retrieving results |
| `account_id` | integer | No | Timely account ID to list clients for. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List events

**Slug:** `TIMELY_LIST_EVENTS`

Tool to list all events (time entries) in a Timely account with optional filtering by date range, users, and projects. Use when you need to retrieve time entries for reporting, analysis, or synchronization with external systems.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `pids` | string | No | Comma-separated project IDs to filter events by |
| `uids` | string | No | Comma-separated user IDs to filter events by |
| `limit` | integer | No | Number of results per page (default 50) |
| `since` | string | No | Start date filter in YYYY-MM-DD format |
| `until` | string | No | End date filter in YYYY-MM-DD format |
| `offset` | integer | No | Offset for pagination (number of records to skip) |
| `account_id` | integer | No | Timely account ID to list events for. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List forecasts

**Slug:** `TIMELY_LIST_FORECASTS`

Tool to list all forecasts (tasks) in a Timely account with optional date filtering. Use when you need to view planned tasks, retrieve forecast IDs, or analyze scheduled work.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `since` | string | No | Start date filter (YYYY-MM-DD) to retrieve forecasts from this date onwards |
| `until` | string | No | End date filter (YYYY-MM-DD) to retrieve forecasts up to this date |
| `account_id` | integer | No | Timely account ID to list forecasts for. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List labels

**Slug:** `TIMELY_LIST_LABELS`

Tool to list all labels in a Timely account. Use when you need to discover label IDs or names for organizing projects and time entries. Can optionally filter to show only child labels by providing a parent_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `parent_id` | integer | No | Filter to show only child labels of a specific parent label |
| `account_id` | integer | No | Timely account ID to list labels for. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List project events

**Slug:** `TIMELY_LIST_PROJECT_EVENTS`

Tool to list all events (time entries) for a specific project in Timely. Use when you need to retrieve all time logs associated with a project for reporting, analysis, or verification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | Yes | The ID of the Timely account |
| `project_id` | integer | Yes | The ID of the project to retrieve events for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List projects

**Slug:** `TIMELY_LIST_PROJECTS`

Tool to list all projects in a Timely account with optional filtering and sorting. Use when you need to discover project IDs or names for time entry creation, reporting, or mapping external systems.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort` | string | No | Field to sort projects by (default: name) |
| `limit` | integer | No | Maximum number of projects to retrieve |
| `order` | string ("asc" | "desc") | No | Sort direction: 'asc' for ascending or 'desc' for descending (default: asc) |
| `state` | string ("active" | "archived") | No | Filter projects by state: 'active' for active projects or 'archived' for archived ones |
| `filter` | string | No | Additional filtering options (deprecated parameter) |
| `offset` | integer | No | Number of projects to skip before retrieving results |
| `relation` | string | No | Filter projects by relationship type |
| `account_id` | integer | No | Timely account ID to list projects for. Optional; if not provided, the first accessible account is used. |
| `project_ids` | string | No | Comma-separated list of project IDs to filter by |
| `external_ids` | string | No | Comma-separated list of external IDs to filter by |
| `updated_after` | string | No | Retrieve only projects updated after this timestamp (ISO 8601 format or Unix timestamp) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List roles

**Slug:** `TIMELY_LIST_ROLES`

Tool to list all available roles in a Timely account. Use when you need to discover role IDs or names for user assignment or permission management.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | Yes | Timely account ID to list roles for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List teams

**Slug:** `TIMELY_LIST_TEAMS`

Tool to list all teams in the specified Timely account. Use when you need to retrieve all teams for collaboration and project management purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | No | Timely account ID to list teams for. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List user events

**Slug:** `TIMELY_LIST_USER_EVENTS`

Tool to list all events (time entries) for a specific user in Timely. Use when you need to retrieve all time logs for a user for reporting, analysis, or verification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | The user ID to retrieve events for |
| `account_id` | integer | No | The ID of the Timely account. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List users

**Slug:** `TIMELY_LIST_USERS`

Tool to list all users in a Timely account with optional filtering and pagination. Use when you need to discover user IDs, names, or emails for time entry creation, reporting, or user management.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Number of results per page (default 50) |
| `filter` | string ("all" | "active" | "deleted") | No | Filter options for user list. |
| `offset` | integer | No | Offset for pagination |
| `account_id` | integer | Yes | Account ID to list users for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhooks

**Slug:** `TIMELY_LIST_WEBHOOKS`

Tool to list all webhooks in the specified account. Use when you need to see existing webhook configurations or verify webhook setup.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | No | Timely account ID to list webhooks for. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Process bulk events

**Slug:** `TIMELY_PROCESS_BULK_EVENTS`

Tool to create, update, or delete multiple events in a single bulk operation. Use when performing multiple event operations to improve efficiency. Supports up to 100 operations per request across create, update, and delete operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `create` | array | No | Array of event objects to create (max 100 per request) |
| `delete` | array | No | Array of event IDs to delete (max 100 per request) |
| `update` | array | No | Array of event objects with IDs to update (max 100 per request) |
| `account_id` | integer | Yes | Timely account ID to perform bulk operations on |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve an account

**Slug:** `TIMELY_RETRIEVE_ACCOUNT`

Tool to retrieve details of a specific account by its ID. Use when you need to fetch fresh account info after confirming the ID. Example: "Retrieve account details for account ID 364"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Identifier of the account to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update a client

**Slug:** `TIMELY_UPDATE_CLIENT`

Tool to update an existing client by ID in Timely. Use when you need to modify client details such as name, status, color, or external ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The client ID to update |
| `client` | object | Yes | Client data to update |
| `account_id` | integer | No | The ID of the account. Optional; if not provided, the first accessible account is used. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update day locking settings

**Slug:** `TIMELY_UPDATE_DAY_LOCKING`

Tool to update day locking settings for specified users and dates. Use when you need to lock or unlock specific days for time tracking. Locked days prevent users from editing time entries on those dates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_id` | integer | No | The ID of the account. Optional; if not provided, the first accessible account is used |
| `day_property` | object | Yes | Day property object containing locking settings |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update a label

**Slug:** `TIMELY_UPDATE_LABEL`

Tool to update a label by ID in a Timely account. Use when you need to modify an existing label's name, color, or hierarchy.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The label ID to update |
| `label` | object | Yes | Label fields to update |
| `account_id` | integer | Yes | The ID of the account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update a project

**Slug:** `TIMELY_UPDATE_PROJECT`

Tool to update a project by ID in a Timely account. Use when you need to modify project details such as name, description, billing status, or archive a project.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The project ID to update |
| `project` | object | Yes | Project data to update |
| `account_id` | integer | Yes | The ID of the account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update a user

**Slug:** `TIMELY_UPDATE_USER`

Tool to update a user by ID in a Timely account. Use when you need to modify user details such as email, name, role, or status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The user ID to update |
| `user` | object | Yes | User data to update |
| `account_id` | integer | Yes | The ID of the account |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Webhook

**Slug:** `TIMELY_UPDATE_WEBHOOK`

Tool to update an existing webhook by ID. Use when you need to modify webhook settings such as URL, subscriptions, or active status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The webhook ID to update. |
| `url` | string | No | The HTTPS endpoint that will receive webhook payloads. |
| `active` | boolean | No | Whether the webhook is active. |
| `account_id` | integer | Yes | The ID of the account the webhook belongs to. |
| `secret_token` | string | No | Optional secret token used to sign and verify webhook payloads. Set this to validate incoming requests are from Timely. |
| `subscriptions` | array | No | List of event types to subscribe to for receiving notifications. |
| `custom_headers` | object | No | Custom headers to send with webhook requests. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
