1. Overview
Clockify is a popular time tracking and timesheet application designed for teams of all sizes. It allows users to track work hours, manage projects, and analyze productivity.
With the GoInsight Clockify node, you can seamlessly integrate time and project management into your automated workflows. This allows you to programmatically manage the entire lifecycle of your Clockify data, including:
- Workspace and User Management: Retrieve information about workspaces and manage user profiles.
- Project and Task Control: Create, retrieve, update, and delete projects and their associated tasks.
- Client and Tag Organization: Manage clients and tags to better categorize your projects and time entries.
- Time Tracking Automation: Create, retrieve, update, and delete time entries for users, enabling automated time logging and reporting.
2. Prerequisites
Before using this node, you must have a valid Clockify account. You will also need to generate an API key from your Clockify account settings (Profile Settings > API) to authenticate your requests.
3. Credentials
For a detailed guide on how to obtain and configure your credentials, please refer to our official documentation: Credentials Configuration Guide.
4. Supported Operations
Summary
This node provides a comprehensive set of operations to interact with various resources within Clockify, such as Clients, Projects, Tags, Tasks, Time Entries, Users, and Workspaces.
| Resource | Operation | Description |
|---|---|---|
| Client | Create a Client | Creates a new client in a workspace on Clockify using API key authentication. |
| Client | Delete a Client | Deletes a specific client from Clockify using API key authentication. |
| Client | Get Many Clients | Gets all clients in a specified workspace from Clockify using API key authentication. |
| Client | Get a Client | Gets a specific client from Clockify using API key authentication. |
| Client | Update a Client | Updates a specific client in Clockify using API key authentication. |
| Project | Create a Project | Creates a new project in a workspace on Clockify using API key authentication. |
| Project | Delete a Project | Deletes a specific project from Clockify using API key authentication. |
| Project | Get Many Projects | Gets all projects in a specified workspace from Clockify using API key authentication. |
| Project | Get a Project | Gets a specific project from Clockify using API key authentication. |
| Project | Update a Project | Updates a specific project in a workspace on Clockify using API key authentication. |
| Project | Update a Project Estimate | Updates a specific project estimate in a workspace on Clockify using API key authentication. |
| Project | Update a Project Membership | Updates a specific project memberships in a workspace on Clockify using API key authentication. |
| Tag | Create a Tag | Creates a new tag in a workspace on Clockify using API key authentication. |
| Tag | Delete a Tag | Deletes a specific tag from Clockify using API key authentication. |
| Tag | Get Many Tags | Gets all tags in a specified workspace from Clockify using API key authentication. |
| Tag | Get a Tag | Gets a specific tag from Clockify using API key authentication. |
| Tag | Update a Tag | Updates a specific tag in a workspace on Clockify using API key authentication. |
| Task | Create a Task | Creates a new task for a project on Clockify using API key authentication. |
| Task | Delete a Task | Deletes a specific task from Clockify using API key authentication. |
| Task | Get Many Tasks | Gets all tasks for a specified project from Clockify using API key authentication. |
| Task | Get a Task | Gets a specific task for a project from Clockify using API key authentication. |
| Task | Update a Task | Updates a specific task of a project on Clockify using API key authentication. |
| Task | Update a Task Billable Rate | Updates a specific task's billable rate of a project on Clockify using API key authentication. |
| Task | Update a Task Cost Rate | Updates a specific task of a project on Clockify using API key authentication. |
| Time Entry | Create a Time Entry | Creates a new time entry in a workspace on Clockify using API key authentication. |
| Time Entry | Delete Time Entries for User | Deletes all time entries for a user in a workspace on Clockify using API key authentication. |
| Time Entry | Delete a Time Entry | Deletes a specific time entry in a workspace on Clockify using API key authentication. |
| Time Entry | Get Progress Time Entries | Gets all in progress time entries in a workspace on Clockify using API key authentication. |
| Time Entry | Get Time Entries for User | Gets many time entries for a user in a workspace on Clockify using API key authentication. |
| Time Entry | Get a Time Entry | Gets a specific time entry in a workspace on Clockify using API key authentication. |
| Time Entry | Update a Time Entry | Updates a specific time entry in a workspace on Clockify using API key authentication. |
| User | Get Many Users | Gets all users in a workspace from Clockify using API key authentication. |
| User | Get User Profile | Gets a member's profile on a workspace from Clockify using API key authentication. |
| User | Update User Profile | Use API token to update a member's profile on a workspace from clockify.me. |
| Workspace | Get Many Workspaces | Gets all workspaces for the current user from Clockify using API key authentication. |
| Workspace | Get a Workspace | Gets a workspace by ID from Clockify using API key authentication. |
Operation Details
Create a Client
Creates a new client in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to create the client in.
- ClientData: Client data to create. It should contain fields like:
Output:
- Client (object): Created client data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Create a Project
Creates a new project in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to create the project in.
- ProjectData: Project data to create. It should contain fields like:
Output:
- Project (object): Created project data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Create a Tag
Creates a new tag in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to create the tag in.
- TagData: Tag data to create. It should contain fields like:
Output:
- Tag (object): Created tag data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Create a Task
Creates a new task for a project on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace containing the project.
- ProjectId: The ID of the project to create the task in.
- TaskData: Task data to create. It should contain fields like:
Options:
- ContainsAssignee: Indicates whether to include assignee information in the task data.
Output:
- Task (object): Created task data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Create a Time Entry
Creates a new time entry in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to create the time entry in.
- TimeEntryData: Time entry data to create. It should contain fields like: required fields: "start" and "end".
Output:
- TimeEntry (object): Created time entry data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Delete Time Entries for User
Deletes all time entries for a user in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace containing the time entries.
- UserId: The ID of the user whose time entries should be deleted.
Output:
- Deleted (bool): Indicates whether the time entries were successfully deleted.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Delete a Client
Deletes a specific client from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the client belongs to.
- ClientId: The ID of the client to delete.
Output:
- Deleted (bool): Indicates whether the client was successfully deleted.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Delete a Project
Deletes a specific project from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the project belongs to.
- ProjectId: The ID of the project to delete.
Output:
- Deleted (bool): Indicates whether the project was successfully deleted.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Delete a Tag
Deletes a specific tag from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the tag belongs to.
- TagId: The ID of the tag to delete.
Output:
- Deleted (bool): Indicates whether the tag was successfully deleted.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Delete a Task
Deletes a specific task from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the project belongs to.
- ProjectId: The ID of the project the task belongs to.
- TaskId: The ID of the task to delete.
Output:
- Deleted (bool): Indicates whether the task was successfully deleted.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Delete a Time Entry
Deletes a specific time entry in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace containing the time entry.
- TimeEntryId: The ID of the time entry to delete.
Output:
- Deleted (bool): Indicates whether the time entry was successfully deleted.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get Many Clients
Gets all clients in a specified workspace from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to retrieve clients from.
Options:
- Query: Query parameters for filtering users. If not provided, all users will be retrieved.
Output:
- Clients (object-array): Client data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get Many Projects
Gets all projects in a specified workspace from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to retrieve projects from.
Options:
- Query: Query parameters for filtering projects. If not provided, all projects will be retrieved.
Output:
- Projects (object-array): Project data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get Many Tags
Gets all tags in a specified workspace from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to retrieve tags from.
Options:
- Query: Query parameters for filtering tags. If not provided, all tags will be retrieved.It can include fields like "name", "sort-column", "sort-order", "page", "page-size"
Output:
- Tags (object-array): Tag data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get Many Tasks
Gets all tasks for a specified project from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace containing the project.
- ProjectId: The ID of the project to retrieve tasks from.
Options:
- Query: Query parameters for filtering tasks. If not provided, all tasks will be retrieved.
Output:
- Tasks (object-array): Task data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get Many Users
Gets all users in a workspace from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to retrieve users from.
Options:
- Query: Query parameters for filtering users. If not provided, all users will be retrieved. It can include fields like "email", "project-id", "status", "account-statuses", "name", "sort-column", "sort-order", "page", "page-size", "memberships", "include-roles"
Output:
- Users (object-array): User data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get Many Workspaces
Gets all workspaces for the current user from Clockify using API key authentication.
Input Parameters:
- Roles: Comma-separated list of roles to filter workspaces by.
Output:
- Workspaces (object-array): Workspace data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get Progress Time Entries
Gets all in progress time entries in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to retrieve in progress time entries from.
Options:
- InProgress: Whether to retrieve only in progress time entries. Defaults to True.
- Page: Page number for pagination. Defaults to 1.
- PageSize: Number of time entries per page. Defaults to 100.
Output:
- TimeEntries (object-array): Array of in progress time entry data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get Time Entries for User
Gets many time entries for a user in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace containing the time entries.
- UserId: The ID of the user whose time entries should be retrieved.
Options:
- Query: Query parameters for filtering time entries. If not provided, all time entries will be retrieved. It can include optional fields like "start", "end", "page", "page-size", "project", "task", "tags", "project-required", "task-required".
Output:
- TimeEntries (object-array): Array of time entry data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get User Profile
Gets a member's profile on a workspace from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to retrieve user profile from.
- UserId: The ID of the user whose profile should be retrieved.
Output:
- Profile (object): User profile data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get a Client
Gets a specific client from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the client belongs to.
- ClientId: The ID of the client to retrieve.
Output:
- Client (object): Client data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get a Project
Gets a specific project from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the project belongs to.
- ProjectId: The ID of the project to retrieve.
Output:
- Project (object): Project data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get a Tag
Gets a specific tag from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the tag belongs to.
- TagId: The ID of the tag to retrieve.
Output:
- Tag (object): Tag data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get a Task
Gets a specific task for a project from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace containing the project.
- ProjectId: The ID of the project containing the task.
- TaskId: The ID of the task to retrieve.
Output:
- Task (object): Task data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get a Time Entry
Gets a specific time entry in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace containing the time entry.
- TimeEntryId: The ID of the time entry to retrieve.
Output:
- TimeEntry (object): Time entry data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Get a Workspace
Gets a workspace by ID from Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace to retrieve.
Output:
- Workspace (object): Workspace data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update User Profile
Use API token to update a member's profile on a workspace from clockify.me.
Input Parameters:
- WorkspaceId: The ID of the workspace to update user profile in.
- UserId: The ID of the user whose profile should be updated.
- ProfileData: Profile data to update. It can contain fields like: optional imageUrl, weekStart, workCapacity.
Output:
- Profile (object): Updated user profile data retrieved from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update a Client
Updates a specific client in Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the client belongs to.
- ClientId: The ID of the client to update.
- ClientData: Client data to update. It can contain fields like:
Output:
- Client (object): Updated client data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update a Project
Updates a specific project in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the project belongs to.
- ProjectId: The ID of the project to update.
- ProjectData: Project data to update. It can contain fields like:
Output:
- Project (object): Updated project data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update a Project Estimate
Updates a specific project estimate in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the project belongs to.
- ProjectId: The ID of the project to update estimate for.
- EstimateData: Project estimate data to update. It can contain fields like:
Output:
- Project (object): Updated project data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update a Project Membership
Updates a specific project memberships in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the project belongs to.
- ProjectId: The ID of the project to update memberships for.
- MembershipsData: Project memberships data to update. It can contain fields like:
Output:
- Project (object): Updated project data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update a Tag
Updates a specific tag in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the tag belongs to.
- TagId: The ID of the tag to update.
- TagData: Tag data to update. It can contain fields like:
Output:
- Tag (object): Updated tag data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update a Task
Updates a specific task of a project on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the project belongs to.
- ProjectId: The ID of the project the task belongs to.
- TaskId: The ID of the task to update.
- TaskData: Task data to update. It can contain fields like:
Options:
- ContainsAssignee: Indicates whether to include assignee information in the task data.
- MembershipStatus: Indicates the status of the user's membership in the project.
Output:
- Task (object): Updated task data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update a Task Billable Rate
Updates a specific task's billable rate of a project on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the project belongs to.
- ProjectId: The ID of the project the task belongs to.
- TaskId: The ID of the task to update.
- Amount: The hourly rate data to update. It should contain fields like:
Output:
- Task (object): Updated task data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update a Task Cost Rate
Updates a specific task of a project on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace the project belongs to.
- ProjectId: The ID of the project the task belongs to.
- TaskId: The ID of the task to update.
Options:
- Amount: The amount to update the task budget estimate with. Defaults to 0.
Output:
- Task (object): Updated task data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
Update a Time Entry
Updates a specific time entry in a workspace on Clockify using API key authentication.
Input Parameters:
- WorkspaceId: The ID of the workspace containing the time entry.
- TimeEntryId: The ID of the time entry to update.
- TimeEntryData: Time entry data to update. It should contain fields like: required fields: "start" and "end".
Output:
- TimeEntry (object): Updated time entry data from Clockify.
- StatusCode (number): HTTP status code or operation status code (-1 for parameter error, 500 for exceptions).
- ErrorMessage (string): Error message description, returns empty string on success.
5. Example Usage
This section will guide you through creating a simple workflow to add a new project to your Clockify account.
The workflow will consist of: Start -> Clockify: Create a Project -> Answer.
1. Add the Tool Node
- In the workflow canvas, click the "+" button to add a new node.
- Select the "Tool" tab in the pop-up panel.
- Find and select "Clockify" from the list of tools.
- In the list of supported operations for Clockify, click on "Create a Project" to add the node to your canvas.
2. Configure the Node
- Click on the newly added "Create a Project" node to open its configuration panel on the right.
- Credentials: Find the credentials field at the top. Click the dropdown menu and select your pre-configured Clockify credential.
- Parameters: Fill in the required input parameters for the operation.
- WorkspaceId: Enter the ID of the Clockify workspace where you want to create the project. You can find this ID in your Clockify URL or by using the Get Many Workspaces operation.
- ProjectData: Provide a JSON object containing the details for your new project. At a minimum, you must provide a name. For example: {"name": "New Marketing Campaign"}.
3. Run and Validate
- Once all required parameters are correctly filled, any error indicators on the workflow canvas will disappear.
- Click the "Run Test" button in the top-right corner of the canvas to execute the workflow.
- After a successful execution, you can click the log icon in the top-right corner to view the detailed inputs and outputs of the node, confirming that the operation was successful.
After completing these steps, your workflow is fully configured. When run, a new project will be successfully created in your Clockify account.
6. FAQs
Q: How do I find my Workspace ID or Project ID?
A: You can typically find these IDs in the URL when you are viewing the resource in the Clockify web application. Alternatively, you can build a simple workflow using the Get Many Workspaces or Get Many Projects operations to list all available resources and their corresponding IDs.
Q: Why am I getting a 401 Unauthorized error?
A: This error usually indicates a problem with your API key. Please check the following:
- Ensure the API key is copied correctly into your GoInsight credential configuration.
- Verify that the API key is still active and has not been revoked in your Clockify account settings.
Q: What is the expected format for ...Data inputs like ProjectData or ClientData?
A: These fields expect a valid JSON object. The specific fields required or available for each object (e.g., name, color, isPublic) depend on the Clockify API. It is highly recommended to consult the Clockify Official Documentation for the exact data structure for each resource you are trying to create or update.
7. Official Documentation
For more detailed information about the Clockify API, including all available parameters and data structures, please refer to the Clockify Official API Documentation.
Leave a Reply.