Guides
AI assistants
Connect an AI assistant and your managers can ask “who's on site at the warehouse?”, “what overtime did we pay last week?” or “approve last week's timesheets” in plain words. It signs in as the person using it and can only see and do what they can.
Before you start#
An admin turns this on once for the workspace, in Settings → Developers → AI assistants:
- Allow AI assistants: off means no assistant can connect.
- What assistants can look up: untick anything you'd rather keep out of assistants.
- Let assistants make changes: off by default, so assistants can only read. When on, an assistant always shows what it will change and waits for the person to confirm.
The same page shows your Server URL. It depends on your workspace's region:
https://ca-api.clocklap.com/mcpConnect your assistant#
ClockLap is a standard remote MCP server. Most assistants connect in under a minute: add the URL, then sign in to ClockLap in the window that opens and click Connect.
Claude (claude.ai and Claude Desktop)#
- Add a custom connector
Open Settings → Connectors and choose Add custom connector. On Team and Enterprise plans an owner adds it once for everyone.
- Enter the details
Name:
ClockLap. URL: your Server URL above. Leave the advanced OAuth fields empty: ClockLap registers Claude itself. - Connect
Click Connect, sign in to ClockLap, and approve. Then turn ClockLap on in a chat from the tools menu.
ChatGPT#
- Turn on developer mode
In Settings → Apps & Connectors → Advanced settings, turn on Developer mode (available on plans that allow custom connectors).
- Create the connector
Back in Apps & Connectors, choose Create. Name it
ClockLap, paste your Server URL and choose OAuth for authentication. - Sign in
Sign in to ClockLap and approve. Pick ClockLap from the tools in a new chat.
Claude Code#
claude mcp add --transport http clocklap https://ca-api.clocklap.com/mcpThen run /mcp in Claude Code and choose Authenticate to sign in.
Cursor#
Add this to ~/.cursor/mcp.json (or .cursor/mcp.json in a project), then sign in when Cursor asks:
{
"mcpServers": {
"clocklap": { "url": "https://ca-api.clocklap.com/mcp" }
}
}VS Code (GitHub Copilot)#
Add this to .vscode/mcp.json, then click Start above the server and sign in:
{
"servers": {
"clocklap": { "type": "http", "url": "https://ca-api.clocklap.com/mcp" }
}
}Any other MCP client#
Use the Streamable HTTP transport with your Server URL. Sign-in is OAuth 2.1 with PKCE and dynamic client registration, discovered from /.well-known/oauth-protected-resource, so clients that support remote MCP servers set it up themselves.
For an automated agent with no person to sign in, send an API key instead: Authorization: Bearer tt_live_…. The assistant then has exactly the key's access.
Menus in assistant apps move around. If the steps above don't match, look for custom connector, MCP server or remote server: what you enter is always the Server URL.
Things to ask#
- “Who's on site at Toronto Warehouse right now, and who's late?”
- “Show me last week's missed clock-outs and who they belong to.”
- “How much overtime did each site pay this pay period?”
- “Who's off next week, and are any shifts uncovered?”
- “Ava forgot to clock out yesterday at 5 pm. Fix it.” (with changes allowed: you'll see the change and confirm it)
How it stays safe#
- Same access as the person. The assistant acts as whoever connected it. A site manager's assistant sees their sites only.
- Read-only unless allowed. Change tools aren't even offered until an admin turns on Let assistants make changes.
- Every change is confirmed. A change tool first returns a preview; nothing happens until the person confirms.
- Everything is recorded. Every request, reads included, is in the audit log as
mcp.<tool>, and changes show the assistant as the actor in webhooks. - Easy to cut off. Turn off Allow AI assistants to disconnect every assistant at once. One person can end their own access by changing their password.
Tools#
What an assistant can use (27 to look things up, 17 to make changes). Admins can switch any of them off.
Look things up#
| Tool | What it does |
|---|---|
List locationslist_locations | Regions, sites and zones with headcount, client and default project |
Live attendanceget_live_attendance | Who is on site, on break or late now |
Search peoplesearch_people | Find people by name, external ID, location, role or status |
Time entriesget_time_entries | Shifts for a person or location in a date range, with clock-out answers |
Time entry detailsget_time_entry | One shift with punches, GPS, edit history, break-rule check and clock-out answers |
Timesheet summaryget_timesheet_summary | Pay-period totals and approval status |
Exceptionslist_exceptions | Missed clock-outs, outside-fence punches and other issues |
Run reportrun_report | Hours, overtime or attendance, with a CSV, Excel or PDF link |
Tracked time reporttracked_time_report | Hours by member, project, activity, client, site or period, with billable amounts |
Attendance insightsattendance_insights | Absences, late clock-ins, early clock-outs and time lost per person |
Time offlist_time_off | Time-off requests and balances |
Time off balancesget_time_off_balances | Vacation, sick and personal hours available, with recent ledger history |
Holidayslist_holidays | Statutory and company holidays for the workspace or a location |
Scheduleget_schedule | Planned shifts for a week |
Shiftslist_shifts | Dated shifts (draft and published) for a person or site in a date range, with conflicts |
Open shiftslist_open_shifts | Unassigned shifts waiting to be claimed |
Projectslist_projects | Projects with their client, sites, bill rate and budget |
Activitieslist_activities | Activities (kinds of work) and which projects they apply to |
Clientslist_customers | The clients work is billed to, with their projects and sites |
Site requestslist_site_requests | Requests to work at a site or add a new one |
Insightsget_insights | Unusual patterns: heading for overtime, shared phones, edge-of-site punches, many corrections and more |
Explain an insightexplain_insight | The facts behind an insight, in plain words |
Payroll connectionslist_connections | Connected payroll and HR systems, their status and last run |
Preview a payroll sendpreview_payroll_run | What would be sent to payroll for a period: people, hours per pay code, warnings |
Payroll run statusget_run_status | Whether a payroll send went through, with lines that were not accepted |
Invoiceslist_invoices | Invoices by status, client, site or date, with totals and what is still owed |
Noteslist_notes | Notes and voice-note summaries on a project, client, site or invoice, with follow-ups and suggested invoice lines |
Make changes (when allowed)#
| Tool | What it does |
|---|---|
Add a missed shiftcreate_time_entry | Create a time entry, optionally on a project and activity (reason required) |
Fix a shiftupdate_time_entry | Adjust clock-in, clock-out, project, activity or billable (reason required) |
Approve timesheetsapprove_timesheets | Approve one or many people for a period |
Resolve an issueresolve_exception | Close an exception with a note |
Decide time offdecide_time_off | Approve or decline a time-off request |
Invite a personinvite_user | Invite someone with a role and locations |
Decide a site requestdecide_site_request | Approve or decline a request to work at or add a site |
Change a geofenceupdate_geofence | Change radius, dwell or exit buffer |
Add a shiftcreate_shift | Add a draft shift for a person, or an open shift at a site |
Publish a schedulepublish_schedule | Publish a week's draft shifts and notify the people on them |
Send hours to payrollsend_payroll_run | Send a reviewed preview to the payroll system |
Send invoices to accountingsync_invoices_to_accounting | Send sent invoices and their payments to QuickBooks, Xero, FreshBooks or Wave |
Bring in field service jobsimport_field_jobs | Bring jobs in from Jobber, Housecall Pro or Procore as projects |
Draft an invoicecreate_invoice_draft | Draft an invoice for a client, optionally with a day's hours as labour |
Send an invoicesend_invoice | Email an invoice with its PDF and payment link to the client |
Record a paymentrecord_payment | Record a cash, cheque, e-transfer or card-terminal payment on an invoice |
Add a noteadd_note | Add a typed note to a project, client, site, time entry or invoice |
Troubleshooting#
| You see | What to do |
|---|---|
| “Sign in to ClockLap to use these tools” | The assistant isn’t signed in yet, or its sign-in expired. Reconnect it. |
| “MCP access is not enabled for this workspace” | An admin needs to turn on Allow AI assistants. |
| A message about the wrong region | Use the Server URL for your workspace’s region (shown in the console). |
| The assistant says it can’t change things | Changes are off. An admin can turn on Let assistants make changes. |