> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Basecamp

> Connect Basecamp to your Atako agents — 10 read and 8 write actions.

Let your agents follow projects, to-dos, message boards, schedules and docs in Basecamp, create and complete to-dos, post messages and comments, add events and chat in Campfire.

## Connection

* **Authentication**: OAuth 2.0 — you authorize Atako via Basecamp's consent screen; no key to copy.
* **Required settings**:
  * **Account ID** — The number in your Basecamp URL: [https://3.basecamp.com/\&lt;account\_id\&gt;/](https://3.basecamp.com/\&lt;account_id\&gt;/)

<Note>
  Nothing to paste: enter your Basecamp account ID — the number in your Basecamp URL [https://3.basecamp.com/\&lt;account\_id\&gt;/](https://3.basecamp.com/\&lt;account_id\&gt;/) — click Connect, sign in to Basecamp and authorize Atako. Prerequisite on the Atako side — an administrator registers an app on [https://launchpad.37signals.com/integrations](https://launchpad.37signals.com/integrations) → Register another application (Products: Basecamp 4, Redirect URI: \$\{API\_URL}/integrations/oauth/callback) and puts its Client ID and Client Secret in INTEGRATION\_OAUTH\_BASECAMP\_CLIENT\_ID / \_CLIENT\_SECRET.

  See [Basecamp's documentation](https://github.com/basecamp/bc3-api).
</Note>

## Read actions (10)

| Action | Description |
| - | - |
| `get_my_profile` | Get the connected user (id, name, email\_address, title, time\_zone, admin/owner flags). |
| `get_project` | Get a project with its `dock`: one entry per tool, with `name` (todoset, message\_board, schedule, chat, vault, …), `id` and `enabled`. Those ids are the todoset\_id, message\_board\_id, schedule\_id, chat\_id and vault\_id the other actions need. |
| `list_comments` | List the comments of a recording (a to-do, message, document, schedule entry… — its id). |
| `list_documents` | List the active documents of a Docs & Files vault (title, content, creator, updated\_at). |
| `list_messages` | List the active messages of a message board (sort created\_at \| updated\_at, direction desc \| asc; default created\_at desc). |
| `list_people` | List all people visible to the connected user (id, name, email\_address — redacted for non-admins —, title, personable\_type). Use the ids for assignee\_ids / participant\_ids. |
| `list_projects` | List projects visible to the connected user, most recently created first (active by default; status = archived or trashed to list those). |
| `list_schedule_entries` | List the events of a schedule (active by default; status = archived or trashed to list those). |
| `list_todolists` | List the to-do lists of a to-do set (active by default; status = archived or trashed to list those). |
| `list_todos` | List the to-dos of a to-do list. Without filters: active, pending (not completed) to-dos only. completed = true → completed ones only; status = archived or trashed → those (pending and completed). |

## Write actions (8)

| Action | Description |
| - | - |
| `add_comment` | Comment on a recording (to-do, message, document, schedule entry…). Everyone subscribed to it is notified. |
| `complete_todo` | Mark a to-do as completed (204 No Content). |
| `create_schedule_entry` | Add an event to a schedule: summary, starts\_at and ends\_at (ISO 8601) are required; all\_day = true keeps only the days; optional participants, join link (url) and notify. |
| `create_todo` | Create a to-do in a to-do list. content (the to-do itself) is required; optional description, assignees, dates and notify. |
| `create_todolist` | Create a to-do list in a to-do set. |
| `post_campfire_line` | Post a line in a project Campfire (chat). Plain text by default; content\_type text/html for rich text. |
| `post_message` | Post a message on a message board. Published immediately (status active, default) and everyone on the project is notified unless subscriptions lists who to notify; status drafted keeps it as an unpublished draft. |
| `update_todo` | Update a to-do. Basecamp REPLACES the to-do: pass every field to keep (content is required) — an omitted field is cleared (e.g. missing assignee\_ids removes the assignees). Read the to-do first (list\_todos) and resend its values with your changes. |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.