> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neoagent.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Connecting ManicTime to Neo

> Connect ManicTime Cloud with an API client, or your own ManicTime Server with an API token or a username and password

You connect ManicTime once at the MSP level. Pick the way that fits how you run ManicTime:

| You use | Connection type | You need |
| - | - | - |
| ManicTime Cloud (cloud.manictime.com) | **ManicTime Cloud — API client** | An API client from the Developer page |
| ManicTime Server v2026.3 or later, with the new sign-in system | **ManicTime Server v2026.3 or later — API token** | An API token from Administration → Developer |
| An older ManicTime Server | **ManicTime Server, older sign-in — Username & Password** | A ManicTime user's email address and password |

To see which sign-in system your server uses, open **Administration** → **User management** → **Sign-in methods**. If the page shows **New sign-in system available**, the server uses the older one.

## Before you start

* Neo acts as one ManicTime user and sees what that user may see. Use an **administrator**, or a user with the **Content reader** permission, so Neo sees every technician's time. To let Neo tag time, the user needs the **Content editor** or **Content writer** permission. Many MSPs use a user named for Neo.
* A ManicTime Server must be reachable from the internet over HTTPS, with a certificate from a public authority. Neo cannot reach a server on your internal network. To limit who reaches it, allow only Neo's addresses from [IP whitelisting](https://docs.neoagent.io/integrations/ip-whitelisting.md).
* A server with Windows users only cannot take a username and password from Neo: use the API token on v2026.3 or later.

## ManicTime Cloud

### 1. Create an API client

In ManicTime Cloud, open the **Developer** page (single-user accounts: bottom-left menu → **My profile** → **Developer**; team accounts: bottom-left menu → **Users and subscriptions** → **Developer**) and create a client:

* **Callback URL:** `https://localhost/callback`, exactly.

Copy the **Client ID** and the **Client Secret**.

### 2. Authorize the client

Open this address in your browser, with your Client ID in place of `<your Client ID>`:

```
https://login.manictime.com/connect/authorize?response_type=code&client_id=<your Client ID>&scope=openid+profile+manictimeapi+offline_access&redirect_uri=https%3A%2F%2Flocalhost%2Fcallback&code_challenge=jF6HVgdERxQnGLSoSqxiR-2D1OTC5pl6pUQ_HMLD-yI&code_challenge_method=S256&state=neo
```

Sign in as the user Neo acts as. Your browser then opens a page that does not load. That is expected: copy the whole address from the address bar. It starts with `https://localhost/callback?code=`. The code in it works once and expires within minutes, so do the next step straight away.

### 3. Save it in Neo

In the Neo Dashboard, open **Integrations** and find the ManicTime card, under Scheduling & Field Service. Set **Connection type** to **ManicTime Cloud — API client**, enter the Client ID and the Client Secret, paste the address you copied into **Authorization**, and click **Save settings**. Neo turns the code into a lasting authorization and reads your workspace address before saving, so a wrong secret or an expired code is rejected straight away.

If you delete the client, change its secret, or revoke its access, Neo stops reaching ManicTime and sends you a message in the dashboard. Authorize the client again (step 2) and save the new address.

## ManicTime Server with an API token

1. In ManicTime Server, open **Administration** → **Developer** → **API tokens** and click **Add API token**.
2. Name it Neo, pick the user Neo acts as, and pick an expiry. Click **Create** and copy the token; it is shown once.
3. In Neo, open the ManicTime card, set **Connection type** to **ManicTime Server v2026.3 or later — API token**, enter the address you open ManicTime Server at (for example `https://manictime.example.com`) and the token, and click **Save settings**. Neo reads the API with the token before saving.

When the token expires, add a new one and save it in Neo.

## ManicTime Server with a username and password

In Neo, open the ManicTime card, set **Connection type** to **ManicTime Server, older sign-in — Username & Password**, enter the server address, the user's email address and password, and click **Save settings**. Neo signs in before saving. If the password changes, save the new one in Neo.

When you switch the server to the sign-in system of v2026.3, this connection stops working: add an API token and change the connection type.

## Turn ManicTime on per agent

Open the agent, go to the Integrations section, and pick an access profile for the ManicTime block, or set each area yourself:

| Area | Access levels you can pick | Notes |
| - | - | - |
| **Timelines & Activity** | Disabled, Read Only | Each person's applications, window and tab titles, documents, websites and devices over time. The time check needs it. |
| **Tags** | Disabled, Read Only, Read / Write | The tags a person may use, and tagging their time. Changing an existing tag, or sending raw timeline changes, always asks a technician. |
| **Allowed Tag List** | Disabled, Read / Write | Replacing the list of tags each user and team may use. |
| **Screenshots** | Disabled, Read Only | The list of screenshots ManicTime took. A screenshot can show anything that was on the screen. |

See [ManicTime API](https://docs.neoagent.io/agents/tools/management/manictime-api.md) for the profiles and what the agent can read and change.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.