# Basecamp setup for PopMCP

Nothing is typed into PopMCP. You click Authorize with Basecamp, sign in, pick your account and approve PopMCP on Basecamp's page. PopMCP is already a registered Basecamp client, so there is no developer app, API key or callback URL to set up. If your account offers personal access tokens, one can go under More options instead, and a company that wants its own app can register one at Launchpad.

- Auth: OAuth authorization
- Setup time: 1 min
- API base URL: https://3.basecampapi.com
- Credentials screen: https://launchpad.37signals.com/signin
- Provider docs: https://github.com/basecamp/bc-api

## Before you begin

- A Basecamp account on any plan. Basecamp 3, 4 and 5 all work; Basecamp 2 and Basecamp Classic do not
- Pop-up blockers must allow the Basecamp sign-in window to open
- Only if the AI should change anything: an owner or admin in PopMCP to allow write actions

## Get your credentials

### 1. Start the connection from PopMCP

Open the Basecamp connector in PopMCP and click Authorize with Basecamp. There are no fields to fill in: no API key, no developer app and nothing to register. To keep the connection strictly read-only, open More options first and untick Allow changes.

### 2. Sign in to Basecamp in the pop-up

The window opens on Basecamp's sign-in page. Sign in with the Basecamp login the AI should act as: it sees and does only what that person can in Basecamp.

### 3. Pick your account and approve PopMCP

Basecamp names PopMCP and asks for two things. Pick the account to connect, then choose Full access so the AI can add and change things once write actions are allowed, or Read-only access so it can look around but never change anything. Approve.

### 4. Confirm the account in PopMCP

Back in PopMCP, if your login reaches more than one account, tick the one this connection is for and choose its workspace. Each PopMCP workspace holds one Basecamp account, and a call aimed at another account is refused.

### 5. Or use a personal access token instead

Prefer a token? Where your account offers them, open app.basecamp.com/my/access_tokens in Basecamp and make one. In PopMCP open More options, paste it into Personal access token and connect: the sign-in step is skipped. A token has no refresh step, so when it ends or is revoked, make a new one and reconnect.

Screen: https://app.basecamp.com/my/access_tokens

### 6. Or register your own app (optional)

Company rules ask for your own app? Open launchpad.37signals.com/integrations, click Register another application, name it, tick Basecamp under products and set the redirect URI to `https://app.popmcp.com/api/providers/basecamp/callback`. Copy its Client ID and Client Secret into More options in PopMCP and click Authorize. Most people never need this.

Screen: https://launchpad.37signals.com/integrations

### 7. Check that Basecamp is connected

The Basecamp card in PopMCP reads Connected, with the account name and who signed in. Every Basecamp endpoint is a tool, plus one-call jobs such as `basecamp_get_project_overview` and `basecamp_add_todo` that take a project's name. Adding, editing, moving and trashing wait until an owner or admin allows write actions in PopMCP.

## Fields PopMCP asks for

- How you connect (connectionType): Click Authorize, sign in to Basecamp, pick your account and approve. There is nothing to copy or paste.
- Permissions (scopes): Reading is always included. Changes are only used once write actions are allowed on the connection.
- Personal access token (instead of signing in) (personalAccessToken): Only if you prefer a token: make one at app.basecamp.com/my/access_tokens, where your account offers them, and paste it here. The sign-in step is skipped.
- Your own app's client ID (instead of signing in through PopMCP) (clientId): Only if your company wants its own app: register one at launchpad.37signals.com/integrations with the redirect URI https://app.popmcp.com/api/providers/basecamp/callback, then paste its client ID and secret.
- Your own app's client secret (clientSecret): 

## Scopes requested

- full
- offline_access

## Verify

The Basecamp card in PopMCP shows Connected with the account name. Asking the AI for the connection profile (`basecamp_connection_profile`) names the account and the person, and asking for your projects (`basecamp_list_projects`) lists them rather than an authorization error.

## Troubleshooting

### The sign-in window never opens

Cause: A pop-up blocker is stopping the Basecamp sign-in window.

Fix: Allow pop-ups for PopMCP in your browser and click Authorize with Basecamp again.

### "Your Basecamp sign-in has ended..."

Cause: PopMCP was disconnected in Basecamp, or Basecamp signed the login out after seeing an old sign-in used again.

Fix: Reconnect Basecamp in PopMCP: one click on Authorize with Basecamp and approve.

### "Basecamp did not accept that token"

Cause: The token was copied in part, was revoked, or has passed its expiry.

Fix: Make a new token at app.basecamp.com/my/access_tokens, copy all of it and connect again, or sign in instead.

### "That Basecamp login has no Basecamp accounts it can reach"

Cause: The login signed in has no Basecamp account: it belongs only to another 37signals product, or the person was removed.

Fix: Sign in with the Basecamp ID that belongs to your account, or ask an admin to add you.

### "Basecamp could not find this account for this login"

Cause: The account's trial or subscription has ended, or this person was removed from it. Basecamp answers 404 for all of these.

Fix: Check the account in Basecamp, then connect again.

### A change answers 403

Cause: Either Read-only access was chosen on Basecamp's page or Allow changes was unticked, or the person may not do this in Basecamp (some changes are for admins, owners or the item's creator).

Fix: Reconnect Basecamp and choose Full access, or ask someone who is allowed. An owner or admin must also allow write actions in PopMCP.

### An item you can see in Basecamp answers 404

Cause: Basecamp hides what a person cannot see: a 404 means deleted, a wrong id, or not on that project.

Fix: Check the person is on the project in Basecamp. basecamp_search finds items by their words.

### Launchpad refuses the redirect for your own app

Cause: A company's own app was registered with a different redirect URI.

Fix: At launchpad.37signals.com/integrations set the redirect URI to exactly https://app.popmcp.com/api/providers/basecamp/callback, or leave the client fields empty and sign in with one click.

---

Source: https://www.docs.popmcp.com/docs/integrations/basecamp/