Share via


My Hours (Preview)

Track time and manage projects, tasks, clients, and tags with dynamic pickers. This connector exposes endpoints for creating and finding entities.

This connector is available in the following products and regions:

Service Class Regions
Copilot Studio Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name My Hours
URL https://myhours.com
Email support@myhours.com
Connector Metadata
Publisher Spica International
Website https://myhours.com
Privacy policy https://myhours.com/legal/personal-data-processing-addendum-for-my-hours-cloud-services
Categories Productivity

My Hours - Connector Introduction

Track time and manage projects, tasks, clients, and tags using the My Hours connector.


Authentication

Type: API key (header)

When creating a connection, enter the full value in the single field named Authorization using this exact format:

Example: apikey 123abcXYZ

The connector sends this value as the Authorization header on every request.

Where to get the key: From your My Hours account settings. Create or copy an API key. Keep it secret and rotate it if exposed.


Supported actions

  • Create Client – Create a new client.
  • Find Client by Name – Return clients that match the provided name.
  • Create Project – Create a new project.
  • Find Project by Name – Find a project by name.
  • Add Task to Project – Create a task on a selected project.
  • Find Task by Name – Find a project task by name and project ID.
  • Create Tag – Create a new tag (with hex color).
  • Find Tag by Name – Find a tag by name.
  • Create Time Log – Create a new time log.
  • Get Time Logs – Retrieve detailed activity/time logs for a date range.

Supported triggers

  • When a new Project is created – Fires when a new project appears.
  • When a new Task is created – Fires when a new project task appears.
  • When a new Time Log is created – Fires when a new time log appears.

Usage notes & limits

  • Authorization format – The connection requires the literal prefix apikey followed by your key. If you omit the prefix or add extra characters, requests may fail with 400 or 401.
  • Date/time formats – Dates are YYYY-MM-DD. Date/time values are ISO 8601 (e.g. 2025-09-05T08:30:00Z or a local offset).
  • Creating time logs – Provide either duration (seconds) or both start and end. Supplying all three is invalid.
  • Dynamic pickers – Project, Task, Tag, and User fields use dynamic lists; ensure your account has permission to read those entities or the lists may be empty.
  • Environment – Only the production API host is supported: https://api2.myhours.com.

Error handling

The connector returns standard HTTP status codes:

Code Meaning Typical causes
200 Success Read/list operations.
201 Created Successful create operations.
400 Bad request Missing/invalid inputs, wrong header format, conflicting body fields.
500 Server error Temporary backend issue or unexpected error.

Troubleshooting

  1. Verify the Authorization value uses the exact apikey YOUR_API_KEY format.
  2. Check required fields are present and valid.
  3. For Create Time Log, confirm you passed either duration or (start and end).

Change log

  • 1.0.0 – Initial submission for certification.

Support

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
Authorization securestring The Authorization for this api True

Throttling Limits

Name Calls Renewal Period
API calls per connection 100 60 seconds

Actions

Add Task to Project

Create a task on a selected project.

Create Client

Create a new client record.

Create Project

Create a new project.

Create Tag

Create a new tag.

Create Time Log

Create a Time Log. Either the field 'duration' or the fields 'start time' and 'end time' should be filled out. In case of all three being filled you will get an error

Find Client by Name

Return clients that match the provided name.

Find Project by Name

Find a project by name.

Find Tag by Name

Find a tag by its name.

Find Task by Name

Find a project task by name and project ID.

Get Time Logs

Get detailed activity or time logs for a date range.

Add Task to Project

Create a task on a selected project.

Parameters

Name Key Required Type Description
Project ID
projectId True integer

Project ID.

List Name
listName string

Tasks list name.

Name
name True string

Task name.

Description
description string

Description.

Returns

Create Client

Create a new client record.

Parameters

Name Key Required Type Description
Name
Name True string

Client name.

Returns

Body
Client

Create Project

Create a new project.

Parameters

Name Key Required Type Description
Name
name True string

Project name.

Client ID
clientId integer

Client ID.

Notes
notes string

Notes.

Assigned User
autoAssignUserId integer

User assigned to the project.

Returns

Body
Project

Create Tag

Create a new tag.

Parameters

Name Key Required Type Description
Tag name
name True string

Tag name.

Hex Color
hexColor True string

Hex color in

Returns

Body
Tag

Create Time Log

Create a Time Log. Either the field 'duration' or the fields 'start time' and 'end time' should be filled out. In case of all three being filled you will get an error

Parameters

Name Key Required Type Description
Date
date True date

Date in YYYY-MM-DD format.

Start time
start date-time

Start time in UTC or local ISO 8601 format.

End time
end date-time

End time in UTC or local ISO 8601 format.

Duration
duration integer

Duration in seconds.

Description
Note string

Note.

Project ID
ProjectId integer

Project ID.

Task ID
TaskId integer

Task ID.

Tag ID
TagId integer

Tag ID.

Returns

Body
TimeLog

Find Client by Name

Return clients that match the provided name.

Parameters

Name Key Required Type Description
Client name
clientName True string

Client name with exact or partial match.

Returns

response
array of Client

Find Project by Name

Find a project by name.

Parameters

Name Key Required Type Description
Project name
projectName True string

Project name.

Returns

Body
Project

Find Tag by Name

Find a tag by its name.

Parameters

Name Key Required Type Description
Tag name
tagName True string

Tag name.

Returns

Body
Tag

Find Task by Name

Find a project task by name and project ID.

Parameters

Name Key Required Type Description
Task name
projectTaskName True string

Task name.

Project ID
projectId True integer

Project ID.

Returns

Get Time Logs

Get detailed activity or time logs for a date range.

Parameters

Name Key Required Type Description
Date from
dateFrom True date

Start date in YYYY-MM-DD format.

Date to
dateTo True date

End date in YYYY-MM-DD format.

Returns

Triggers

When a new Project is created

Trigger when a new project is created.

When a new Task is created

Trigger when a new project task is created.

When a new Time Log is created

Trigger when a new time log is created.

When a new Project is created

Trigger when a new project is created.

Returns

When a new Task is created

Trigger when a new project task is created.

Returns

When a new Time Log is created

Trigger when a new time log is created.

Returns

Definitions

TimeSlice

Name Path Type Description
id
id integer
duration
duration integer
startTime
startTime string
endTime
endTime string
running
running boolean
deleted
deleted boolean

Attachment

Name Path Type Description
fileName
fileName string
fileUrl
fileUrl string
id
id integer

Tag

Name Path Type Description
name
name string
hexColor
hexColor string
archived
archived boolean
dateArchived
dateArchived string
id
id integer

Client

Name Path Type Description
name
name string
contactName
contactName string
contactEmail
contactEmail string
contactPhone
contactPhone string
address
address string
customId
customId string
customFieldValues
customFieldValues string
id
id integer

Project

Name Path Type Description
invoiceMethod
invoiceMethod integer
rate
rate float
budgetType
budgetType integer
budgetValue
budgetValue integer
budgetAlertPercent
budgetAlertPercent integer
notes
notes string
approved
approved boolean
roundType
roundType integer
roundInterval
roundInterval integer
firstLogDate
firstLogDate string
budgetTarget
budgetTarget integer
budgetPeriodType
budgetPeriodType string
startDate
startDate string
dueDate
dueDate string
dateCreated
dateCreated string
createdByUserId
createdByUserId integer
createdByUserName
createdByUserName string
billable
billable boolean
customFieldValues
customFieldValues string
clientId
clientId integer
clientName
clientName string
clientCustomId
clientCustomId string
name
name string
archived
archived boolean
customId
customId string
id
id integer

ProjectTask

Name Path Type Description
name
name string
orderNo
orderNo integer
description
description string
completed
completed boolean
archived
archived boolean
startDate
startDate string
dueDate
dueDate string
rate
rate float
billableByDefault
billableByDefault boolean
budgetValue
budgetValue float
budgetSpent
budgetSpent float
budgetSpentPercentage
budgetSpentPercentage float
projectBudgetType
projectBudgetType integer
projectTaskUserIds
projectTaskUserIds array of integer
customFieldValues
customFieldValues string
customId
customId string
projectCustomId
projectCustomId string
clientCustomId
clientCustomId string
id
id integer

TimeLog

Name Path Type Description
note
note string
date
date string
duration
duration integer
userName
userName string
projectName
projectName string
taskName
taskName string
clientName
clientName string
running
running boolean
startTime
startTime string
endTime
endTime string
times
times array of TimeSlice
status
status integer
projectId
projectId integer
taskId
taskId integer
billable
billable boolean
expense
expense float
userId
userId integer
billableRate
billableRate float
billableAmount
billableAmount float
laborRate
laborRate float
laborCost
laborCost float
customField1Name
customField1Name string
customField2Name
customField2Name string
customField3Name
customField3Name string
customField1Value
customField1Value string
customField2Value
customField2Value string
customField3Value
customField3Value string
tags
tags string
durationInHours
durationInHours float
id
id integer
tagsData
tagsData array of Tag
attachments
attachments array of Attachment

ActivityLogRow

Name Path Type Description
logId
logId integer
userId
userId integer
date
date string
teamsNames
teamsNames string
userName
userName string
userCustomId
userCustomId string
clientId
clientId integer
clientName
clientName string
clientCustomId
clientCustomId string
projectId
projectId integer
projectName
projectName string
projectCustomId
projectCustomId string
projectStartDate
projectStartDate string
projectDueDate
projectDueDate string
projectBudgetType
projectBudgetType string
projectBudgetTarget
projectBudgetTarget string
projectBudgetPeriodType
projectBudgetPeriodType string
projectBudgetValue
projectBudgetValue integer
taskListName
taskListName string
taskId
taskId integer
taskName
taskName string
taskCustomId
taskCustomId string
taskStartDate
taskStartDate string
taskDueDate
taskDueDate string
taskCompleted
taskCompleted boolean
userCustomFieldValues
userCustomFieldValues string
projectCustomFieldValues
projectCustomFieldValues string
clientCustomFieldValues
clientCustomFieldValues string
taskCustomFieldValues
taskCustomFieldValues string
tags
tags string
rate
rate float
billable
billable boolean
inLockedPeriod
inLockedPeriod boolean
billableAmount
billableAmount float
amount
amount float
laborCost
laborCost float
laborRate
laborRate float
logDuration
logDuration integer
logDurationBillable
logDurationBillable integer
laborDuration
laborDuration integer
startEndTime
startEndTime string
expense
expense float
billableExpense
billableExpense float
cost
cost float
note
note string
status
status string
invoiceId
invoiceId integer
invoiced
invoiced boolean
billableHours
billableHours integer
billableHoursLogBillable
billableHoursLogBillable integer
laborHours
laborHours integer
customField1
customField1 integer
customField2
customField2 integer
customField3
customField3 integer
balance
balance integer
monthOfYear
monthOfYear string
weekNo
weekNo integer
weekOfYear
weekOfYear string
teams
teams array of string
running
running boolean
startTime
startTime string
endTime
endTime string
times
times array of TimeSlice
tagsData
tagsData array of Tag
attachments
attachments array of Attachment
roundType
roundType string
invoicedAmount
invoicedAmount float
uninvoicedAmount
uninvoicedAmount float

ActivityReportResponse

Name Path Type Description
body
body array of ActivityLogRow

TriggerLogsEnvelope

Name Path Type Description
logs
logs array of TimeLog

TriggerProjectsEnvelope

Name Path Type Description
projects
projects array of object
clientId
projects.clientId integer
clientName
projects.clientName string
clientCustomId
projects.clientCustomId string
name
projects.name string
customId
projects.customId string
id
projects.id integer

TriggerProjectTasksEnvelope

Name Path Type Description
projectTasks
projectTasks array of object
projectId
projectTasks.projectId integer
listName
projectTasks.listName string
listOrderNo
projectTasks.listOrderNo integer
name
projectTasks.name string
orderNo
projectTasks.orderNo integer
description
projectTasks.description string
rate
projectTasks.rate float
budgetValue
projectTasks.budgetValue float
projectBudgetType
projectTasks.projectBudgetType integer
customId
projectTasks.customId string
billableByDefault
projectTasks.billableByDefault boolean
projectCustomId
projectTasks.projectCustomId string
clientCustomId
projectTasks.clientCustomId string
id
projectTasks.id integer