Skip to content

Time Tracking · Beta

Toggl
API integration

Ship Time Tracking features without building the integration. Full Toggl API access via Proxy and 310+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
Toggl

Use Cases

Why integrate with Toggl

Common scenarios for SaaS companies building Toggl integrations for their customers.

01

Auto-generate client invoices from tracked hours

Invoicing and accounting platforms can pull billable time entries filtered by client and date range to create draft invoices without manual data entry. This eliminates the copy-paste work agencies and freelancers do every billing cycle.

02

Embed timers inside project management and helpdesk tools

PM tools, CRMs, and ticketing systems can let users start and stop Toggl timers directly from a task or ticket view. This keeps time tracking in the user's primary workflow instead of forcing a context switch.

03

Sync projects, clients, and tasks for pre-populated timers

Project management and CRM products can push their native entities into Toggl as projects, clients, and tasks so end users see familiar dropdowns when logging time. This keeps categorization accurate across both systems.

04

Pull approved timesheets for payroll and contractor payouts

Payroll, HR, and EOR platforms can fetch approved timesheets to calculate contractor payouts based on verified hours. Only approved periods are used, avoiding disputes over raw unreviewed data.

05

Power capacity and utilization dashboards in real time

Resource planning and BI tools can subscribe to time entry events and ingest summary totals to show live utilization against project estimates. Managers see overruns the moment they happen instead of at week-end.

What You Can Build

Ship these features with Truto + Toggl

Concrete product features your team can ship faster by leveraging Truto’s Toggl integration instead of building from scratch.

01

In-app start/stop timer button

Let users trigger Toggl time entries from your UI with a description linked to the active record, and stop the running timer when the task is marked complete.

02

Two-way project and task sync

Mirror your product's projects and tasks into Toggl workspaces and keep client, project, and task lists in parity so users never pick from stale dropdowns.

03

Billable hours to invoice generator

Query detailed reports filtered by client, billable flag, and date range, then roll the totals and line items into draft invoices inside your product.

04

Approved timesheet payroll pipeline

Fetch approved workspace timesheets each pay period, apply synced hourly rates, and feed verified hours straight into your payroll or payout engine.

05

Real-time utilization dashboard

Subscribe to Toggl time entry events via webhooks and surface live tracked-vs-estimated hours per project, with alerts when a budget threshold is crossed.

06

Reporting and analytics embeds

Pull pre-aggregated summary and weekly report data to render profitability, labor cost, and billable-hour charts inside your own analytics views.

SuperAI

Toggl AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_toggl_audit_logs

List Toggl Track audit log events for an organization over a given time range. Returns a list of audit log event objects; the upstream docs do not enumerate the individual event fields. Required: organization_id, from, to (RFC3339 datetimes).

list_all_toggl_saml_2_logins

Get the SAML2 Identity Provider (SSO) URL in Toggl Track for a given user email, used for authenticating in an Identity Provider. Returns the SAML2 login response object with provider-specific fields. Required: email. Fails if the email is invalid or SSO is not configured for it.

create_a_toggl_saml_2_login

Submit the SAML2 Identity Provider callback assertion to complete authentication for a Toggl Track workspace. Requires login_id (the numeric workspace ID) and SAMLResponse. Returns a 302 redirect to the authentication result URI with no response body.

create_a_toggl_avatar

Upload a new avatar image for the current Toggl user. Returns the created avatar object (the upstream API does not document its fields). Required: file. The image must have a valid image content type and be resizable — convert it to png or jpeg if the upload is rejected.

toggl_avatars_bulk_delete

Delete the current user's avatar in Toggl. Returns a plain string success message on success.

create_a_toggl_avatars_use_gravatar

Change the authenticated toggl Track user's avatar to their Gravatar image. Returns the updated avatar record with its id and avatar attributes. Requires the email in Toggl to match the Gravatar email.

list_all_toggl_countries

List all existing countries in Toggl Track. Returns an array of country records, each including its numeric id plus the remaining model-specific attributes of the upstream Country schema.

list_all_toggl_countrie_subdivisions

List the subdivisions of a specific country in toggl. Returns subdivision records including their id and other upstream-defined attributes. Required: country_id.

list_all_toggl_currencies

List the available currencies in toggl Track. Returns an array of currency records, each with an id and upstream-defined currency attributes (the models.Currency fields are not enumerated in the docs). Takes no parameters.

list_all_toggl_desktop_logins

Get a new desktop login token in Toggl. The endpoint stores a new token and responds with a 302 redirect carrying an opaque string body — no structured fields are documented. Takes no parameters.

create_a_toggl_desktop_login_token

Create (store) a new desktop login token in Toggl Track. Returns the desktop login token object including its id and an attributes object holding the upstream desktop.LoginToken fields, which the Toggl docs do not enumerate field-by-field. Requires no additional parameters.

create_a_toggl_feedback

Send feedback to toggl about the app, attaching the toggl_version, feedback date, and details of the issue. Returns an empty response on success. Required: toggl_version, date, details.

get_single_toggl_ical_workspace_user_by_id

Get the iCal calendar file for a Toggl workspace user, containing the user's time entries from the last 14 days. Returns the iCal (.ics) file content — a text/calendar payload, not a JSON object. Required: id and token (the iCal token). This is a paid Toggl feature.

list_all_toggl_integrations_calendars

List the toggl calendar integrations a user has — each user may have at most one integration per provider. Returns the integration records including their id, integration_id, and provider-specific properties.

update_a_toggl_integrations_calendar_by_id

Update a toggl calendar integration's properties by id. Returns an empty 204 response on success. Required: id (the integration's ID as saved in the database).

delete_a_toggl_integrations_calendar_by_id

Delete a toggl calendar integration by id (logical deletion). Returns an empty 204 response on success. Required: id (the integration's ID as saved in the database).

update_a_toggl_calendar_by_id

Update updatable fields of a Toggl calendar, such as whether it is selected by the user. Returns the updated calendars with id, selected, and integration_id. Required: integration_id, id. The request payload must not be empty.

toggl_calendars_list_events

List events for a given calendar in a Toggl calendar integration. Deprecated upstream. Returns calendar event records including their id. Required: integration_id, id_calendar, start_date, end_date.

toggl_calendars_list_calendars

List calendars saved for a Toggl user, optionally filtered by integration_id and selected. Returns calendars with id, selected, and integration_id.

list_all_toggl_calendars_selecteds

List all calendars the user previously marked as selected for Toggl's calendar integrations. Returns the paginated collection of selected calendars saved in Toggl; field details are not enumerated in the upstream docs. Max 250 per page.

list_all_toggl_calendar_events

List calendar events from the caller user's selected calendars in Toggl Track. Returns an opaque EventsResponse payload — the upstream docs publish no field-level structure for it. Events appear only after they were previously fetched from the provider via the events update endpoint. Required: start_date, end_date.

create_a_toggl_events_details_suggestion

Get suggested time-entry details for one or more Toggl calendar events. Matches each event ID against past time entries and returns the most probable description, project_id, and accuracy (100% on an exact match; otherwise frequency- or Jaro-Winkler-based). Invalid or inaccessible event IDs, and events with no available suggestion, are silently omitted from the response. Required: event_ids…

create_a_toggl_events_update

Refresh all calendar events for the caller's selected calendars in toggl: fetches the events from the provider and saves them in the database. Returns the amount of fetched events as reported in the response body. No request parameters are required.

get_single_toggl_event_details_suggestion_by_id

Get the most probable details (and accuracy) for the time entry to be created from a Toggl calendar event, matched against similar past time entries. Returns a suggestion with an accuracy rating, or a "null" string when no suggestion exists. Required: id.

list_all_toggl_calendar_setups

Get the URL for setting up a Toggl Track calendar integration with a given provider. Returns the provider authentication URL (302 redirect). Required: provider.

create_a_toggl_calendars_update

Refresh Toggl calendar data for a calendar integration by re-fetching all of its calendars from the provider. Returns the fetched-calendars response object; its fields are not enumerated in the Toggl docs. Required: integration_id.

list_all_toggl_event_attendees

List all attendees for a given calendar event in Toggl Track. Returns an array of attendee records for that event (the record's fields are defined by Toggl's upstream EventAttendee schema and are not itemized in the API docs). Required: integration_id, calendar_id, event_id.

get_single_toggl_invitation_by_id

Get a toggl invitation by code. Returns the SSO invitation object including email, invitation_id, invite_url, organization_id, recipient_id, sender_id, and workspaces. Required: id (the invitation code).

list_all_toggl_keys

Get the current JWKS keyset in Toggl Track used to sign JWT tokens. Returns the JSON Web Key Set document as a JSON object; the upstream API documents no specific key fields for this response. Requires no parameters.

list_all_toggl_me

Get details for the current toggl user. Returns: id, email, fullname, timezone, api_token, at, authorization_updated_at, beginning_of_week, country_id, created_at, updated_at, default_workspace_id, has_password, 2fa_enabled, image_url, openid_email, openid_enabled, oauth_providers, intercom_hash, options, clients, projects, tags, tasks, time_entries, workspaces.

toggl_me_bulk_update

Update details for the current toggl user, such as email, fullname, timezone, beginning_of_week, country_id, default_workspace_id, or password. Returns the updated user: id, email, fullname, timezone, updated_at. Changing the password requires current_password and a new password of at least 6 characters.

create_a_toggl_accept_to

Accept the latest version of the Terms of Service for the current Toggl Track user. Returns a plain string confirmation on success. Takes no query parameters or request body.

list_all_toggl_clients

List the Toggl Track clients belonging to the authenticated user. Returns client records including id, name, notes, external_reference, and workspace_id.

create_a_toggl_close_account

Close the authenticated user's Toggl Track account. Returns a string confirmation message on success.

create_a_toggl_disable_product_email

Disable product emails for the authenticated Toggl user. Returns a plain string confirmation of the successful operation. Required: disable_product_email_id, disable_code.

create_a_toggl_disable_weekly_report

Disable a weekly report in toggl by supplying its weekly report code. Returns a plain string response on success. Required: disable_weekly_report_id, weekly_report_code.

create_a_toggl_enable_sso

Confirm SSO enabling for an existing Toggl account after a successful SSO login. Returns a plain-text string response on success. Requires the SSO enabling confirmation data request body (the upstream sso.Confirmation schema, whose fields the Toggl docs do not enumerate).

list_all_toggl_exports

List Toggl download (export) requests for the current user. Returns an array of download request records including id, uuid, requested_at, and created_at. No request body or query parameters required.

create_a_toggl_export

Request a new Toggl export of the current user's data as a downloadable archive. Returns a string message confirming the export was started. Requires the export payload ("Objects to export"). Only one export can run at a time; requests to export at least one object.

list_all_toggl_export_data

Download the zip archive of export data for the authenticated toggl user by its archive id. Returns the zip file itself as a binary stream, not a JSON object. Required: uuid.

list_all_toggl_favorites

List all favorites saved by the requesting Toggl user. Returns the favorite record: id, workspace_id, user_id, description, project_id, tags, created_at, updated_at.

create_a_toggl_favorite

Create a favorite in Toggl. Returns the created favorite with its id, workspace_id, user_id, description, project_id, and tags. Requires workspace_id and at least one of description or project_id; any referenced tags must belong to that workspace.

delete_a_toggl_favorite_by_id

Delete a Toggl favorite by its numerical id; the favorite and its tags are removed logically. Returns an empty 204 response on success. Required: id.

toggl_favorites_bulk_update

Update favorites in Toggl, following the same requirements as creation. Returns the updated favorite with its id, workspace_id, user_id, description, project_id, and tags. Requires workspace_id and at least one of description or project_id; any referenced tags must belong to that workspace.

create_a_toggl_favorites_suggestion

Generate suggested favorites in Toggl Track from the user's past time-entry activity. Returns an array of suggested favorite objects with id, description, and tags, or a 204 response when there is no past time-entry data to base suggestions on. Suggestions are created only once per user and only if the user has never created a favorite before.

toggl_favorites_suggestions_create_workspace_suggestion

Generate suggested favorites for the user's activity in a specific Toggl Track workspace. Returns an array of suggested favorite objects with id, description, and tags, or a 204 response when there is no past time-entry data to base suggestions on. Required: workspace_id. Suggestions are created only once per user and only if the user has never created a favorite before.

list_all_toggl_features

List the feature flags available to the current user in Toggl Track, grouped per workspace. Returns: workspace_id, features.

list_all_toggl_flags

List feature flags for the current Toggl Track user. Returns the flags object with dynamic string keys whose values can be of any type.

create_a_toggl_flag

Add feature flags for the current Toggl Track user. Returns the updated flags object with dynamic string keys whose values can be of any type. Requires a flags body; limits: 4 flags per request, 128 flags in total, keys up to 32 characters, values up to 64 characters.

list_all_toggl_ids

Get the local Track user ID for the authenticated user in toggl. Returns a bare JSON number — the user's local Track ID — rather than an object, so there are no fields to unpack. Requires no parameters.

list_all_toggl_locations

Get the current user's last known location in Toggl Track, resolved from the client's IP address. Returns the IP-based location object; an empty response is yielded when no location data is present.

list_all_toggl_loggeds

Check whether authentication works for the current Toggl Track user. Returns an empty 200 response on success; a 500 status signals an internal server error.

list_all_toggl_organizations

Get a single Toggl Track organization by organization_id, including its name and current pricing plan. Returns: id, name, admin, owner, at, created_at, is_multi_workspace_enabled, is_unified, max_data_retention_days, max_workspaces, permissions, pricing_plan_enterprise, pricing_plan_id, pricing_plan_name, subscription, suspended_at, trial_info, user_count. Required: organization_id.

create_a_toggl_organization

Create a new Toggl Track organization with a single initial workspace, assigning the current user as its owner. Returns the created IDs: id (organization) and workspace_id. Required: name and workspace_name. Names max 140 characters.

update_a_toggl_organization_by_id

Update an existing Toggl Track organization by id. Returns a plain OK confirmation string; no field-level response body is documented. Required: id (numeric organization ID). The request body may include name to rename the organization (max 140 characters).

get_single_toggl_organization_by_id

List all Toggl Track organizations the authenticated user belongs to. Returns organization records with id, name, admin and owner flags, user_count, pricing plan fields, subscription, and trial_info; an empty array is returned when the user has no access.

create_a_toggl_preference

Update the preferences for the current user in toggl, including enabling or disabling alpha features. Returns a plain success message (string response body) on success. ToSAcceptNeeded cannot be set through this endpoint.

toggl_preferences_create_client

Update the preferences for a specific client of the current user in toggl, including enabling or disabling alpha features. Returns a plain success message (string response body) on success. Required: client (desktop or web). ToSAcceptNeeded cannot be set through this endpoint.

list_all_toggl_preferences

Get the preferences for the current user in toggl. Returns the full preferences object including date_format, timeofday_format, record_timeline, beginningOfWeek, and alpha_features with the enabled flag per feature code.

list_all_toggl_projects

List toggl projects accessible to the authenticated user. Returns an array of project records including id, name, active, billable, client_id, color, currency, and recurring details.

list_all_toggl_projects_paginateds

List the current user's Toggl Track projects. Returns an array of project records including id, name, workspace_id, status, client_id, color, and rate.

list_all_toggl_push_services

List the Firebase registration tokens registered for the current Toggl Track user. Returns an array of registered token strings.

create_a_toggl_push_service

Register a Firebase token for push notifications for the current Toggl Track user. Returns a success confirmation string. Required: fcm_registration_token.

toggl_push_services_bulk_delete

Unregister a Firebase token for the current Toggl Track user. Returns a success confirmation string. Required: fcm_registration_token.

list_all_toggl_quotas

Get the toggl API quota for the current user across all organizations they belong to. Returns a list of quota entries with organization_id (null for user-level requests), remaining, resets_in_secs, and total.

create_a_toggl_reset_token

Reset the Toggl Track API token for the current user. Returns the newly generated API token as a plain JSON string. No request body or query parameters are required.

list_all_toggl_tags

List all tags for the current toggl user. Returns an array of tag objects with their id, name, workspace_id, at, and creator_id. Optional since filter retrieves only tags modified or deleted after a given UNIX timestamp.

list_all_toggl_tasks

List Toggl Track tasks from projects the user participates in. Returns each task's id, name, active state, and created_at.

list_all_toggl_time_entries

List the latest Toggl time entries for the authenticated user. Returns: id, description. Filter by since, before, or start_date/end_date.

get_single_toggl_time_entry_by_id

Get the Toggl time entry currently running for the authenticated user. Returns: id, description. Returns 404 when no time entry is running.

toggl_time_entries_search

Get a single Toggl time entry by id that is accessible to the authenticated user. Returns: id, workspace_id, wid, project_id, pid, project_active, project_billable, project_color, project_name, task_id, tid, task_active, task_name, user_id, uid, user_name, user_avatar_url, description, duration, duronly, billable, start, stop, at, tags, tag_ids, expense_ids, permissions, shared_with, client_id,…

toggl_time_entries_list_workspace

List Toggl time entries within a timesheet timeframe for a workspace. Returns: id, workspace_id, wid, project_id, pid, project_active, project_billable, project_color, project_name, task_id, tid, task_active, task_name, user_id, uid, user_name, user_avatar_url, description, duration, duronly, billable, start, stop, at, tags, tag_ids, expense_ids, permissions, shared_with, client_id, client_name,…

list_all_toggl_time_entries_checklists

Check Toggl Track's time entry requirement for offering a coupon to the current user. Returns an array of checklist items; each item has an id plus checklist-specific fields under attributes.

create_a_toggl_time_entries_shared_with

Get the sharing details of the specified time entries in bulk in toggl. Sends a list of time entry references in the request body and returns a list of time entry sharing details. Requires a JSON array body listing the time entries to get the sharing details of.

list_all_toggl_timesheets

List the timesheets for the authenticated Toggl user. Returns an array of timesheet records, each with an id and an attributes object carrying the fields of the upstream Timesheet model.

list_all_toggl_track_reminders

List the current user's tracking reminders in Toggl Track. Returns: reminder_id, workspace_id, created_at, email_reminder_enabled, slack_reminder_enabled, frequency, threshold, group_ids, user_ids.

list_all_toggl_web_timers

Get the current web timer for the authenticated user in Toggl Track. Returns the web timer response body exactly as provided by the API; the upstream documentation does not enumerate structured fields for it.

list_all_toggl_workspaces

List tags in a Toggl workspace. Returns each tag's id, name, and workspace_id. Required: workspace_id.

update_a_toggl_workspace_by_id

Update a Toggl workspace by id. Returns the updated workspace including id, name, created_at, and updated_at. Required: id. Some settings (default_hourly_rate, default_currency, rounding, rounding_minutes, projects_billable_by_default) require a premium subscription.

toggl_workspaces_attach_tag

Create a tag in a Toggl workspace. Returns the workspace's tags including id, name, and workspace_id. Required: workspace_id and name. Tag names must be unique within the workspace.

toggl_workspaces_bulk_update

Bulk delete tags in a Toggl workspace. Returns an opaque plain-text success confirmation. Required: workspace_id. The operation is not executed at all if any record fails; tag IDs that do not belong to the workspace are rejected.

get_single_toggl_workspace_by_id

List the Toggl workspaces the authenticated user belongs to. Returns each workspace's id, name, created_at, and updated_at.

create_a_toggl_invitation_accept

Accept an organization invitation in Toggl using its invitation code. The invited user is marked as joined and an email is sent to the inviter. Returns a plain-text confirmation string rather than a JSON object. Required: invitation_code.

toggl_organizations_invitations_reject

Reject a toggl organization invitation by invitation code; the user connected with the invitation is marked as deleted. Returns a plain-text string response on success. Required: invitation_code.

list_all_toggl_organizations_invitations

List invitations for a toggl organization. Returns: code, email, organization_id, organization_name, sender_email, sender_name. Required: organization_id.

list_all_toggl_organization_groups

List Toggl organization groups with their user and workspace assignments, sorted by name. Returns: name. Required: organization_id.

create_a_toggl_organization_group

Create a group in a Toggl organization. Returns the created group including group_id, name, users, workspaces, permissions, and at. Required: organization_id and name (max 200 characters).

update_a_toggl_organization_group_by_id

Edit a Toggl organization group by id. Returns the updated group including group_id, name, users, workspaces, permissions, and at. Required: organization_id, id, and name.

delete_a_toggl_organization_group_by_id

Delete a group from a Toggl organization by id. Returns a plain-text OK confirmation on success. Required: organization_id and id.

toggl_organization_groups_bulk_update

Patch a Toggl organization group's user and workspace assignments with JSON patch operations (add/remove on /users or /workspaces). Returns the result of the requested operations. Required: organization_id and group_id. Max 100 patches per request and 100 values per operation; scalar fields like the group name must be edited via the update method.

create_a_toggl_slack_request

Request the Slack integration for a Toggl organization. Sends an email and notification to all org admins asking for the Slack integration. Returns a plain string confirmation once the request is sent to admins. Required: organization_id.

create_a_toggl_organization_invitation

Create invitations for one or more users in a Toggl Track organization by email. Returns the created invitations result including data, invitations, and messages. Required: organization_id, emails, workspaces.

toggl_invitation_resends_bulk_update

Resend the invitation email to a user for a Toggl organization. Returns a plain string confirmation on success. Required: organization_id, invitation_id.

list_all_toggl_organization_invoices

Download a Toggl Track organization invoice as a PDF document. Returns the invoice file itself as binary PDF content (not a JSON object). Required: organization_id, invoice_uid.

get_single_toggl_organization_owner_by_id

Get the owner of a toggl organization by id. Returns the organization owner data, including its id. Required: id (numeric organization ID).

list_all_toggl_owner_transfers

List ownership transfers made in a Toggl Track organization. Returns each transfer record with its id and attributes (Toggl documents the response as a models.Transfer schema without enumerating its fields). Required: organization_id.

create_a_toggl_owner_transfer

Create a new ownership transfer process for a Toggl Track organization. Returns: id.Transfer fields; Toggl does not enumerate them). Required: organization_id.

get_single_toggl_owner_transfer_by_id

Get a single Toggl Track ownership transfer by id. Returns the transfer record with its id and attributes (Toggl documents the response as a models.Transfer schema without enumerating its fields). Required: id, organization_id.

toggl_owner_transfers_update_transfer

Update a Toggl Track ownership transfer process and email stakeholders. Returns the updated transfer record with its id and attributes (Toggl documents the response as a models.Transfer schema without enumerating its fields). Required: organization_id, transfer_id, action (accept, decline, or withdraw).

list_all_toggl_organization_payment_records

List paid invoices for a Toggl organization. Returns unified subscription invoice records with id and schema-specific attributes. Required: organization_id.

list_all_toggl_organization_plans

List the pricing plans for a Toggl organization. Returns the pricing structure with id plus plan-specific attributes defined upstream. Required: organization_id.

get_single_toggl_organization_plan_by_id

Get a single pricing plan for a Toggl organization by id. Returns the pricing structure with id plus plan-specific attributes defined upstream. Required: organization_id, id (numeric plan id).

create_a_toggl_organization_premium_upgrade_discount_email

Send the Premium-annual 30% upgrade email to every admin of a Toggl organization. The send is idempotent per admin and organization, so repeated calls are safe. Returns the number of emails sent as a bare count value with no object fields. Required: organization_id.

list_all_toggl_organization_roles

List Toggl Track organization roles, including both organization-specific and global roles. Returns: id, name. Required: organization_id.

get_single_toggl_organization_segmentation_by_id

Get Toggl organization segmentation data for an organization by its numeric id. Returns the organization segmentation object (the upstream API does not document the field set); a 204 is returned when the organization has no segmentation information. Required: id.

toggl_organization_segmentations_bulk_update

Save organization segmentation information for a Toggl organization identified by its numeric id. Returns the updated organization segmentation object (the upstream API does not document the field set). Required: organization_id.

get_single_toggl_organization_subscription_by_id

Get a Toggl organization's subscription by id. Returns the subscription record including subscription_id, pricing_plan_id, auto_renew, renewal_at, currency, card_details, payment_details, and subscription_period. Required: id.

create_a_toggl_organization_subscription

Create a new unified subscription for a Toggl organization. Returns the created subscription record including subscription_id, pricing_plan_id, auto_renew, renewal_at, organization_id, and workspace_id. Required: organization_id, pricing_plan_tag.

toggl_organization_subscriptions_bulk_update

Update an existing unified subscription for a Toggl organization. Returns the updated subscription record including subscription_id, pricing_plan_id, auto_renew, renewal_at, organization_id, and workspace_id. Required: organization_id, pricing_plan_tag.

toggl_organization_subscriptions_bulk_delete

Cancel a Toggl organization's subscription. Returns a plain-text confirmation on success. Required: organization_id and immediateCancel — set immediateCancel to true to cancel immediately, otherwise the subscription is canceled at period end.

create_a_toggl_subscription_cancellation_feedback

Create cancellation feedback for a toggl organization's subscription. Returns an empty 201 response on success. Required: organization_id and Data (the feedback cancellation data).

get_single_toggl_subscription_customer_by_id

Get the unified customer belonging to a toggl organization. Returns: id, name. Required: id (the organization's numeric id).

create_a_toggl_subscription_customer

Create the unified customer for a toggl organization. Returns: id. Required: organization_id.

toggl_subscription_customers_bulk_update

Update the unified customer data for a toggl organization. The customer's name, email, country and postal code are mandatory upstream, and omitted optional fields are cleared. Returns: id. Required: organization_id.

create_a_toggl_subscription_discount_request

Submit a discount request with cancellation feedback for a Toggl organization subscription; Toggl emails support with the feedback and discount request. Returns a plain string status confirmation (no object body) on success. Required: organization_id and the feedback request body.

get_single_toggl_subscription_feature_upsell_multi_by_id

Get Toggl feature upsell information for multiple organizations, covering all organizations the user has access to. Returns a JSON object keyed by organization id, with each value an array of feature upsell records. Required: id, organization_id.

get_single_toggl_subscription_invoice_summary_by_id

Get a summary of the next invoice for a Toggl organization. Returns the invoice summary as a plain string — the upstream API types the response body as a string and does not document structured fields. Required: id (the organization's numeric id).

get_single_toggl_subscription_payment_failed_by_id

Get subscription payment failed details for a Toggl organization. Returns the payment failed details object; the upstream docs reference it (models.PaymentFailedResponse) without enumerating its fields. Required: id (the organization's numeric ID).

create_a_toggl_subscription_promocode

Apply a promotion code to a Toggl Track organization's customer subscription; any existing promotion code is overridden. Requires organization_id. Returns an empty 200 response on success.

toggl_subscription_promocodes_bulk_delete

Remove any promotion code discount applied to a Toggl Track organization's customer subscription. Requires organization_id. Returns an empty 200 response on success.

create_a_toggl_subscription_setup_intent

Create a setup intent in toggl for collecting the customer's payment method for future payments. Returns confirmation that the setup intent was created. Required: organization_id (numeric ID of the organization).

create_a_toggl_subscription_trial

Create a new unified subscription for a Toggl organization on an initial 30-day trial. Returns an empty response on success. Required: organization_id.

toggl_subscription_trials_bulk_delete

Cancel the active trial for a Toggl organization, ending the trial subscription early; the request fails when no trial exists. Returns a plain-text confirmation message on success. Required: organization_id.

get_single_toggl_trial_opt_in_by_id

Check opt-in trial eligibility for a Toggl organization. Returns the eligibility status as a JSON object of boolean flags. Required: id (the organization's numeric ID).

create_a_toggl_trial_opt_in

Start a new opt-in trial for a Toggl organization if eligible. Returns an empty response body on success (200 'Trial started'). Required: organization_id.

delete_a_toggl_subscription_upgrade_request_by_id

Trigger a feature upgrade request in Toggl — sends a call to action to the organization's admins encouraging a subscription upgrade. Returns a plain-string confirmation (e.g. "CTA notifications sent") with no structured fields. Required: organization_id, id (the numeric id of the feature to request an upgrade for).

create_a_toggl_subscription_usage_based_discount

Apply a usage based discount to a toggl organization's subscription given a specific discount variant. Returns a plain-text confirmation string when the discount is applied. Required: organization_id and a string specification of the discount variant.

toggl_subscription_usage_based_discounts_bulk_delete

Delete the usage based discount applied to a toggl organization. Returns a plain-text confirmation string on success. Required: organization_id.

create_a_toggl_item_discount

Apply a discount to the active Track subscription item of a Toggl organization. Returns confirmation that the discount was applied; the success response documents no body fields. Required: organization_id plus exactly one of coupon_id or promotion_code. The discount applies only to the current subscription item and does not carry over if the customer cancels and resubscribes.

list_all_toggl_organization_users

List users in a toggl organization, filterable by name or email, status, group, workspace, or admins only. Returns each user's id, name, email, inactive, organization_admin, role_id, groups, and workspace memberships. Required: organization_id.

toggl_organization_users_bulk_update

Apply changes in bulk to users in a toggl organization (currently deletion only). Requires organization_id and a delete array of organization user IDs; the paying user and the organization owner cannot be removed. Returns a plain-text success confirmation.

update_a_toggl_organization_user_by_id

Update a single toggl organization user's name, email, inactive flag, organization_admin flag, role_id, or group and workspace assignments. Returns a plain-text success confirmation. Required: id (organization user ID) and organization_id; at least one field must be supplied and admin flags cannot be combined with role_id.

list_all_toggl_users_detaileds

List toggl organization users with details, filterable by name or email, status, admin flag, group, and workspace. Returns records with id and attributes (upstream DetailedOrgUser shape). Required: organization_id.

toggl_users_leaves_bulk_delete

Leave a Toggl organization, removing the authenticated user's account from it; the organization itself is deleted if this was its last user. Returns a plain-text success confirmation. Required: organization_id.

create_a_toggl_organization_workspace

Create a new workspace within an existing toggl organization. Returns the created workspace including id, name, organization_id, premium, default_hourly_rate, and working_hours_in_minutes. Required: organization_id, name. Workspace name must contain non-space characters and be 140 characters or fewer.

list_all_toggl_workspaces_statistics

Get statistics for all workspaces in a Toggl organization. Returns a map keyed by workspace ID where each value includes the workspace's admins, groups_count, and members_count. Required: organization_id.

list_all_toggl_workspace_groups

List user groups visible in a Toggl workspace. Returns each group's group_id, name, users (user_id, name, avatar_url, inactive, joined), workspaces and permissions. Toggl's documented equivalent is the organization-level groups endpoint (see workspace_groups.list_org). Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

create_a_toggl_workspace_group

Create a user group in a Toggl workspace with a name and optional users and workspaces. Toggl's documented group management lives at the organization level (POST /organizations/{organization_id}/groups); this workspace-scoped form mirrors it. Returns the created group. Required: workspace_id, name. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

update_a_toggl_workspace_group_by_id

Update a user group in a Toggl workspace by group id: name, users and workspaces. Returns the updated group. Required: workspace_id, id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

delete_a_toggl_workspace_group_by_id

Delete a user group from a Toggl workspace by group id. Returns an empty response on success. Required: workspace_id, id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

toggl_workspace_groups_list_org

List user groups of a Toggl workspace within an organization, with user assignments, sorted by name. Returns each group's group_id, name, users (user_id, name, avatar_url, inactive, joined), workspaces and permissions. Required: organization_id, workspace_id.

list_all_toggl_workspace_workspace_users

List Toggl workspace users who belong to the workspace directly or through at least one group. Returns workspace-user records with their id and a WorkspaceUser attributes object (the upstream docs do not enumerate the remaining fields). Required: organization_id, workspace_id.

delete_a_toggl_workspace_workspace_user_by_id

Delete a Toggl workspace user, removing the user from the workspace. Returns an empty 204 response on success. Required: id (the workspace user's numeric ID) and workspace_id.

toggl_workspace_workspace_users_list_org

List Toggl workspace users through the organization-scoped endpoint, including users who belong to the workspace directly or through at least one group. Returns workspace-user records with their id and a WorkspaceUser attributes object (the upstream docs do not enumerate the remaining fields). Required: organization_id, workspace_id.

toggl_workspace_workspace_users_update_workspace_user

Update a Toggl workspace user's data (role, rates, labor cost, working hours, admin flags). Returns a plain-text confirmation string on success. Required: workspace_id and workspace_user_id. The admin flags and role_id are mutually exclusive; working_hours_in_minutes must be positive or null.

toggl_workspace_workspace_users_bulk_update

Remove workspace users in bulk from a Toggl workspace (currently deletion only). Returns a plain-text confirmation string on success. Required: organization_id, workspace_id, and a delete array of workspace user entries (at least one workspace user ID; IDs must be unique).

create_a_toggl_smail_contact

Send a contact request to Toggl (sales/support 'smail' form) with an email and message. Returns an empty response on success; Toggl returns 400 'Email is required' without an email. Required: email. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

create_a_toggl_smail_demo

Send a demo request email in toggl. Returns a plain string confirmation on success. Requires Email, Phone, TeamSize, Purpose, and Source in the request body; the API rejects missing or overly long values for any of them.

create_a_toggl_smail_meet

Send an email for a meet in toggl with a message and location. Returns a success string on success. Requires email and location in the request body.

list_all_toggl_status

Check the toggl API status. Returns the API status as a plain string on success; the method takes no parameters.

list_all_toggl_subscriptions_plans

List all subscription plans available in Toggl Track along with all features available per plan. Returns a list of plans, each with its set of available features.

list_all_toggl_sync_server_goals

List all goals for the requesting user in toggl. Returns: id, created_at, updated_at.

list_all_toggl_timelines

Get timeline events for the current user in Toggl Track. Returns an array of timeline event records with id and upstream-defined event attributes (models.TimelineEvent). Timeline must be enabled.

create_a_toggl_timeline

Save timeline events for the current user in Toggl Track by posting a JSON array of timeline event objects. Returns the timeline settings record with id and upstream-defined settings attributes (models.TimelineSettings).

toggl_timelines_bulk_delete

Delete all timeline data for the current user in Toggl Track. Returns an empty 204 response on success. Timeline must be enabled.

list_all_toggl_timezones

List all timezones known to Toggl Track. Returns a JSON array of timezone name strings. No required parameters.

list_all_toggl_timezones_offsets

List known timezones with their offsets in toggl Track. Returns an array of timezone records (id plus an attributes object defined by the upstream models.Timezone schema, whose field breakdown is documented only in toggl's API reference).

list_all_toggl_workspaces_plans

List Toggl Track's public subscription plans. Returns: id, attributes.FancyPlan shape, not expanded in the public docs). Takes no parameters.

list_all_toggl_workspace_alerts

List existing toggl workspace alerts. Returns each alert including id, project_id, source_kind, threshold_type, thresholds, and receiver details. Required: workspace_id.

create_a_toggl_workspace_alert

Create a toggl workspace alert for a project. Returns the created alert including id, project_id, source_kind, threshold_type, thresholds, and receiver details. Required: workspace_id, project_id, source_kind, threshold_type, thresholds.

update_a_toggl_workspace_alert_by_id

Update a toggl workspace alert by id. Returns the updated alert including id, project_id, source_kind, threshold_type, thresholds, and receiver details. Required: workspace_id, id (numeric alert id), project_id, source_kind, threshold_type, thresholds.

delete_a_toggl_workspace_alert_by_id

Delete a toggl workspace alert by id. Returns a plain-text string confirmation on success. Required: workspace_id, id (numeric alert id).

list_all_toggl_workspace_clients

List clients in a Toggl Track workspace, filterable by name (case-insensitive substring match) and by status. Returns each client's id, name, notes, external_reference, archived, and creator_id. Required: workspace_id. Only active clients are returned unless status is provided.

create_a_toggl_workspace_client

Create a client in a Toggl Track workspace. Returns the created client including id, name, wid, archived, notes, external_reference, creator_id, and at. Required: workspace_id and name.

update_a_toggl_workspace_client_by_id

Update a client in a Toggl Track workspace by id. Returns the updated client including id, name, notes, external_reference, archived, and creator_id. Required: workspace_id and id. To archive the client instead, use the archive method.

delete_a_toggl_workspace_client_by_id

Delete a client in a Toggl Track workspace by id. Returns a numeric result on success. Required: workspace_id and id.

toggl_workspace_clients_archive

Archive a client and its related projects in a Toggl Track workspace. Returns the ids of the projects archived with the client. Required: workspace_id and client_id. Only available for premium workspaces.

toggl_workspace_clients_restore

Restore an archived Toggl Track client and its related projects in a workspace. Returns the restored client object including id, name, wid, archived, and notes. Required: workspace_id, client_id.

get_single_toggl_workspace_client_by_id

Get a Toggl Track client by id from a workspace. Returns the client object including id, name, wid, archived, creator_id, and at. Required: workspace_id, id.

create_a_toggl_clients_archive

Archive one or more toggl workspace clients in bulk, together with their related projects (premium workspaces only). Returns an array of archive results, each containing an items array with the client and project IDs that were archived. Required: workspace_id and a bare array of client IDs.

get_single_toggl_clients_datum_by_id

Get Toggl Track clients from a workspace by a list of client ids. Returns an array of client objects including id, name, wid, archived, at, creator_id, notes, and external integration fields. Required: id (the numeric workspace id, supplied via the ID field) and a JSON array body of client ids (integers).

delete_a_toggl_clients_delete_by_id

Delete one or more toggl workspace clients. Accepts a bare array of numeric client ids in the request body and returns a confirmation message string on success. Required: workspace_id and the array of client ids to delete.

list_all_toggl_workspace_currencies

List the currency codes available for a given Toggl workspace. Returns an array of currency code strings (e.g. USD). Required: workspace_id.

list_all_toggl_dashboard_all_activities

Get the latest activity for every user in a toggl workspace — the 20 most recent actions or the latest activity per user. Returns: description. Required: workspace_id.

list_all_toggl_dashboard_most_actives

List the most active users in a Toggl Track workspace dashboard, returning up to the top 5 users who tracked the most time during the last 7 days. Returns: user_id, duration. Required: workspace_id.

list_all_toggl_dashboard_top_activities

List Toggl Track's top workspace activities — an overview of the most recent time-entry actions in the workspace. Returns activity objects with user_id, project_id, duration (negative when the entry is running), description, stop, and tid. Required: workspace_id.

list_all_toggl_workspace_expenses

List the work expenses recorded in a toggl workspace. Returns the expense records including id and workspace_id. Required: workspace_id.

create_a_toggl_expenses_upload

Upload a work expense file to a Toggl Track workspace. Returns the created expense record including its id and attributes (the full field set is defined by Toggl's expenses.Expense schema). Required: workspace_id, file.

list_all_toggl_workspace_exports

List the data export (download) requests raised for a Toggl Track workspace. Returns download-request records with id and schema-specific attributes; the upstream docs do not enumerate the record fields. Required: workspace_id.

create_a_toggl_workspace_export

Request a data export of selected objects from a Toggl Track workspace. Sends an array of object names to export (at least one required) and returns a plain string acknowledgement on success (contents not documented upstream); only one export can run at a time. Required: workspace_id.

list_all_toggl_exports_data

Download the zip file of a Toggl workspace's completed data export request. Returns the zip archive file contents (binary), not a structured JSON object. Required: workspace_id, uuid. The export data expires if not downloaded in time.

list_all_toggl_workspace_favorites

List all toggl favorites for the requesting user in a workspace. Returns favorite records including id, workspace_id, user_id, description, project_id, and tags. Required: workspace_id. The requesting user must have access to the Favorites feature.

create_a_toggl_workspace_favorite

Create a favorite in a toggl workspace; the referenced resources (workspace, tags, etc.) must be valid and accessible to the user. Returns: id. Required: workspace_id. The request body is required.

delete_a_toggl_workspace_favorite_by_id

Delete a favorite in a toggl workspace by id, logically removing it from the database along with its tags. Returns an empty 204 response on success. Required: workspace_id, id.

toggl_workspace_favorites_bulk_update

Update an array of favorites in a toggl workspace, following the same requirements as the create operation. Returns: id. Required: workspace_id. The request body is required.

list_all_toggl_workspace_goals

List goals for the requesting user in a Toggl workspace. Returns goal records, each with its numeric id and the full goal fields under attributes. Required: workspace_id.

create_a_toggl_workspace_goal

Create a goal in a Toggl workspace. Returns the created goal with its numeric id and the full goal fields under attributes. Required: workspace_id plus the goal details in the request body.

update_a_toggl_workspace_goal_by_id

Update a goal's updatable parameters in a Toggl Track workspace. Returns the updated goal with its numeric id and the remaining goal fields under attributes. Required: workspace_id and id (the goal's ID); a goal-details JSON request body is also required.

delete_a_toggl_workspace_goal_by_id

Delete a goal created by the calling user in a Toggl workspace. Returns an empty 204 response on success. Required: workspace_id and id (the Goal ID).

get_single_toggl_workspace_goal_by_id

Get a single goal that relates to the calling user in a Toggl workspace. Returns the goal with its numeric id and the full goal fields under attributes. Required: workspace_id and id (the Goal ID).

create_a_toggl_ical_reset

Reset the iCal token for a Toggl workspace, regenerating the token used to subscribe to calendar feeds. Returns the new iCal token as a plain string. Required: workspace_id.

create_a_toggl_ical_toggle

Toggle the iCal token on/off for a toggl workspace. Returns the successful 200 response body as a plain JSON string. Required: workspace_id.

create_a_toggl_workspace_import_preview_count

Retrieve optimized count-only import preview counts for toggl Track entities in a workspace. Returns a counts object defined by the upstream importer.PreviewCountsResponse schema (individual keys are not enumerated in the public API docs). Required: workspace_id and a JSON request body matching importer.PreviewCountsRequest.

list_all_toggl_workspace_invoices

List invoices generated in a Toggl workspace (Toggl's billable-time invoicing feature). Returns each invoice's id, workspace_id, client_id, number, status, currency, total, issue and due dates and the billed period. Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

create_a_toggl_workspace_invoice

Create an invoice in a Toggl workspace from billable time for a client and period. Returns the created invoice. Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

delete_a_toggl_workspace_invoice_by_id

Delete an invoice from a Toggl workspace by invoice id. Returns an empty response on success. Required: workspace_id, id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

toggl_workspace_invoices_get_pdf

Download a Toggl workspace invoice as a PDF file by invoice id. Returns the PDF binary. Required: workspace_id, invoice_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

list_all_toggl_workspace_linked_sso_profiles

List the SSO profiles linked to a Toggl Track workspace. Returns a list of linked SSO profile records, each with its id and profile attributes. Required: workspace_id.

update_a_toggl_workspace_linked_sso_profile_by_id

Link an SSO profile to a Toggl Track workspace. Returns the list of linked SSO profile records, each with its id and profile attributes. Required: workspace_id and id (the numeric SSO profile id). Fails if the SSO profile is unapproved or already linked to another workspace.

delete_a_toggl_workspace_linked_sso_profile_by_id

Unlink an SSO profile from a Toggl Track workspace. Returns the list of linked SSO profile records, each with its id and profile attributes. Required: workspace_id and id (the numeric SSO profile id).

get_single_toggl_workspace_logo_by_id

Get the logo for a given toggl workspace by id. Returns: logo. Required: id.

create_a_toggl_workspace_logo

Set the logo for a given toggl workspace. Returns: logo. Required: workspace_id.

toggl_workspace_logos_bulk_delete

Delete the logo for a given toggl workspace. Returns: logo. Required: workspace_id.

list_all_toggl_workspace_payment_receipts

Download the PDF receipt for a payment in a Toggl workspace. Returns the raw payment receipt PDF file as binary content. Required: workspace_id and payment_id.

list_all_toggl_workspace_preferences

Get the preferences for a given Toggl Track workspace. Returns: logo. Required: workspace_id.

create_a_toggl_workspace_preference

Update the preferences for a given Toggl Track workspace. Returns: logo. Required: workspace_id and the preference fields to set. Updating time entry lock settings requires the workspace to have the Locking time entries feature enabled.

list_all_toggl_workspace_project_groups

List project-group assignments in a Toggl workspace (which user groups are assigned to which projects). Returns each assignment's id, group_id, pid (project id) and wid (workspace id). Required: workspace_id.

create_a_toggl_workspace_project_group

Assign a user group to a project in a Toggl workspace. Returns the created assignment with id, group_id, pid and wid. Required: workspace_id, group_id, project_id.

delete_a_toggl_workspace_project_group_by_id

Remove a user group from a project in a Toggl workspace by project-group assignment id. Returns an empty response on success. Required: workspace_id, id.

list_all_toggl_workspace_project_users

List project users (project memberships) in a Toggl workspace, optionally filtered by project_ids (comma-separated, max 200), user_id, or including group members. Returns each membership's id, project_id, user_id, workspace_id, group_id, manager flag, rate, labor_cost and last-updated timestamps. Required: workspace_id.

create_a_toggl_workspace_project_user

Add a user to a project in a Toggl workspace, optionally as manager with a rate and labor cost (each with a change mode of start-today, override-current or override-all). Returns the created project user. Required: workspace_id, project_id, user_id.

update_a_toggl_workspace_project_user_by_id

Update a project user in a Toggl workspace by project user id: manager flag, rate and rate_change_mode, labor_cost and labor_cost_change_mode. Returns the updated project user. Required: workspace_id, id.

delete_a_toggl_workspace_project_user_by_id

Remove a project user from a project in a Toggl workspace by project user id. Returns an empty response on success. Required: workspace_id, id.

toggl_workspace_project_users_bulk_update

Bulk-edit several Toggl project users with JSON Patch operations (op, path, value), passing the project user ids comma-separated in project_user_ids. Returns success and failure lists. Required: workspace_id, project_user_ids, body array.

create_a_toggl_project_users_paginated

List toggl project users for a given workspace and set of projects, paginated. Returns project user records including id, user_id, project_id, and manager. Required: workspace_id and a JSON array body of numeric project IDs.

list_all_toggl_workspace_projects

List projects in a Toggl workspace with filters (active or 'both', since timestamp, billable, client_ids, user_ids, group_ids, project_ids, statuses, name/search, only_me, only_editable, only_templates) and sort options. Paginated with page and per_page (max 200). Returns each project's id, name, workspace_id, client_id, active, status, is_private, billable, color, currency, rate, fixed_fee, estimated_hours, actual_hours, start_date, end_date, recurring settings, template flags, external_reference, integration links and timestamps. Required: workspace_id.

create_a_toggl_workspace_project

Create a project in a Toggl workspace. Accepts name, client_id or client_name, active, is_private, billable, color, currency, rate and rate_change_mode, fixed_fee, estimated_hours, auto_estimates, start_date, end_date, recurring settings, template settings and external_reference. Returns the created project. Required: workspace_id, name.

update_a_toggl_workspace_project_by_id

Update a project in a Toggl workspace by project id. Accepts the same fields as create (name, client, active, billable, color, currency, rate and rate_change_mode, fixed_fee, estimates, dates, recurring and template settings). Returns the updated project. Required: workspace_id, id.

delete_a_toggl_workspace_project_by_id

Delete a project from a Toggl workspace by project id. Returns an empty response on success. Required: workspace_id, id.

get_single_toggl_workspace_project_by_id

Get a single project in a Toggl workspace by project id. Returns: id, name, workspace_id, client_id, active, status, is_private, billable, color, currency, rate, fixed_fee, estimated_hours, actual_hours, start_date, end_date, recurring settings, template flags, external_reference and timestamps. Required: workspace_id, id.

toggl_workspace_projects_bulk_update

Bulk-edit several Toggl projects at once with JSON Patch operations (op, path, value), e.g. replace /active or /client_id. Pass the target project ids comma-separated in project_ids. Returns success (ids updated) and failure (id, message) lists. Required: workspace_id, project_ids, body array.

create_a_toggl_projects_billable_amount

Calculate billable amounts for Toggl projects in a workspace, used by Toggl's project revenue views. Post the project ids (and optional date range) to receive billable amount totals per project. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

create_a_toggl_projects_task_count

Retrieve the task count for the specified projects in a toggl workspace. Returns a list of maps of project ids to their task counts. Required: workspace_id and the post parameters body.

list_all_toggl_projects_templates

List project templates for a toggl workspace by workspace_id. Returns: id, name, active, is_private, start_date, end_date, color, created_at, workspace_id. Required: workspace_id (numeric ID of the workspace).

create_a_toggl_projects_user_count

Retrieve the user count for specified projects in a Toggl Track workspace. Returns an array of objects mapping project IDs to their user counts. Required: workspace_id and a JSON request body of post parameters.

list_all_toggl_project_periods

List recurring project periods for a project in a Toggl Track workspace. Returns recurring period records, each identified by id. Required: workspace_id, project_id.

create_a_toggl_project_pin

Pin or unpin a Toggl project so it appears at the top of the user's project list. Returns a 200 OK confirmation with no documented response body. Required: workspace_id, project_id. Pin limits apply: max 100 pins on paid plans, max 1 on free plans.

list_all_toggl_project_statistics

Get tracked-time statistics for a given project in a toggl workspace. Returns the statistics object under attributes, with fields defined by Toggl's upstream ProjectStatistics schema. Required: workspace_id, project_id. Running time entries are excluded from time-entry statistics.

list_all_toggl_project_tasks

List toggl project tasks for a given project in a workspace. Returns tasks with: id, name, active, estimated_seconds, user_id, external_reference, and created_at. Required: workspace_id, project_id.

create_a_toggl_project_task

Create a toggl task within a given project. Returns the created task with: id, name, active, estimated_seconds, user_id, external_reference, and created_at. Required: workspace_id, project_id.

update_a_toggl_project_task_by_id

Update one or more toggl project tasks by sending an array of JSON patch operations. Returns the patched task fields: id, name, and created_at. Required: workspace_id, project_id, id (one or more comma-separated task ids), and an array of patch operations with op, path, and value.

delete_a_toggl_project_task_by_id

Delete a toggl project task by id. Returns a success confirmation string. Required: workspace_id, project_id, id.

get_single_toggl_project_task_by_id

Get a toggl project task by id. Returns the task with: id, name, and created_at. Required: workspace_id, project_id, id.

toggl_project_tasks_bulk_update

Bulk update toggl project tasks by applying an array of JSON patch operations (op, path, value) to the comma-separated task_ids within a given project. Returns: success, failure. Required: workspace_id, project_id, task_ids.

create_a_toggl_workspace_rate

Create a new rate in a toggl workspace. Returns the created rate record including its id, created_at, updated_at, and deleted_at. Required: workspace_id, amount, level, level_id, and type; either mode or start must also be provided. Billable rates require a Starter or higher plan.

list_all_toggl_workspace_rates

List toggl workspace rates by level (workspace, project, task, or user). Returns rates with id, amount, type, start, end, and workspace_id. Required: workspace_id, level, and level_id.

list_all_toggl_reports_shareds

List shared reports in a Toggl workspace. Returns an array of saved report records including id, report_name, report_type, public, and fixed_daterange. Required: workspace_id. Premium workspaces only.

create_a_toggl_reports_shared

Create a shared report in a Toggl workspace. Returns the created shared report including id, report_name, report_type, public, and fixed_daterange. Requires workspace_id, name, report_type, fixed_daterange, and public. Premium workspaces only; public reports can be saved only by admins.

update_a_toggl_reports_shared_by_id

Update shared reports in a Toggl workspace by sending an array of saved report payloads. Returns the updated shared report object: id, name, report_type, public, created_at, updated_at. Required: id, workspace_id, name, report_type.

delete_a_toggl_reports_shared_by_id

Delete a saved report in Toggl by id. Returns the deleted saved report object: id, name, report_type, public, created_at, updated_at. Requires workspace_id and id (the numeric report id). Available only for premium workspaces.

get_single_toggl_reports_shared_by_id

Get a saved report in Toggl by id. Returns the saved report object: id, name, report_type, public, created_at, updated_at. Requires workspace_id and id (the numeric report id). Available only for premium workspaces.

toggl_reports_shareds_bulk_update

Update shared reports in a Toggl workspace. Accepts a JSON array of saved-report payloads and returns the updated shared report including id, name, report_type, public, and report_token. Required: workspace_id, plus id, name, and report_type in each payload item. Premium workspaces only.

toggl_shared_bulk_deletes_bulk_update

Bulk delete saved reports in a toggl workspace. Returns an array of saved report objects including fields such as id, report_name, report_type, public, fixed_daterange, and saved_params. Required: workspace_id and a request body identifying the saved reports to delete. Available only for premium workspaces.

list_all_toggl_workspace_scheduled_reports

List scheduled reports for a toggl workspace. Returns an array of ScheduledReport objects, each including its numeric id; the upstream docs define the record via the models.ScheduledReport schema but do not enumerate its remaining fields. Required: workspace_id.

create_a_toggl_workspace_scheduled_report

Create a scheduled report for a toggl workspace. Returns the created scheduled report object including its numeric id; the upstream docs define the record via the models.ScheduledReport schema but do not enumerate its remaining fields. Required: workspace_id. The scheduled report frequency must be one of: 1 (daily), 7 (weekly) or 30 (monthly).

delete_a_toggl_workspace_scheduled_report_by_id

Delete a scheduled report from a toggl workspace by id (the numeric scheduled report id). Returns an empty 204 response on success. Required: id and workspace_id.

list_all_toggl_workspace_statistics

Get Toggl Track statistics for a workspace: the workspace admins list, members count and groups count. Returns: admins, members_count, groups_count. Required: workspace_id.

get_single_toggl_workspace_subscription_by_id

Get the subscription data for a toggl workspace by id (numeric workspace ID). Returns: created_at. Required: id.

list_all_toggl_subscription_purchase_orders

Download a purchase order document in PDF form for a toggl workspace. Returns the purchase order document as a binary PDF file (application/pdf), not a JSON object. Required: workspace_id, purchase_order_id.

update_a_toggl_workspace_tag_by_id

Update a workspace tag in Toggl by id. Returns the updated tag with its id and name (the API responds with an array of the workspace's tag objects). Required: workspace_id, id, and name. Requires workspace admin access.

delete_a_toggl_workspace_tag_by_id

Delete a workspace tag in Toggl by id. Returns a plain success message on completion. Required: workspace_id, id. Requires workspace admin access.

list_all_toggl_workspace_tasks

List toggl workspace tasks. Returns a page of tasks (data) with pagination info (page, per_page, total_count) and the sort settings applied (sort_field, sort_order). Required: workspace_id. Supports filtering by active state, project (pid), name search, and start/end date boundaries.

list_all_toggl_tasks_basics

List toggl workspace tasks with filtering by name search, project, client, active state, and sorting. Returns each task's id, name, and created_at. Required: workspace_id.

get_single_toggl_tasks_datum_by_id

List toggl tasks for the given projects in a workspace, filtered by a search term. Send project_ids and/or task_ids in the request body; returns matching tasks with id, name, active, estimated_seconds, project_id, user_id, and created_at. Required: id (numeric workspace id), workspace_id, and search.

create_a_toggl_workspace_time_entry

Create a new time entry in a Toggl workspace. Returns the created TimeEntry including id, description, duration, billable, and start/stop timestamps. Required: workspace_id and the time entry payload.

update_a_toggl_workspace_time_entry_by_id

Update a time entry in a Toggl workspace by id. Returns the updated TimeEntry including id, description, duration, billable, and start/stop timestamps. Required: id, workspace_id, time_entry_ids.

delete_a_toggl_workspace_time_entry_by_id

Delete a time entry from a Toggl workspace by id. Returns an empty 204 response on success. Required: id and workspace_id.

toggl_workspace_time_entries_stop

Stop a running time entry in a Toggl workspace by time_entry_id. Returns the stopped TimeEntry including id, duration, description, billable, and start/stop timestamps. Required: time_entry_id and workspace_id.

list_all_toggl_workspace_time_entries

List time entries in a Toggl workspace. Returns: id, workspace_id, created_at, updated_at. Required: workspace_id.

toggl_workspace_time_entries_bulk_update

Bulk edit time entries in a Toggl workspace using RFC 6902-style patch operations. Returns success and failure arrays. Required: workspace_id, time_entry_ids (comma-separated, max 100 IDs per request), and an operations array body.

list_all_toggl_workspace_time_entry_constraints

Get the time entry constraints for a Toggl Track workspace. Returns: time_entry_constraints_enabled, description_present, project_present, tag_present, task_present, and max_tags. Required: workspace_id.

create_a_toggl_workspace_time_entry_constraint

Set the time entry constraints for a Toggl Track workspace by posting the constraints object. Returns: time_entry_constraints_enabled, description_present, project_present, tag_present, task_present, and max_tags. Required: workspace_id. Admin permissions are required upstream.

list_all_toggl_workspace_time_entry_invitations

List time entry invitations for a Toggl Track workspace. Returns the invitations, each with its numeric id, which is the time_entry_invitation_id used to accept or reject it. Required: workspace_id.

create_a_toggl_workspace_time_entry_invitation

Accept or reject a time entry invitation in a Toggl Track workspace. Returns an empty 204 response on success. Required: workspace_id, time_entry_invitation_id, and action (accept or reject).

list_all_toggl_workspace_timesheet_setups

List timesheet setups for a toggl workspace. Returns a paginated collection of setup records including id, member_ids, approver_ids, start_date, and periodicity. Required: workspace_id. sort_field defaults to start_date.

create_a_toggl_workspace_timesheet_setup

Create timesheet setups for members of a toggl workspace. Returns an array of the created setup records including id, member_ids, approver_ids, start_date, and periodicity. Required: workspace_id. Approvals are a premium feature.

delete_a_toggl_workspace_timesheet_setup_by_id

Delete a timesheet setup by id in a toggl workspace. Returns a success confirmation string. Required: id and workspace_id. Deletion fails when the member has approved, rejected, or submitted timesheets.

toggl_workspace_timesheet_setups_setup

Update a timesheet setup in a toggl workspace: change the approver, approvers_layers, end_date, or reminder schedule by setup_id. Returns the updated setup record including id, approver_ids, end_date, reminder_day, and reminder_time. Required: setup_id and workspace_id.

list_all_toggl_workspace_timesheets

List timesheets (approval periods) in a Toggl workspace, part of Toggl's time approvals feature. Returns each timesheet's setup_id, user_id, start_date, end_date, status, total_seconds and submission/approval details. Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

toggl_workspace_timesheets_list_history

List the status history of one Toggl timesheet, identified by its setup_id and period start_date. Returns each change with status, actor and timestamp. Required: workspace_id, setup_id, start_date. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

toggl_workspace_timesheets_update_timesheet

Change the status of one Toggl timesheet (submit, approve, reject or reopen), identified by setup_id and period start_date. Returns the updated timesheet. Required: workspace_id, setup_id, start_date, status. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

toggl_workspace_timesheets_bulk_update

Change the status of several Toggl timesheets in a workspace at once. Send the timesheets to update (setup_id, user_id, start_date) with the target status. Returns the updated timesheets. Required: workspace_id. This endpoint is not in Toggl's public API reference; field details come from the Toggl web app and should be verified against a live account.

get_single_toggl_timesheets_hour_by_id

Get timesheet working hours and total tracked seconds for specific timesheet setups in a toggl workspace. Returns an array of hour summaries with hours and seconds. Required: workspace_id and a body array of setups, each with setup_id and start_date (YYYY-MM-DD).

list_all_toggl_workspace_track_reminders

List track reminders for a toggl workspace. Returns reminder objects including reminder_id, workspace_id, frequency, threshold, group_ids, user_ids, and created_at. Required: workspace_id.

create_a_toggl_workspace_track_reminder

Create a tracking reminder for a toggl workspace. Returns the created reminder including reminder_id, workspace_id, frequency, threshold, group_ids, user_ids, and created_at. Requires workspace_id and a reminder parameters body.

update_a_toggl_workspace_track_reminder_by_id

Update a toggl workspace tracking reminder by id. Returns the updated reminder including reminder_id, workspace_id, frequency, threshold, group_ids, user_ids, and created_at. Required: workspace_id, id (reminder_id).

delete_a_toggl_workspace_track_reminder_by_id

Delete a toggl workspace tracking reminder by id. Returns an empty 204 response on success. Required: workspace_id, id (reminder_id).

list_all_toggl_workspace_users

List all users belonging to a Toggl workspace. Returns: id. Required: workspace_id.

update_a_toggl_workspace_user_by_id

Update the data for a user in a Toggl workspace. Returns a plain string confirmation on success (the API documents no structured response body). Required: id (numeric user ID) and workspace_id.

create_a_toggl_users_datum

Fetch basic data for specific users of a toggl workspace. Returns an array of workspace user records, each with its numeric id. Required: workspace_id and a body array of user IDs (1-150 elements).

list_all_toggl_event_filters

List the event filters toggl supports for use when creating or updating a subscription. Returns: client, project, time_entry.

get_single_toggl_limit_by_id

Get the webhook limits for a toggl Track workspace by id. Returns: max_events_per_webhook, max_webhooks. Required: id.

create_a_toggl_ping

Send a test ping to a Toggl webhooks subscription to verify its callback URL is accessible and responding with the correct status. Returns an opaque success payload whose fields are not enumerated upstream. Required: workspace_id, subscription_id.

get_single_toggl_subscription_by_id

Get all webhook subscriptions for a Toggl Track workspace. Returns each subscription's subscription_id, description, url_callback, enabled, event_filters, and secret. Required: id.

create_a_toggl_subscription

Create a webhook subscription for a Toggl Track workspace. Returns the created subscription including subscription_id, description, url_callback, enabled, and event_filters. The description must be unique within the workspace and the callback URL is validated. Required: workspace_id.

update_a_toggl_subscription_by_id

Update an existing Toggl Track webhook subscription by id within a workspace. Returns the updated subscription including subscription_id, description, url_callback, enabled, and event_filters. Required: id, workspace_id.

delete_a_toggl_subscription_by_id

Delete a Toggl Track webhook subscription by id from a workspace. Returns the removed subscription including subscription_id, description, url_callback, enabled, and event_filters. Required: id, workspace_id.

toggl_subscriptions_bulk_update

Enable or disable an existing Toggl Track webhook subscription. Returns the updated subscription including subscription_id, description, url_callback, enabled, and event_filters. Required: workspace_id, subscription_id.

list_all_toggl_validates

Validate a Toggl Track subscription by confirming its validation code against the one stored for the subscription. Returns a plain string response (the body is an unstructured string, not a JSON object). Fails if the code does not match or the subscription was already validated. Required: workspace_id, subscription_id, validation_code.

toggl_detailed_reports_search_time_entries

Search time entries for the toggl detailed report of a workspace. Returns grouped time entry rows including description, project_name, username, row_number, billable_amount_in_cents, and time_entries. Required: workspace_id. At least one filter parameter must be set.

toggl_detailed_reports_export_pdf

Export the toggl detailed report of a workspace as a PDF file. Returns the binary PDF file content rather than a JSON object. Required: workspace_id.

toggl_detailed_reports_export_file

Export the toggl detailed report of a workspace in csv or xlsx format. Returns the binary report file content rather than a JSON object. Required: workspace_id, extension.

toggl_detailed_reports_search_totals

Get totals sums for the toggl detailed report of a workspace. Returns: billable_amount_in_cents, currency. Required: workspace_id.

toggl_summary_reports_list_project_users

List per-user time tracked and billable totals across a Toggl workspace's projects for a date range. Returns: items. Required: workspace_id; at least one of start_date or end_date must be set.

toggl_summary_reports_get_project_summary

Load a single project's summary in Toggl for a date range. Returns: billable_amount_in_cents, graph, labour_cost_in_cents, rates, resolution, seconds, tracked_days. Required: workspace_id and project_id; the date range must fall within 2006-01-01 to 2030-01-01.

toggl_summary_reports_search_time_entries

Search time entries for a Toggl summary report according to the given filters. Returns grouped summary rows containing per-group totals and nested entries. Required: workspace_id; at least one filter must be set. Pagination is cursor-based via the X-Next-ID response header and handled automatically.

toggl_summary_reports_export_pdf

Export a Toggl summary report as a PDF file for a date range. Returns the summary report in pdf format (binary file stream). Required: workspace_id; the date range must fall within 2006-01-01 to 2030-01-01.

toggl_summary_reports_export_file

Export a Toggl summary report as a CSV or XLSX file for a date range. Returns a stream with the csv or xlsx file for the report being exported. Required: workspace_id and extension (csv or xlsx); the date range must fall within 2006-01-01 to 2030-01-01.

toggl_weekly_reports_search_time_entries

Search time entries for a Toggl weekly report by workspace. Returns the weekly report time entries matching the given filters, such as date range, projects, clients, tags, tasks, and users. Required: workspace_id. At least one filter parameter must be set; billable and the duration-second filters are premium / Time Audit features.

toggl_weekly_reports_export_csv

Export a Toggl weekly report as a CSV download by workspace. Returns the weekly report in csv format, using the same filters as the weekly report search plus calculate, grouping, and group_by_task options. Required: workspace_id. At least one filter parameter must be set.

toggl_weekly_reports_export_pdf

Download a Toggl weekly report as a PDF file for a workspace. Filters (start/end dates, users, projects, tasks, tags, clients, billable), rounding, and PDF display options (grouping, date/duration format, logo) are set in the request body; at least one parameter must be set. Returns the weekly report as a binary PDF download. Required: workspace_id.

toggl_insights_load_project_data_trends

Load the projects' data trends for a Toggl workspace. Returns filtered project trends in items, each with project_id, start, end, current_period_seconds, previous_period_seconds, previousStart, and user_ids. Required: workspace_id. At least one body parameter (e.g. start_date, end_date) must be set.

toggl_saved_reports_get_saved_report

Load a previously saved Toggl report by its shared report token. Returns: detailed_results, dictionaries, features, fixed_daterange, hide_amounts, input_params, is_commenting_enabled, public, report_name, report_type, saved_params, summary_results, weekly_results, workspace_logo. Required: shared_id. Can be called without other parameters, in which case the saved or default report parameters are…

toggl_reports_filters_list_clients

List the toggl workspace clients available as report filters. Returns the items array of client records, each containing id and name (only ID and name are returned). Required: workspace_id. A request may post at most 2000 IDs.

toggl_reports_filters_list_project_groups

List the toggl workspace project groups available as report filters. Returns the items array with group_id, id, name, and project_id. Required: workspace_id; at least one of group_ids or project_ids must be set in the request body.

toggl_reports_filters_list_project_users

List the toggl workspace user-project assignments available as report filters. Returns the items array of filtered user-project records. Required: workspace_id.

toggl_reports_filters_list_projects

List filtered projects for a toggl workspace to populate report filters. Returns: items. Required: workspace_id.

toggl_reports_filters_list_project_statuses

List filtered project statuses for a toggl workspace to populate report filters. Returns: items. Required: workspace_id.

toggl_reports_filters_list_task_statuses

Filter task statuses in a Toggl workspace. Returns: items (the matching task status records). Required: workspace_id.

toggl_reports_filters_list_users

List filtered users from a Toggl workspace. Returns: items (the matching users). Required: workspace_id.

toggl_reports_filters_search_clients

Search clients in a Toggl workspace and return whole client objects. Returns: items (the matched clients). Required: workspace_id.

toggl_reports_filters_list_tasks

List filtered tasks from a Toggl workspace. Returns: items (the matching tasks). Required: workspace_id.

toggl_reports_filters_search_projects

Search projects in a Toggl workspace and return whole project objects. Returns: items (the matched projects). Required: workspace_id.

toggl_reports_filters_search_users

Search users in a toggl workspace via the reports API, filtering by active status, specific user IDs, or a user-ID cursor. Returns an items array of matching users, each with id, name, and deleted_at. Required: workspace_id.

toggl_me_preferences_get_client

Get the preferences for a specific client of the current user in toggl Track. Returns the preferences record including alpha_features, the full list of feature codes with each feature's alpha_feature_id, code, enabled flag, product_id, description, and deleted_at. Required: client (desktop or web).

Why Truto

Why use Truto’s MCP server for Toggl

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Toggl in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Toggl account

Use Truto’s frontend SDK to connect your customer’s Toggl account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Toggl

Truto’s Proxy API is a 1-to-1 mapping of the Toggl API. You call us, we call Toggl, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Toggl’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Toggl on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How do end users authenticate their Toggl account?

Truto handles the connection flow for Toggl so your users authorize access without you managing credentials, token storage, or refresh logic. Your backend just references the connection to call any Toggl endpoint.

Can we start and stop timers programmatically from our app?

Yes. You can create a new workspace time entry to start a timer with a custom description, project, and tags, and call the stop endpoint when the user's task ends. You can also fetch a running entry to display live state in your UI.

Does Toggl support webhooks so we don't have to poll?

Yes. You can create webhook subscriptions and configure event filters on resources like time entries, so your product is notified when timers start, stop, or change. This removes the need for aggressive polling to keep dashboards fresh.

Can we pull only billable hours for invoicing workflows?

Yes. The detailed and summary report endpoints accept filters including billable status, client, project, user, and date range, and return pre-calculated totals like billable amount in cents and total seconds so you don't need to aggregate raw entries yourself.

Can we access approved timesheets separately from raw time entries?

Yes. Workspace timesheet endpoints expose timesheet status and history, which is how payroll and HR platforms isolate approved periods for payout calculations instead of relying on unreviewed time entries.

What organizational data can we sync besides time entries?

You can read and write clients, projects, tasks, tags, workspace users, project users, and project groups, which covers most needs for keeping Toggl in parity with CRMs, PM tools, and HR systems.

Can we export reports as files for users to download?

Yes. Detailed, summary, and weekly reports support PDF and file exports, so you can offer users branded report downloads directly from your product without rebuilding the layout.

Toggl

Get Toggl integrated into your app

Our team understands what it takes to make a Toggl integration successful. A short, crisp 30 minute call with folks who understand the problem.