Skip to main content

At a glance

Credentials

Set these per environment. See Connect an integration. With a managed OAuth app, Connect works without these variables; set them to use your own OAuth app instead.
VariableRequiredDescription
BASECAMP_CLIENT_IDYesBasecamp (37signals Launchpad) OAuth Client ID Docs.
BASECAMP_CLIENT_SECRETYesBasecamp (37signals Launchpad) OAuth Client Secret Docs.

Setup

  1. Create a Basecamp account: Sign up at https://basecamp.com (a free trial works for testing). Note your account ID - it’s the number in the app URL, e.g. https://3.basecamp.com/5899981.
  2. Register an app on 37signals Launchpad: Go to https://launchpad.37signals.com/integrations and register a new app. Check ‘Basecamp 4’ as the product and set your redirect URI to your app’s /api/auth/basecamp/callback URL.
  3. Set environment variables: Copy the Client ID and Client Secret into your .env as BASECAMP_CLIENT_ID and BASECAMP_CLIENT_SECRET.
  4. Verify access: Complete the OAuth flow, then run List Projects with your account ID.
  • Every API URL includes the account ID: https://3.basecampapi.com/{accountId}/… - tools take it as a required accountId parameter
  • Basecamp OAuth has no scopes; tokens carry the user’s full access. Access tokens expire after two weeks and are renewed with the refresh token
  • Basecamp requires a User-Agent identifying your app with contact info, and rate-limits to ~50 requests per 10 seconds
Provider API reference: https://github.com/basecamp/bc3-api

Tools

ToolAccessDescription
List ProjectsReadList active projects in a Basecamp account
Get ProjectReadGet a project including its dock (the todoset ID needed for to-do tools is in the dock entry named ‘todoset’)
Create ProjectWriteCreate a new Basecamp project
List To-do ListsReadList to-do lists in a project’s todoset (get the todoset ID from Get Project’s dock)
List To-dosReadList to-dos in a to-do list
Create To-doWriteCreate a to-do in a to-do list
Complete To-doWriteMark a Basecamp to-do as completed

Example prompts

  • List my Basecamp projects and summarize the open to-dos in one of them.
  • Add a to-do to a Basecamp to-do list with a due date and assignee.