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

# Basecamp

> What agents can do in Basecamp with standard access, and how to connect, limit, and disconnect Basecamp.

Connect Basecamp so your agents can work in your Basecamp account.

## Access levels

Basecamp has one level. The connect window shows it as **Default** and describes it as "Standard access." Agents can use all 140 Basecamp actions.

You cannot choose a narrower level for Basecamp. You can block single agents with **No access** under **Per-agent access**.

The Basecamp sign-in page asks you to approve full access to your account. This is expected. Squad does not narrow the sign-in, and standard access does not limit which Basecamp actions agents can use.

## What agents can do

The summary below groups the Basecamp actions into plain tasks. The full list after it names every action, grouped by what the action works on. You do not need to name actions. Ask in plain words, and the agent searches for the matching action.

<Tip>**Find an action.** Open the list and use your browser's find (Ctrl+F, or Cmd+F on a Mac) with a word from the task or part of a slug. Or ask your agent in plain words, for example "What can you do in my Basecamp account?" The agent can search the Basecamp actions for you.</Tip>

Each action shows its name, a one-line description where the Basecamp action catalog has one, and its slug. The slug is the ID that agents use when they call the action.

* View, create, and update tasks
* View, create, update, and delete columns
* View, create, and update comments
* View, create, and update files
* View, update, and send messages
* View, create, update, and delete projects
* View, create, and update cards
* View, create, and update documents
* View people
* View, create, update, and delete templates
* View, create, update, and delete webhooks
* View, create, and update entries

<AccordionGroup>
  <Accordion title="All 140 Basecamp actions">
    <AccordionGroup>
      <Accordion title="Answers (1)">
        | Action                       | What it does                                                       | Slug                                    |
        | ---------------------------- | ------------------------------------------------------------------ | --------------------------------------- |
        | Get buckets question answers | Retrieve a specific question answer by ID from a Basecamp project. | `BASECAMP_GET_BUCKETS_QUESTION_ANSWERS` |
      </Accordion>

      <Accordion title="Attachments (1)">
        | Action           | What it does                      | Slug                        |
        | ---------------- | --------------------------------- | --------------------------- |
        | Post attachments | Upload a file to Basecamp system. | `BASECAMP_POST_ATTACHMENTS` |
      </Accordion>

      <Accordion title="Boards (1)">
        | Action            | What it does                         | Slug                         |
        | ----------------- | ------------------------------------ | ---------------------------- |
        | Get message board | Get the message board for a project. | `BASECAMP_GET_MESSAGE_BOARD` |
      </Accordion>

      <Accordion title="Cards (9)">
        | Action                                   | What it does                                                    | Slug                                                |
        | ---------------------------------------- | --------------------------------------------------------------- | --------------------------------------------------- |
        | Create card                              | Create a new card in a column of a Basecamp card table.         | `BASECAMP_CREATE_CARD`                              |
        | Create card step                         | Create a step within a card in a Basecamp card table.           | `BASECAMP_CREATE_CARD_STEP`                         |
        | Get buckets card tables lists cards      | Retrieve a paginated list of cards from a card table column.    | `BASECAMP_GET_BUCKETS_CARD_TABLES_LISTS_CARDS`      |
        | Get card                                 | Get a specific card by ID from a card table.                    | `BASECAMP_GET_CARD`                                 |
        | Move card                                | Move a card to a different column within a Basecamp card table. | `BASECAMP_MOVE_CARD`                                |
        | Post buckets card tables cards moves     | Move a card to a different column within a Basecamp card table. | `BASECAMP_POST_BUCKETS_CARD_TABLES_CARDS_MOVES`     |
        | Post buckets card tables cards positions | Reposition a step within a card in a Basecamp card table.       | `BASECAMP_POST_BUCKETS_CARD_TABLES_CARDS_POSITIONS` |
        | Reposition card step                     | Change the position of a step within a card.                    | `BASECAMP_REPOSITION_CARD_STEP`                     |
        | Update card                              | Update a card's details in a Basecamp card table.               | `BASECAMP_UPDATE_CARD`                              |
      </Accordion>

      <Accordion title="Categories (3)">
        | Action                  | What it does                                                      | Slug                               |
        | ----------------------- | ----------------------------------------------------------------- | ---------------------------------- |
        | Get buckets categories  | Retrieve all message types (categories) from a Basecamp project.  | `BASECAMP_GET_BUCKETS_CATEGORIES`  |
        | Post buckets categories | Create a new message type (category) in a Basecamp project.       | `BASECAMP_POST_BUCKETS_CATEGORIES` |
        | Put buckets categories  | Update an existing message type (category) in a Basecamp project. | `BASECAMP_PUT_BUCKETS_CATEGORIES`  |
      </Accordion>

      <Accordion title="Chats (4)">
        | Action                                            | What it does                                                                           | Slug                                                         |
        | ------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
        | Get buckets chats lines                           | Retrieve a paginated list of Campfire lines from a specific chat.                      | `BASECAMP_GET_BUCKETS_CHATS_LINES`                           |
        | Get chats                                         | Retrieve a paginated list of all active Campfires (chats) visible to the current user. | `BASECAMP_GET_CHATS`                                         |
        | Post buckets chats lines                          | Create a line in a Basecamp Campfire chat.                                             | `BASECAMP_POST_BUCKETS_CHATS_LINES`                          |
        | Post integrations chatbot key buckets chats lines | Create a line in a Basecamp Campfire chat using a chatbot key.                         | `BASECAMP_POST_INTEGRATIONS_CHATBOT_KEY_BUCKETS_CHATS_LINES` |
      </Accordion>

      <Accordion title="Clients (1)">
        | Action                                   | What it does                                          | Slug                                                |
        | ---------------------------------------- | ----------------------------------------------------- | --------------------------------------------------- |
        | Put buckets recordings client visibility | Update client visibility for a recording in Basecamp. | `BASECAMP_PUT_BUCKETS_RECORDINGS_CLIENT_VISIBILITY` |
      </Accordion>

      <Accordion title="Columns (9)">
        | Action                                     | What it does                                                                 | Slug                                                  |
        | ------------------------------------------ | ---------------------------------------------------------------------------- | ----------------------------------------------------- |
        | Delete buckets card tables columns on hold | Remove the on-hold section from a card table column.                         | `BASECAMP_DELETE_BUCKETS_CARD_TABLES_COLUMNS_ON_HOLD` |
        | Get card table column                      | Get a specific column from a card table within a Basecamp project.           | `BASECAMP_GET_CARD_TABLE_COLUMN`                      |
        | Move card table column                     | Reorder columns within a Basecamp card table.                                | `BASECAMP_MOVE_CARD_TABLE_COLUMN`                     |
        | Post buckets card tables columns           | Create a column within a Basecamp card table.                                | `BASECAMP_POST_BUCKETS_CARD_TABLES_COLUMNS`           |
        | Post buckets card tables columns on hold   | Create an on-hold section in a card table column.                            | `BASECAMP_POST_BUCKETS_CARD_TABLES_COLUMNS_ON_HOLD`   |
        | Put buckets card tables columns color      | Update a card table column's visual color designation in a Basecamp project. | `BASECAMP_PUT_BUCKETS_CARD_TABLES_COLUMNS_COLOR`      |
        | Unwatch card table column                  | Stop watching a card table column.                                           | `BASECAMP_UNWATCH_CARD_TABLE_COLUMN`                  |
        | Update card table column                   | Update a card table column's properties in a Basecamp project.               | `BASECAMP_UPDATE_CARD_TABLE_COLUMN`                   |
        | Watch card table column                    | Start watching a card table column in a Basecamp project.                    | `BASECAMP_WATCH_CARD_TABLE_COLUMN`                    |
      </Accordion>

      <Accordion title="Comments (6)">
        | Action                           | What it does                                                | Slug                                        |
        | -------------------------------- | ----------------------------------------------------------- | ------------------------------------------- |
        | Get comment                      | Retrieve a specific comment by ID from a Basecamp project.  | `BASECAMP_GET_COMMENT`                      |
        | List comments                    | Get all comments on a recording in a Basecamp project.      | `BASECAMP_LIST_COMMENTS`                    |
        | Post buckets recordings comments | Publish a comment on a recording within a Basecamp project. | `BASECAMP_POST_BUCKETS_RECORDINGS_COMMENTS` |
        | Post buckets todolists comments  | Add a comment to a to-do list in a Basecamp project.        | `BASECAMP_POST_BUCKETS_TODOLISTS_COMMENTS`  |
        | Post buckets todos comments      | Add a comment to a to-do in a Basecamp project.             | `BASECAMP_POST_BUCKETS_TODOS_COMMENTS`      |
        | Put buckets comments             | Update comment content in a Basecamp project.               | `BASECAMP_PUT_BUCKETS_COMMENTS`             |
      </Accordion>

      <Accordion title="Documents (5)">
        | Action                       | What it does                                                                      | Slug                                    |
        | ---------------------------- | --------------------------------------------------------------------------------- | --------------------------------------- |
        | Create document              | Create a new document in a Basecamp vault.                                        | `BASECAMP_CREATE_DOCUMENT`              |
        | Get buckets vaults documents | Retrieve a paginated list of active documents from a vault in a Basecamp project. | `BASECAMP_GET_BUCKETS_VAULTS_DOCUMENTS` |
        | Get document                 | Get a specific document by ID from a Basecamp project bucket.                     | `BASECAMP_GET_DOCUMENT`                 |
        | Put buckets documents        | Update an existing document in a Basecamp project bucket.                         | `BASECAMP_PUT_BUCKETS_DOCUMENTS`        |
        | Update document              | Update an existing document's title or content in a Basecamp project.             | `BASECAMP_UPDATE_DOCUMENT`              |
      </Accordion>

      <Accordion title="Entries (4)">
        | Action                         | What it does                                                     | Slug                                      |
        | ------------------------------ | ---------------------------------------------------------------- | ----------------------------------------- |
        | Get buckets schedules entries  | Retrieve a paginated list of schedule entries from a schedule.   | `BASECAMP_GET_BUCKETS_SCHEDULES_ENTRIES`  |
        | Get schedule entry             | Get a specific schedule entry by ID from a Basecamp project.     | `BASECAMP_GET_SCHEDULE_ENTRY`             |
        | Post buckets schedules entries | Create a schedule entry in a Basecamp schedule within a project. | `BASECAMP_POST_BUCKETS_SCHEDULES_ENTRIES` |
        | Put buckets schedule entries   | Update an existing schedule entry in a Basecamp schedule.        | `BASECAMP_PUT_BUCKETS_SCHEDULE_ENTRIES`   |
      </Accordion>

      <Accordion title="Events (1)">
        | Action                        | What it does                                         | Slug                                     |
        | ----------------------------- | ---------------------------------------------------- | ---------------------------------------- |
        | Get buckets recordings events | Retrieve a paginated list of events for a recording. | `BASECAMP_GET_BUCKETS_RECORDINGS_EVENTS` |
      </Accordion>

      <Accordion title="Files (6)">
        | Action                     | What it does                                                                    | Slug                                  |
        | -------------------------- | ------------------------------------------------------------------------------- | ------------------------------------- |
        | Create upload              | Create a new upload (file) in a Basecamp vault.                                 | `BASECAMP_CREATE_UPLOAD`              |
        | Get buckets uploads        | Retrieve a specific upload by ID from a Basecamp project vault.                 | `BASECAMP_GET_BUCKETS_UPLOADS`        |
        | Get buckets vaults uploads | Retrieve a paginated list of active uploads from a vault in a Basecamp project. | `BASECAMP_GET_BUCKETS_VAULTS_UPLOADS` |
        | Get upload                 | Get a specific upload by ID from a Basecamp project.                            | `BASECAMP_GET_UPLOAD`                 |
        | List uploads               | Retrieve all active uploads from a vault in a Basecamp project.                 | `BASECAMP_LIST_UPLOADS`               |
        | Put buckets uploads        | Update an existing upload in a Basecamp project bucket.                         | `BASECAMP_PUT_BUCKETS_UPLOADS`        |
      </Accordion>

      <Accordion title="Groups (3)">
        | Action                                | What it does                                                                        | Slug                                             |
        | ------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------ |
        | Create todolist group                 | Create a new to-do group within a parent to-do list in Basecamp.                    | `BASECAMP_CREATE_TODOLIST_GROUP`                 |
        | Get buckets todolists groups          | Retrieve a paginated list of active groups from a to-do list in a Basecamp project. | `BASECAMP_GET_BUCKETS_TODOLISTS_GROUPS`          |
        | Put buckets todolists groups position | Reposition a to-do list group within its parent to-do list in a Basecamp project.   | `BASECAMP_PUT_BUCKETS_TODOLISTS_GROUPS_POSITION` |
      </Accordion>

      <Accordion title="Inboxes (2)">
        | Action                       | What it does                                                               | Slug                                    |
        | ---------------------------- | -------------------------------------------------------------------------- | --------------------------------------- |
        | Get buckets inboxes forwards | Retrieve a paginated list of active email forwards from a project's inbox. | `BASECAMP_GET_BUCKETS_INBOXES_FORWARDS` |
        | Get inbox                    | Get the inbox (email forwards) for a Basecamp project.                     | `BASECAMP_GET_INBOX`                    |
      </Accordion>

      <Accordion title="Integrations (2)">
        | Action                         | What it does                                                        | Slug                                      |
        | ------------------------------ | ------------------------------------------------------------------- | ----------------------------------------- |
        | Get buckets chats integrations | Retrieve all chatbot integrations from a Campfire chat.             | `BASECAMP_GET_BUCKETS_CHATS_INTEGRATIONS` |
        | Put buckets chats integrations | Update an existing chatbot integration in a Basecamp Campfire chat. | `BASECAMP_PUT_BUCKETS_CHATS_INTEGRATIONS` |
      </Accordion>

      <Accordion title="Messages (6)">
        | Action                               | What it does                                                                             | Slug                                            |
        | ------------------------------------ | ---------------------------------------------------------------------------------------- | ----------------------------------------------- |
        | Get buckets message boards messages  | Retrieve a paginated list of active messages from a message board in a Basecamp project. | `BASECAMP_GET_BUCKETS_MESSAGE_BOARDS_MESSAGES`  |
        | Get message                          | Retrieve a specific message by ID from a Basecamp project message board.                 | `BASECAMP_GET_MESSAGE`                          |
        | Pin message                          | Pin a message to the top of the message board.                                           | `BASECAMP_PIN_MESSAGE`                          |
        | Post buckets message boards messages | Publish a message to a Basecamp message board within a project.                          | `BASECAMP_POST_BUCKETS_MESSAGE_BOARDS_MESSAGES` |
        | Put buckets messages                 | Update a message's subject, content, or category in a Basecamp project.                  | `BASECAMP_PUT_BUCKETS_MESSAGES`                 |
        | Unpin message                        | Unpin a message from the message board.                                                  | `BASECAMP_UNPIN_MESSAGE`                        |
      </Accordion>

      <Accordion title="People (5)">
        | Action                  | What it does                                                             | Slug                               |
        | ----------------------- | ------------------------------------------------------------------------ | ---------------------------------- |
        | Get circles people      | Retrieve all people on this Basecamp account who can be pinged.          | `BASECAMP_GET_CIRCLES_PEOPLE`      |
        | Get people              | Retrieve all people visible to the current user in the Basecamp account. | `BASECAMP_GET_PEOPLE`              |
        | Get people by person ID | Retrieve the profile for a specific user by their ID.                    | `BASECAMP_GET_PEOPLE_BY_PERSON_ID` |
        | Get projects people     | Retrieve all active people assigned to a Basecamp project.               | `BASECAMP_GET_PROJECTS_PEOPLE`     |
        | List project people     | Get all people on a specific Basecamp project.                           | `BASECAMP_LIST_PROJECT_PEOPLE`     |
      </Accordion>

      <Accordion title="Profiles (1)">
        | Action         | What it does                                                                                    | Slug                      |
        | -------------- | ----------------------------------------------------------------------------------------------- | ------------------------- |
        | Get my profile | Retrieve the current user's personal info including profile details, permissions, and settings. | `BASECAMP_GET_MY_PROFILE` |
      </Accordion>

      <Accordion title="Projects (8)">
        | Action                              | What it does                                                                                              | Slug                                           |
        | ----------------------------------- | --------------------------------------------------------------------------------------------------------- | ---------------------------------------------- |
        | Create project construction         | Create a new project from a Basecamp template asynchronously.                                             | `BASECAMP_CREATE_PROJECT_CONSTRUCTION`         |
        | Get project                         | Retrieve a specific project by its ID with complete details.                                              | `BASECAMP_GET_PROJECT`                         |
        | Get projects                        | Retrieve a paginated list of projects visible to the current user, sorted by most recently created first. | `BASECAMP_GET_PROJECTS`                        |
        | Get projects by project ID          | Retrieve a single project by its ID with full details including dock tools.                               | `BASECAMP_GET_PROJECTS_BY_PROJECT_ID`          |
        | Get templates project constructions | Retrieve the status of a project construction from a template.                                            | `BASECAMP_GET_TEMPLATES_PROJECT_CONSTRUCTIONS` |
        | Post projects                       | Create a new project in Basecamp with a name and optional description.                                    | `BASECAMP_POST_PROJECTS`                       |
        | Put projects                        | Update an existing project's name, description, access policy, or schedule in Basecamp.                   | `BASECAMP_PUT_PROJECTS`                        |
        | Trash project                       | Mark a Basecamp project as trashed.                                                                       | `BASECAMP_TRASH_PROJECT`                       |
      </Accordion>

      <Accordion title="Questions (2)">
        | Action                               | What it does                                                                       | Slug                                            |
        | ------------------------------------ | ---------------------------------------------------------------------------------- | ----------------------------------------------- |
        | Get buckets questionnaires questions | Retrieve a paginated list of questions from a questionnaire in a Basecamp project. | `BASECAMP_GET_BUCKETS_QUESTIONNAIRES_QUESTIONS` |
        | Get buckets questions                | Retrieve a specific check-in question by ID from a Basecamp project.               | `BASECAMP_GET_BUCKETS_QUESTIONS`                |
      </Accordion>

      <Accordion title="Recordings (6)">
        | Action                                 | What it does                                                                        | Slug                                              |
        | -------------------------------------- | ----------------------------------------------------------------------------------- | ------------------------------------------------- |
        | Delete buckets recordings pin          | Unpin a recording (message) in a Basecamp project.                                  | `BASECAMP_DELETE_BUCKETS_RECORDINGS_PIN`          |
        | Get projects recordings                | Retrieve a paginated list of records for a given type of recording across projects. | `BASECAMP_GET_PROJECTS_RECORDINGS`                |
        | Post buckets recordings pin            | Pin a recording (message) in a Basecamp project.                                    | `BASECAMP_POST_BUCKETS_RECORDINGS_PIN`            |
        | Put buckets recordings status active   | Unarchive a recording in a Basecamp project by marking it as active.                | `BASECAMP_PUT_BUCKETS_RECORDINGS_STATUS_ACTIVE`   |
        | Put buckets recordings status archived | Mark a recording as archived in a Basecamp project.                                 | `BASECAMP_PUT_BUCKETS_RECORDINGS_STATUS_ARCHIVED` |
        | Put buckets recordings status trashed  | Mark a recording as trashed in a Basecamp project.                                  | `BASECAMP_PUT_BUCKETS_RECORDINGS_STATUS_TRASHED`  |
      </Accordion>

      <Accordion title="Schedules (2)">
        | Action                | What it does                                           | Slug                             |
        | --------------------- | ------------------------------------------------------ | -------------------------------- |
        | Get schedule          | Retrieve schedule details for a specific project.      | `BASECAMP_GET_SCHEDULE`          |
        | Put buckets schedules | Update a schedule configuration in a Basecamp project. | `BASECAMP_PUT_BUCKETS_SCHEDULES` |
      </Accordion>

      <Accordion title="Storage buckets (4)">
        | Action                     | What it does                                                                            | Slug                                  |
        | -------------------------- | --------------------------------------------------------------------------------------- | ------------------------------------- |
        | Get buckets questionnaires | Retrieve a specific questionnaire (automatic check-ins) from a Basecamp project.        | `BASECAMP_GET_BUCKETS_QUESTIONNAIRES` |
        | Get buckets vaults         | Retrieve a specific vault from a Basecamp project.                                      | `BASECAMP_GET_BUCKETS_VAULTS`         |
        | Get buckets vaults         | Retrieve a paginated list of vaults nested within a parent vault in a Basecamp project. | `BASECAMP_GET_BUCKETS_VAULTS_VAULTS`  |
        | Put buckets vaults         | Update a vault's title in a Basecamp project.                                           | `BASECAMP_PUT_BUCKETS_VAULTS`         |
      </Accordion>

      <Accordion title="Subscriptions (3)">
        | Action                               | What it does                                                      | Slug                                            |
        | ------------------------------------ | ----------------------------------------------------------------- | ----------------------------------------------- |
        | Get subscription                     | Get subscription information for a recording.                     | `BASECAMP_GET_SUBSCRIPTION`                     |
        | Post buckets recordings subscription | Subscribe the current user to a recording for notifications.      | `BASECAMP_POST_BUCKETS_RECORDINGS_SUBSCRIPTION` |
        | Put buckets recordings subscription  | Update recording subscriptions by adding or removing subscribers. | `BASECAMP_PUT_BUCKETS_RECORDINGS_SUBSCRIPTION`  |
      </Accordion>

      <Accordion title="Tables (3)">
        | Action                                    | What it does                                                    | Slug                                                 |
        | ----------------------------------------- | --------------------------------------------------------------- | ---------------------------------------------------- |
        | Get card table                            | Retrieve a card table (Kanban board) for a project.             | `BASECAMP_GET_CARD_TABLE`                            |
        | Put buckets card tables steps             | Update an existing card table step in Basecamp.                 | `BASECAMP_PUT_BUCKETS_CARD_TABLES_STEPS`             |
        | Put buckets card tables steps completions | Mark a card table step as completed or uncompleted in Basecamp. | `BASECAMP_PUT_BUCKETS_CARD_TABLES_STEPS_COMPLETIONS` |
      </Accordion>

      <Accordion title="Task lists (4)">
        | Action                          | What it does                                                                                | Slug                                       |
        | ------------------------------- | ------------------------------------------------------------------------------------------- | ------------------------------------------ |
        | Get buckets todosets todolists  | Retrieve a paginated list of to-do lists within a specific to-do set in a Basecamp project. | `BASECAMP_GET_BUCKETS_TODOSETS_TODOLISTS`  |
        | Get todolist                    | Retrieve a specific to-do list from a Basecamp project by its ID.                           | `BASECAMP_GET_TODOLIST`                    |
        | List todolists                  | Get all to-do lists in a to-do set within a Basecamp project.                               | `BASECAMP_LIST_TODOLISTS`                  |
        | Post buckets todosets todolists | Create a new to-do list in a Basecamp to-do set within a project.                           | `BASECAMP_POST_BUCKETS_TODOSETS_TODOLISTS` |
      </Accordion>

      <Accordion title="Tasks (10)">
        | Action                       | What it does                                                                          | Slug                                    |
        | ---------------------------- | ------------------------------------------------------------------------------------- | --------------------------------------- |
        | Complete todo                | Mark a to-do as completed in Basecamp.                                                | `BASECAMP_COMPLETE_TODO`                |
        | Create todo                  | DEPRECATED: Use BASECAMP\_POST\_BUCKETS\_TODOLISTS\_TODOS instead.                    | `BASECAMP_CREATE_TODO`                  |
        | Get buckets todolists todos  | Retrieve a paginated list of to-dos from a specific to-do list in a Basecamp project. | `BASECAMP_GET_BUCKETS_TODOLISTS_TODOS`  |
        | Get buckets todos            | Retrieve a specific to-do by ID from a Basecamp project.                              | `BASECAMP_GET_BUCKETS_TODOS`            |
        | Get todo                     | Retrieve a specific to-do by ID from a Basecamp project.                              | `BASECAMP_GET_TODO`                     |
        | Post buckets todolists todos | Create a to-do in a Basecamp to-do list within a project.                             | `BASECAMP_POST_BUCKETS_TODOLISTS_TODOS` |
        | Put buckets todos            | Update an existing to-do in a Basecamp project.                                       | `BASECAMP_PUT_BUCKETS_TODOS`            |
        | Put buckets todos position   | Change the position of a to-do within its list in a Basecamp project.                 | `BASECAMP_PUT_BUCKETS_TODOS_POSITION`   |
        | Uncomplete todo              | Mark a to-do as uncompleted in Basecamp.                                              | `BASECAMP_UNCOMPLETE_TODO`              |
        | Update todo                  | Update a to-do's content, assignees, or due date in a Basecamp project.               | `BASECAMP_UPDATE_TODO`                  |
      </Accordion>

      <Accordion title="Templates (5)">
        | Action                       | What it does                                                                                                      | Slug                                    |
        | ---------------------------- | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
        | Get templates                | Retrieve a paginated list of active templates visible to the current user, sorted by most recently created first. | `BASECAMP_GET_TEMPLATES`                |
        | Get templates by template ID | Retrieve a single template by its ID with full details including dock tools.                                      | `BASECAMP_GET_TEMPLATES_BY_TEMPLATE_ID` |
        | Post templates               | Create a new template in Basecamp with a name and optional description.                                           | `BASECAMP_POST_TEMPLATES`               |
        | Put templates                | Update a template's name and description in Basecamp.                                                             | `BASECAMP_PUT_TEMPLATES`                |
        | Trash template               | Mark a template as trashed in Basecamp.                                                                           | `BASECAMP_TRASH_TEMPLATE`               |
      </Accordion>

      <Accordion title="Time entries (1)">
        | Action                | What it does                                                                         | Slug                             |
        | --------------------- | ------------------------------------------------------------------------------------ | -------------------------------- |
        | Get reports timesheet | Retrieve all timesheet entries across the Basecamp account within a given timeframe. | `BASECAMP_GET_REPORTS_TIMESHEET` |
      </Accordion>

      <Accordion title="Types (3)">
        | Action              | What it does                                                    | Slug                           |
        | ------------------- | --------------------------------------------------------------- | ------------------------------ |
        | Delete message type | Delete a message type from a Basecamp project.                  | `BASECAMP_DELETE_MESSAGE_TYPE` |
        | Get message type    | Retrieve a specific message type by ID from a Basecamp project. | `BASECAMP_GET_MESSAGE_TYPE`    |
        | List message types  | Retrieve all message types in a Basecamp project.               | `BASECAMP_LIST_MESSAGE_TYPES`  |
      </Accordion>

      <Accordion title="Users (2)">
        | Action                    | What it does                                          | Slug                                 |
        | ------------------------- | ----------------------------------------------------- | ------------------------------------ |
        | Put projects people users | Grant or revoke project access for users in Basecamp. | `BASECAMP_PUT_PROJECTS_PEOPLE_USERS` |
        | Unsubscribe current user  | Unsubscribe the current user from a recording.        | `BASECAMP_UNSUBSCRIBE_CURRENT_USER`  |
      </Accordion>

      <Accordion title="Webhooks (5)">
        | Action                | What it does                                               | Slug                             |
        | --------------------- | ---------------------------------------------------------- | -------------------------------- |
        | Delete webhooks       | Delete a webhook from a Basecamp project.                  | `BASECAMP_DELETE_WEBHOOKS`       |
        | Get buckets webhooks  | Retrieve all webhooks configured for a Basecamp project.   | `BASECAMP_GET_BUCKETS_WEBHOOKS`  |
        | Get webhook           | Retrieve a specific webhook by ID from a Basecamp project. | `BASECAMP_GET_WEBHOOK`           |
        | Post buckets webhooks | Create a new webhook subscription for a Basecamp project.  | `BASECAMP_POST_BUCKETS_WEBHOOKS` |
        | Put buckets webhooks  | Update an existing webhook in a Basecamp project.          | `BASECAMP_PUT_BUCKETS_WEBHOOKS`  |
      </Accordion>

      <Accordion title="Other actions (12)">
        | Action               | What it does                                                                       | Slug                            |
        | -------------------- | ---------------------------------------------------------------------------------- | ------------------------------- |
        | Create chatbot       | Create a new chatbot in a Basecamp Campfire chat.                                  | `BASECAMP_CREATE_CHATBOT`       |
        | Create chatbot line  | Post a message as a chatbot to a Basecamp Campfire.                                | `BASECAMP_CREATE_CHATBOT_LINE`  |
        | Create vault         | Create a new vault (folder) within an existing parent vault in a Basecamp project. | `BASECAMP_CREATE_VAULT`         |
        | Delete campfire line | Delete a Campfire line from a chat conversation.                                   | `BASECAMP_DELETE_CAMPFIRE_LINE` |
        | Delete chatbot       | Delete a chatbot from a Campfire chat.                                             | `BASECAMP_DELETE_CHATBOT`       |
        | Get campfire         | Retrieve a specific Campfire (chat room) by ID from a Basecamp project.            | `BASECAMP_GET_CAMPFIRE`         |
        | Get campfire line    | Retrieve a specific Campfire line by ID from a Basecamp project.                   | `BASECAMP_GET_CAMPFIRE_LINE`    |
        | Get chatbot          | Get a specific chatbot by ID from a Basecamp Campfire chat.                        | `BASECAMP_GET_CHATBOT`          |
        | Get todoset          | Retrieve a specific to-do set from a Basecamp project.                             | `BASECAMP_GET_TODOSET`          |
        | List chatbots        | Get all chatbots for a chat/campfire.                                              | `BASECAMP_LIST_CHATBOTS`        |
        | Post lineup markers  | Create an account-wide marker that shows up in the Lineup.                         | `BASECAMP_POST_LINEUP_MARKERS`  |
        | Update vault         | Update a vault's title in a Basecamp project.                                      | `BASECAMP_UPDATE_VAULT`         |
      </Accordion>
    </AccordionGroup>
  </Accordion>
</AccordionGroup>

## Connect Basecamp

Before you start:

* You need a Basecamp account that you can sign in to.
* Your Squad subscription must be active. Squad does not connect apps while the subscription is not active.

<Steps>
  <Step title="Open Integrations">
    Open **Settings** > **Integrations**.
  </Step>

  <Step title="Add an integration">
    On the **Connected apps** tab, click **+ Add integration**.
  </Step>

  <Step title="Find Basecamp">
    Find **Basecamp** in the catalog and click it. You can type the name in **Search the catalog…**.
  </Step>

  <Step title="Keep the default level">
    Under **Default scope**, keep **Default**. It is the only option.
  </Step>

  <Step title="Click Connect Basecamp">
    Click **Connect Basecamp**. The Basecamp sign-in page opens in a new tab.
  </Step>

  <Step title="Sign in to Basecamp">
    Sign in to Basecamp and approve the request.
  </Step>
</Steps>

Check that it works: Basecamp shows under **YOUR CONNECTIONS**, with a row for the account and its access level.

## Set access for one agent

Every agent can use the account unless you block it.

1. Under **YOUR CONNECTIONS**, open the account menu (⋯) on the Basecamp account.
2. Click **Manage scope**.
3. Under **Per-agent access**, find the agent.
4. Choose **No access** to block the agent. Choose **Default (Default)** to allow it again.
5. Click **Save access**.

Changes apply from the agent's next call. An agent with **No access** does not see the account.

## Use more than one Basecamp account

Click **+ Account** on the Basecamp card to connect another account. Agents use the primary account unless they are asked to use a specific one.

* After you click **+ Account**, follow the connect steps above.
* The first account you connect becomes the primary account. It shows **★ PRIMARY**.
* To change the primary account, open the account menu (⋯) and click **Make primary**.
* To tell accounts apart, open the account menu (⋯) and click **Rename**.

## Reconnect or disconnect

Reconnect when the connection has expired, or when you need to change what the account can reach on the Basecamp side:

1. Open the account menu (⋯) and click **Reconnect**.
2. Click **Reauthorize on Basecamp**.
3. Sign in to Basecamp and approve the request.

Reconnect signs in to the same account again. It does not add a second connection.

Open the account menu (⋯) on the Basecamp account and click **Disconnect**. Agents lose access to that account at once.

<Warning>**Disconnect** acts at once, with no confirmation step. If it was the primary account, another connected Basecamp account becomes primary.</Warning>

## Costs

Basecamp actions do not use Squad credits. Connected apps never use credits. For what does use credits, see [What Squad costs](/docs/costs).

## Troubleshooting

An agent says it has no access to Basecamp, or it does not see the account.

* Cause: the agent is set to **No access** under **Per-agent access**, or the account is not connected.
* Fix: open **Manage scope** and change the agent's row. If the account is missing, connect it again.

Connecting or saving fails with "Your subscription isn't active."

* Cause: your Squad subscription is not active.
* Fix: resubscribe. See [Manage your subscription](/docs/billing).

An agent says the Basecamp connection has expired.

* Cause: the sign-in for that account is no longer valid.
* Fix: use **Reconnect** on the account.

## Common questions

<AccordionGroup>
  <Accordion title="Can I limit what agents can do in Basecamp?">
    You cannot choose a narrower level for Basecamp. You can block single agents with **No access** under **Per-agent access**.
  </Accordion>

  <Accordion title="Can I connect more than one Basecamp account?">
    Click **+ Account** on the Basecamp card to connect another account. Agents use the primary account unless they are asked to use a specific one.
  </Accordion>

  <Accordion title="How do I disconnect Basecamp?">
    Open the account menu (⋯) on the Basecamp account and click **Disconnect**. Agents lose access to that account at once.
  </Accordion>
</AccordionGroup>

## Related pages

<CardGroup cols={2}>
  <Card title="Connect apps" icon="plug" href="/docs/integrations" />

  <Card title="Add an MCP server or an API key" icon="server" href="/docs/custom-integrations">
    Use this when an action you need is not in this app.
  </Card>
</CardGroup>
