Toggl Focus connects to Caddi with an API key generated in your Toggl Focus settings. This is not an OAuth connection — there is no sign-in step and no redirect URI.
Toggl Focus and Toggl Track are different products with different credentials. Focus (also branded Toggl 2.0) is the successor to Toggl Plan and lives at focus.toggl.com; Track lives at track.toggl.com. Their keys look different and use different authentication.
A Focus key starts with toggl_sk_. If you have a Track token, use the Toggl Track setup instead — pasting one into the other's field is the most common mistake here.
Before you start
You'll need:
A Toggl Focus (Toggl 2.0) account
Owner or Admin access to your Caddi organization
Consider generating the key from a dedicated non-admin member account rather than a person's everyday login. The key inherits that user's permissions, and it stops working if the account is deactivated.
Step 1: Generate the API key in Toggl Focus
Only one API key can be active per user. Creating a new key automatically revokes the existing one. If the same Toggl Focus account is used for another integration, generating a key here will break it.
Sign in at focus.toggl.com.
Go to Settings and find the API keys section.
Click Create (or Generate). If you're offered an expiration period, note which one you pick.
Copy the key immediately — it starts with
toggl_sk_and is shown only once.
Step 2: Configure Toggl Focus in Caddi
This step must be completed by a Caddi organization owner or admin.
In Caddi, open Integrations in the left sidebar, then click the Integration Setup tab at the top of the page. This tab is only visible to organization owners and admins.
Find Toggl Focus in the list and click Configure.
Enter the following values:
API Token — the
toggl_sk_key from Step 1
Click Save Configuration. Caddi validates the credentials immediately — if something is wrong you'll see an error right away, and nothing is stored until validation passes.
How the connection behaves
One shared identity. Everyone in your Caddi organization who uses Toggl Focus in a loop acts as the account that generated the key. Focus respects the same role-based permissions as its own app — if that user can't do something in the Focus UI, Caddi can't either.
Only one key per user. Generating a new key anywhere revokes the previous one, which will silently break this connection.
The key dies with the account. If the generating user is deactivated or leaves, the connection stops.
Revoking access. Generate a new key in Toggl Focus without updating Caddi, or delete the key.
Request quotas are hourly and depend on your plan — roughly 30 per hour on Free, 240 on Starter, and 600 on Premium, per user per organization. Focus returns HTTP 402 rather than 429 when a quota is exceeded.
Troubleshooting
Authentication fails on save
Check the key starts with toggl_sk_. A Toggl Track token is a different format and uses different authentication — it will not work here.
The connection worked and then stopped with no changes
A new API key was generated on that Toggl Focus account, which automatically revoked the one Caddi holds. Generate a key, update Caddi, and avoid reusing that account for other integrations.
Caddi can read but not modify entries
The account that generated the key doesn't have permission for that action in Toggl Focus. Check its role.
Loops fail with a 402 error
You've exceeded the hourly request quota for your plan. Reduce the loop's frequency or scope.
Still stuck? Contact Caddi support with the exact error message you're seeing and the time it occurred.
Automation ideas
Law Firms
Tracked time → practice management time entry
Caddi reads the day's Toggl Focus entries, maps them to matters, drafts billing narratives, and creates the time entries in Clio, Elite 3E, or Neos.
Week end → unbilled time review
Caddi compares tracked time against recorded billable time and sends each timekeeper the short list of gaps.
RIAs
Tracked time → client service reporting
Caddi aggregates time by client relationship so you can see actual service cost against fee, without anyone building the spreadsheet.
