My Hours

My Hours is a project time-tracking solution designed to manage performance and efficiency.

Data integration: Skyvia supports importing data to and from My Hours, exporting My Hours data to CSV files, and replicating My Hours data to relational databases.

Backup: Skyvia Backup does not support My Hours.

Query: Skyvia Query supports My Hours.

Establishing Connection

Enter your username and password to create a connection to My Hours.

myhours-connection

Additional Connection Parameters

Suppress Extended Requests

When querying multiple records, the My Hours API returns only part of the fields for some objects. Skyvia performs additional extended requests to query the values of missing fields. Skyvia performs such API requests for each record of an object. However, this can decrease performance and significantly increase the number of API calls used.

The additional fields are the following:

OBJECT FIELD
TeamMembers CanOnlyManageTeam, CanEditLogsForOthers, CanApproveLogsForOthers, CanManageProjects, CanManageLaborCostsForOthers, CanManageBillableRatesAndBudgets, Approved, AssignToFutureProjects, FirstLogDate, Notes

You can select the Suppress Extended Requests checkbox to reduce the number of API calls.

Connector Specifics

Object Peculiarities

TimeLogs

To query data from this object, use filters by the DateFrom or/and DateTo fields. Otherwise, a query will return an empty result. If you filter only by the DateTo field, the query will return all time logs for dates before the specified one.

When importing data to this object, map either the StartTime and EndTime fields or the LogDuration field.

Dashboard* Objects

Skyvia represents the Dashboard as four separate objects depending on the reporting group: DashboardProjectTasks, DashboardTasks, DashboardClientProjects, DashboardTeamMembers. Use filters by the DateFrom or/and DateTo fields to query data from these objects. Otherwise, a query will return an empty result.

IncompletedTasks

When you import data to this object, consider the following. Map the BudgetValue field if the project budget is Task-based. Map the Rate field if your project’s invoice method is Task-based.

Clients

The ContactPhone and Address fields are designed for mapping when performing INSERT and UPDATE operations. The TaxName, TaxValue, and TaxNumber are intended for mapping when performing the UPDATE operation.

TeamMembers

The fields UpdateUserRateOnProjects, UpdateUserBillableRateOnProjects, ChangedFromDateLaborRate, and ChangedFromDateBillableRate are designed for mapping when performing the UPDATE operation. They return empty values when querying.

Incremental Replication and Synchronization

Skyvia supports Replication with Incremental Updates for the Projects object only. Skyvia detects only new records for this object.

Skyvia doesn’t support Synchronization for My Hours.

DML Operations Support

My Hours objects support the following DML operations.

Operation Object
INSERT, UPDATE Clients, IncompletedTasks, Projects, Teammembers
INSERT, DELETE TimeLogs
INSERT Tags

Stored Procedures

Skyvia represents part of the supported My Hours features as stored procedures. You can call a stored procedure, for example, as a text of the command in the ExecuteCommand action in a Target component of a Data Flow or in Query.

StartNewTimer

To start a new timer for the current user, use the following command.

call StartNewTimer(:projectId,:taskId,:note,:date,:start,:billable,:expense)

PARAMETER NAME DESCRIPTION
ProjectId The ID of the project
TaskId The ID of the task
Note Optional description
Date Timer Date in UTC with timezone info
Start Timer start in ISO8601 with date and time in UTC with timezone info
Billable Optional. Boolean. The default value is true when the assigned project is set as billable. You can set the billable parameter as false when needed.
Expense Optional. Integer.

StopTimer

To stop the running timer for a current user, use the following command.

call StopTimer(:logId, :end)

PARAMETER NAME DESCRIPTION
LogId The ID of the time log
End The moment of timer stop in ISO8601 with date and time in UTC with timezone info

EditTimelog

Use the following command to modify the existing time log.

call EditTimelog(:logId, :userId, :projectId, :taskId, :note, :date, :start, :end, :billable, :expense)

Leaving any of the parameters empty will remove their value.

PARAMETER NAME DESCRIPTION
LogId The ID of the log
UserId The logged-in user ID
ProjectId The ID of the project
TaskId The ID of the task
Note Description
Date Timer Date in UTC with timezone info
Start Timer start in ISO8601 with date and time in UTC with timezone info
End The moment of timer stop in ISO8601 with date and time in UTC with timezone info
Billable Boolean. The default value is true when the assigned project is set as billable. You can set the billable parameter as false when needed.
Expense Integer

ArchiveProject

To archive the project, use the following command.

call ArchiveProject(:projectIds)

PARAMETER NAME DESCRIPTION
ProjectIds The list of project IDs in the array format, for example [123,456,789]

CopyProject

To create a project based on an existing project, use the following command.

call CopyProject(:projectId)

ArchiveTask

To archive the task, use the following command.

call ArchiveTask(:projectId,:projectTaskId)

AssignMemberToProject

To add the existing user to the specific project, use the command

call AssignMemberToProject(:projectId,:userId)

ArchiveTeamMember

To archive the user, use the command

call ArchiveTeamMember(:userId)

Supported Actions

Skyvia supports all the common actions for My Hours.