TimeSolv lets you register your own OAuth application directly, without vendor approval. This guide covers registering the app, then connecting it to Caddi.
Before you start
You'll need:
A TimeSolv login that can reach the app registration page
An admin-level TimeSolv user to authorize the connection — a regular timekeeper authorizing will under-provision what Caddi can do
Owner or Admin access to your Caddi organization
Step 1: Register the app in TimeSolv
The Active checkbox is easy to miss. If it isn't ticked, the app registers but authorization will fail with no obvious explanation.
Go to apps.timesolv.com/App/RegisterApp.aspx and sign in with your TimeSolv credentials.
Fill in the registration form:
Name —
CaddiDescription —
Caddi IntegrationRedirect URL —
https://app.trycaddi.com/oauth-callbackActive — tick this box
Submit the form.
Copy the generated ClientAPPKey and SecretKey.
Step 2: Configure TimeSolv 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 TimeSolv in the list and click Configure.
Enter the following values:
Client ID — the ClientAPPKey from your registration
Client Secret — the SecretKey issued alongside it
API Base URL — leave blank for production. Caddi defaults to
https://apps.timesolv.com/Services/rest/oauth2v1.
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.
Step 3: Connect your account
Go back to the My Connections tab and find TimeSolv.
Click Connect +. A TimeSolv window opens.
Sign in as an admin-level TimeSolv user.
Click Yes to grant authorization. The connection status changes to connected.
How the connection behaves
Access follows the authorizing user's TimeSolv role. TimeSolv has no scope selection, so whatever the authorizing user can do in TimeSolv is what Caddi can do. Authorize as an admin-level user.
A custom connection replaces the standard one. Members of your organization will only see the option to connect through your app.
Revoking access. Untick Active on the app registration, or delete the registration, to cut Caddi off.
Troubleshooting
Authorization fails immediately after registering the app
Check that the Active checkbox is ticked on the TimeSolv app registration.
The connection succeeds but loops can't reach clients or matters
The connection was authorized by a non-admin TimeSolv user. Disconnect and reconnect, signing in as an admin-level user.
A redirect error when the TimeSolv window opens
The Redirect URL on the registration does not match https://app.trycaddi.com/oauth-callback. Edit the registration and correct it.
Still stuck? Contact Caddi support with the exact error message you're seeing and the time it occurred.
Automation ideas
Law Firms
Meeting or call → TimeSolv time entry
Caddi reads the meeting duration and attendees, drafts the narrative, and creates the time entry against the right client and matter.
Email thread → captured time
Caddi identifies billable correspondence, groups it by matter, and drafts the time entries for review rather than leaving it to memory.
Week end → timekeeper nudge
Caddi compares calendar activity against recorded time and sends each timekeeper a short list of gaps to confirm or dismiss.
