At a glance
- Availability: Experimental (how to enable).
- Auth: OAuth 2.0.
- Connection: A user authorizes the connection in the provider’s consent screen.
- Docs: https://github.com/basecamp/bc3-api/blob/master/sections/authentication.md
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.Setup
- 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.
- 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.
- Set environment variables: Copy the Client ID and Client Secret into your .env as BASECAMP_CLIENT_ID and BASECAMP_CLIENT_SECRET.
- 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
Tools
| Tool | Access | Description |
|---|---|---|
| List Projects | Read | List active projects in a Basecamp account |
| Get Project | Read | Get a project including its dock (the todoset ID needed for to-do tools is in the dock entry named ‘todoset’) |
| Create Project | Write | Create a new Basecamp project |
| List To-do Lists | Read | List to-do lists in a project’s todoset (get the todoset ID from Get Project’s dock) |
| List To-dos | Read | List to-dos in a to-do list |
| Create To-do | Write | Create a to-do in a to-do list |
| Complete To-do | Write | Mark 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.