Skip to main content

Basecamp

The Basecamp integration connects Timesheet to your Basecamp projects. Your Basecamp to-dos appear in Timesheet as todos you can track time against, and the todos you create in Timesheet appear in Basecamp. Changes can flow in both directions.

Basecamp sells its own time tracking as a paid Timesheets add-on. This integration does not require it. Without the add-on, to-dos sync and your hours stay in Timesheet. With the add-on, tracked time is also written into Basecamp as timesheet entries.

Pro plan

The Basecamp integration requires a Pro plan or above. See the Plans page for the full comparison.

Before you start

  • A Basecamp account. Any plan works, including the free one.
  • Access to the Basecamp projects you want to sync.
  • A Timesheet Pro plan.

Basecamp client users cannot manage webhooks. If you connect with a client account, real-time inbound sync is unavailable and the integration falls back to the scheduled sync.

Install and connect

In the web app, open Integrations, select Browse Marketplace, and install Basecamp. Open the integration and select Connect, then sign in to your 37signals account and authorize access.

The connection uses OAuth, so Timesheet never sees your Basecamp password. If your 37signals login has more than one Basecamp account, the integration uses the one tied to the authorization you approve.

Once connected, the header shows Connected and Sync Enabled, with Sync Now and an Actions menu. The integration is organized into five tabs: Sync Dashboard, Settings, Triggers, Mappings, and Logs.

Choose how it syncs

On the Settings tab, set the direction and what gets written.

  • Sync Direction: bidirectional (both ways), timesheet-to-basecamp (Timesheet to Basecamp only), or basecamp-to-timesheet (Basecamp to Timesheet only).
  • Write time entries to Basecamp: auto writes tracked time into Basecamp on projects that have the Timesheets add-on, and skips projects that do not. off disables time writing entirely and keeps only to-do sync.
  • To-do list: the name of the Basecamp to-do list new to-dos are created in. Leave it empty to use the project's first list.

Select Save to apply.

Map your projects

On the Mappings tab, pair each Timesheet project with a Basecamp project. Only mapped projects sync.

Select + Add to create a pair, then Save. Map your projects before your team starts tracking, so every entry lands in the right place.

When it syncs

The Triggers tab controls what starts a sync. You can turn each trigger on or off.

  • Todo Changed: syncs todo.create, todo.update, and todo.delete to Basecamp as they happen.
  • Time Entry Changed: writes task.create, task.update, and task.delete to Basecamp timesheet entries.
  • Basecamp Webhook: receives inbound to-do changes from Basecamp automatically.
  • Scheduled Full Sync: runs a complete reconciliation on a schedule, by default daily at 02:00 UTC.
  • Manual Sync: runs when you select Sync Now or Run Full Sync.
  • Register Webhooks: creates the Basecamp webhooks for the projects you mapped.

Basecamp webhooks are created one per mapped project. When you add a new project mapping, run Register Webhooks to set up its webhook right away, or wait for the next scheduled sync to do it for you.

How to-dos map

A Timesheet todo and a Basecamp to-do stay paired one to one:

  • The todo name becomes the to-do content, and the description carries over.
  • A due date on the todo becomes the Basecamp due date.
  • Completing on either side checks off the other.
  • Deleting a todo in Timesheet moves the Basecamp to-do to the trash. Basecamp has no permanent delete for to-dos.
  • Trashing or archiving a to-do in Basecamp removes the matching Timesheet todo.

How time reaches Basecamp

Tracked time is written to Basecamp only when two things are true:

  1. The Basecamp project has the Timesheets add-on. It is included on Basecamp Pro Unlimited and sold separately on Plus. Projects without it are skipped, and to-do sync continues normally.
  2. The Timesheet entry is linked to a todo. A Basecamp timesheet entry has to attach to a to-do, so entries with no todo stay in Timesheet only.

When both apply, the entry appears on the matching Basecamp to-do with the tracked duration in hours, the start date, and your description. Break time is subtracted first. Running timers are not written until they are stopped.

With bidirectional sync, time logged directly in Basecamp comes back as a Timesheet task on the mapped project. Basecamp does not send webhooks for timesheet entries, so inbound time arrives with the scheduled sync rather than in real time.

Monitor syncs

The Sync Dashboard shows the health of the integration: how many of the recent runs succeeded or failed, how many items synced, the connection state, the scheduled sync time, and the last sync result. Select Run Full Sync to reconcile everything now.

The Logs tab lists each run with its status, trigger, date, and duration, so you can see exactly what synced and when.

Remove the integration

Use the Actions menu in the header, or the Uninstall Integration option on the integration page. This removes the integration and its mappings in Timesheet. To-dos and time already synced stay in Basecamp, so remove them there if you no longer want them.

Troubleshooting

The integration shows as disconnected. Open the integration and select Connect again. Basecamp access tokens expire after two weeks and are normally refreshed automatically, but a long gap without syncing can require reconnecting.

To-dos are not appearing in Basecamp. Check that the project is mapped and that the sync direction allows Timesheet to write to Basecamp. Confirm the Basecamp project has its To-dos tool enabled and contains at least one to-do list. Open the Logs tab to look for failed runs.

Changes in Basecamp arrive late. Real-time inbound sync needs a webhook on that project. Run Register Webhooks from the settings, and check that you did not connect with a Basecamp client account, which cannot create webhooks. Until then, changes arrive with the scheduled sync.

Time is not appearing in Basecamp. Confirm the Basecamp project has the Timesheets add-on, that Write time entries to Basecamp is set to auto, and that the time entry is linked to a todo. Entries with no todo are not written.

A sync run was throttled. Basecamp limits how many requests an application can make in a short window. The integration waits and retries automatically, and the next scheduled sync picks up anything that was missed.

For anything else, contact support@timesheet.io with your Timesheet account email and Basecamp account name.

See also

  • Integrations: install integrations and manage API keys and webhooks.
  • Google Calendar: sync tracked time with Google Calendar.
  • Plans: compare what each plan includes.