Skip to main content

Connect to Basecamp

Description on how the integration with Basecamp works

A
Written by Andraž Furlan
Updated over a week ago

This guide explains how the Basecamp → My Hours import works, what the ~15-minute sync does, and the key behaviors to expect.


What gets imported (field mapping)

Basecamp

My Hours

Projects

Projects

Todo lists

Task Lists

Todos

Tasks

Extra details:

  • Only Projects that contain at least one todo set are imported. Empty Projects or Projects without any todo sets are skipped.

  • Descriptions on Projects and Todos are imported.

  • Todos that live inside todo groups (within a todo list) are also imported.


Import modes

1) One-time import

Imports the Projects, Todo lists, and Todos that exist in your Basecamp 4 account at the moment you run it. No ongoing updates. Perfect for a one-time import.

2) Ongoing sync (every ~15 minutes)

  • Runs an initial import/backfill, then keeps My Hours up to date.

  • New or updated Projects, Todo lists, or Todos added in Basecamp will appear in My Hours roughly every 15 minutes.


Important behavior

  • Changing the order of todos within a todo list or changing the order of todo groups does not create duplicates.

  • Moving a todo from one todo list to another will create a duplicate task in corresponding task list in My Hours.

  • If a Project has multiple todo sets, all of their todo lists and todos are imported under the same Project in My Hours. Todos inside todo groups are placed under the corresponding Task List (their parent todo list).


Quick setup steps

  1. Connect Basecamp to My Hours (Settings → Apps & Integrations → Basecamp → Connect).

  2. In Configuration, choose One-time import or enable Scheduled import (~15-minute sync).

  3. The import starts as soon as you choose the configuration option and close the window.

Security & Authentication

How integrations handle authorization:

  • After you connect and authorize any app, My Hours automatically generates an API key for your workspace.

  • This key is required for the integration to run.

  • Data exchange is handled via Paragon, our trusted integration provider.

  • You can disconnect the integration at any time from the Configuration tab (and revoke the API key if needed).

Did this answer your question?