Toggl Track
Create time entries and list projects in Toggl Track.
On this page
Connect
Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("toggl_track", "create_time_entry", {
"workspace_id": "<workspace_id>",
"start": "2026-10-12T09:00:00Z",
"duration": 1
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Toggl Track answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "toggl-track-create-time-entry",
name: "Toggl Track: Create Time Entry",
description: "Calls Toggl Track when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("toggl_track", {
"action": "create_time_entry",
"workspace_id": "<workspace_id>",
"start": "2026-10-12T09:00:00Z",
"duration": 1
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/toggl_track/create_time_entry" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"workspace_id":"<workspace_id>","start":"2026-10-12T09:00:00Z","duration":1}}'Actions
create_time_entryin catalog
Create Time Entry. Create a new time entry in a workspace.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
descriptionoptional | long text | Description |
startrequired | date-time (ISO) | The start time of the entry in UTC. |
durationrequired | number | Duration of the time entry. Use a negative number (e.g., -1) to start a running timer. |
stopoptional | date-time (ISO) | The stop time of the entry in UTC. Can be omitted if still running. |
task_idoptional | id (picked from your account) | The task to select. |
project_idoptional | id (picked from your account) | The project to associate the time entry with. |
tagsoptional | ids (picked from your account) | Tags to associate with the time entry. You can create new tags by typing them. |
billableoptional | boolean | Whether the time entry is marked as billable. |
user_idoptional | number | Time entry creator ID. If omitted, will use requester user ID. |
create_client
Create Client. Create a new client in a workspace.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
namerequired | text | The name of the new client. |
external_referenceoptional | text | External reference to link this client with external systems. |
notesoptional | long text | Notes for the client. |
create_project
Create Project. Create a new project in a workspace.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
namerequired | text | The name of the new project. |
client_idoptional | id (picked from your account) | The client to associate the project with. |
is_privateoptional | boolean | Whether the project is private or not. |
billableoptional | boolean | Whether the project is billable. (Premium feature) |
templateoptional | boolean | Whether the project is a template. (Premium feature) |
external_referenceoptional | text | External reference to link this project with external systems. |
coloroptional | text | Project color in hex format (e.g. #ff0000). |
activeoptional | boolean | Whether the project is active. |
auto_estimatesoptional | boolean | Whether estimates are based on task hours. (Premium feature) |
estimated_hoursoptional | number | Estimated hours for the project. (Premium feature) |
rateoptional | number | Hourly rate for the project. (Premium feature) |
fixed_feeoptional | number | Project fixed fee. (Premium feature) |
start_dateoptional | text | Start date of project timeframe (YYYY-MM-DD). |
end_dateoptional | text | End date of project timeframe (YYYY-MM-DD). |
create_tag
Create Tag. Create a new tag in the workspace.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
namerequired | text | The name of the new tag. |
create_task
Create Task. Create a new task under a project.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
project_idrequired | id (picked from your account) | The project to create the task under. |
namerequired | text | The name of the new task. |
estimated_secondsoptional | number | The estimated time for the task in seconds. |
external_referenceoptional | text | External reference to link this task with external systems. |
activeoptional | boolean | Whether the task is active. Use false to mark as done. |
user_idoptional | number | Creator ID, if omitted, will use requester user ID. |
find_client
Find Client. Find a client by name or status in a workspace.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
nameoptional | text | The name of the client to find (case-insensitive). |
statusoptional | one of "active" | "archived" | "both" | Filter clients by their status. |
find_project
Find Project. Find a project in a workspace by its name.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
nameoptional | text | The name of the project to find. |
activeoptional | one of "true" | "false" | "both" | Return active, inactive, or both types of projects. |
billableoptional | boolean | Return only billable projects. |
only_meoptional | boolean | Get only projects assigned to the current user. |
only_templatesoptional | boolean | Return only template projects. |
pageoptional | number | Page number for pagination. |
per_pageoptional | number | Number of items per page (max 200). |
find_tag
Find Tag. Find a tag by name in a workspace.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
searchoptional | text | Search by tag name. |
pageoptional | number | Page number for pagination. |
per_pageoptional | number | Number of items per page. |
find_task
Find Task. Find a task by name and status.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
searchoptional | text | Search by task name. |
project_idoptional | number | Filter by project ID. |
activeoptional | one of "true" | "false" | "both" | Filter by active state. |
pageoptional | number | Page number for pagination. |
per_pageoptional | number | Number of items per page (default 50). |
sort_fieldoptional | one of "name" | "created_at" | Field used for sorting. |
sort_orderoptional | one of "ASC" | "DESC" | Sort order. |
start_dateoptional | text | Smallest boundary date (YYYY-MM-DD). |
end_dateoptional | text | Biggest boundary date (YYYY-MM-DD). |
find_time_entry
Find Time Entry. Find time entries by description.
| Input | Type | Description |
|---|---|---|
descriptionoptional | text | Search for time entries containing this text in description. |
start_dateoptional | text | Get entries from start_date (YYYY-MM-DD or RFC3339 format). |
end_dateoptional | text | Get entries until end_date (YYYY-MM-DD or RFC3339 format). |
beforeoptional | text | Get entries before given date (YYYY-MM-DD or RFC3339 format). |
sinceoptional | number | Get entries modified since this UNIX timestamp. |
metaoptional | boolean | Should the response contain data for meta entities. |
include_sharingoptional | boolean | Include sharing details in the response. |
find_user
Find User. Find a user in a workspace by their name or email.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
organization_idrequired | id (picked from your account) | The organization to operate in. |
search_termoptional | text | The name or email of the user to find. |
activeoptional | boolean | Return only active users. |
pageoptional | number | Page number for pagination. |
per_pageoptional | number | Number of items per page. |
start_time_entry
Start Time Entry. Start a new time entry (live timer).
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
descriptionoptional | long text | Description |
project_idoptional | id (picked from your account) | The project to associate the time entry with. |
tagsoptional | ids (picked from your account) | Tags to associate with the time entry. You can create new tags by typing them. |
billableoptional | boolean | Whether the time entry is marked as billable. |
task_idoptional | id (picked from your account) | The task to select. |
stop_time_entry
Stop Time Entry. Stops the currently running time entry.
| Input | Type | Description |
|---|---|---|
workspace_idrequired | id (picked from your account) | The workspace to operate in. |
Details
- Id
toggl_track- Category
- Project management
- Tags
- time-tracking, timesheets, productivity
- Package
@activepieces/piece-toggl-track@0.1.5- Tier
- Community