Skip to content

Integration · Projects & tasks

basecamp.com

Connect Claude & ChatGPT to Basecamp

Ask your AI what is assigned to you, which to-dos are overdue or where a decision was discussed, and it reads the answer from Basecamp. It can create projects, to-do lists and to-dos, complete to-dos, post to message boards and Campfire chats, comment on any item and add events to a project's schedule.

Connect Basecamp free

Free plan, no credit card. Takes about a minute.

Try asking

  • “What is assigned to me right now?”

    The AI lists the work assigned to you across all projects.

  • “Which to-dos are overdue?”

    It lists every overdue to-do across your projects, with assignees and due dates.

  • “Add a to-do in Website Launch: send final copy to Anna, due Friday.”

    It finds the project and its to-do list, then creates the to-do assigned to Anna with Friday as due date.

What your AI can do

To-dos and assignments

See your assignments and open or overdue to-dos, create to-do lists and to-dos, update them and mark them done.

Messages, comments and chat

Read and post message board posts, comment on any item, and read and post lines in Campfire chats.

Projects, schedules and search

List and create projects, read and add schedule events, list people and search across Basecamp.

  • “Post an update on the Website Launch message board: the launch moves to May 12.”

    It posts the message. Project members who follow the board are notified.

  • “Find everything about the Q3 budget from the last 30 days.”

    It searches to-dos, messages, documents, comments, files and chats from the last 30 days.

  • “Put a kickoff meeting on the Website Launch schedule, Monday 10 to 11.”

    It finds the project's schedule and adds the event with start and end time.

268 tools for Basecamp

These tools are switched on when you connect. You can switch any of them off, or require your approval before it runs.

  • add_commentChanges dataAdd a comment to any item (to-do, message, document, card) by its ID as `recording_id`, with `content` (HTML allowed). People following the item are notified.
  • archive_archived_jsonDeletesArchive a archived json (project id). Destructive action; may require approval.
  • archive_on_hold_jsonMoves moneyArchive a on hold json (column id). Financial or irreversible action; may require approval.
  • archive_out_of_office_jsonMoves moneyArchive a out of office json (person id). Financial or irreversible action; may require approval.
  • archive_position_jsonMoves moneyArchive a position json (tool id). Financial or irreversible action; may require approval.
  • archive_projectMoves moneyArchive a project (project id). Financial or irreversible action; may require approval.
  • complete_todoChanges dataMark a to-do as done by `todo_id`.
  • create_bucket_messageVisible to othersCreate a new message for a bucket. Required: name or icon. Has effects visible outside this system.
  • create_bucket_webhooks_jsonDeletesCreate a new webhooks json for a bucket. Required: payload url or types. Destructive action; may require approval.
  • create_card_moves_jsonChanges dataCreate a new moves json for a card. Required: column id.
  • create_card_positions_jsonChanges dataCreate a new positions json for a card. Required: source id or position.
  • create_card_steps_jsonChanges dataCreate a new steps json for a card. Required: title.
  • create_card_table_columns_jsonChanges dataCreate a new columns json for a card table. Required: title.
  • create_card_table_moves_jsonChanges dataCreate a new moves json for a card table. Required: source id or target id.
  • create_card_table_wormholes_jsonChanges dataCreate a new wormholes json for a card table. Required: destination recording id.
  • create_chat_integrations_jsonChanges dataCreate a new integrations json for a chat. Required: service name.
  • create_copies_jsonChanges dataCreate a new copies json. Required: template recording id or destination parent id.
  • create_documentChanges dataCreate a new document for a document. Required: attachable sgid.
  • create_entries_jsonChanges dataCreate a new entries json. Required: date or hours.
  • create_event_boosts_jsonChanges dataCreate a new boosts json for a event. Required: content.
  • create_list_cards_jsonChanges dataCreate a new cards json for a list. Required: title.
  • create_list_subscription_jsonChanges dataCreate a new subscription json for a list.
  • create_markers_jsonChanges dataCreate a new markers json. Required: name or date.
  • create_needles_jsonChanges dataCreate a new needles json. Required: gauge needle.
  • create_priorities_jsonChanges dataCreate a new priorities json. Required: id.
  • create_priority_moves_jsonChanges dataCreate a new priority moves json. Required: source id or position.
  • create_projectChanges dataCreate a new project with `name` and optional `description`.
  • create_project_recent_visit_jsonChanges dataCreate a new recent visit json for a project.
  • create_question_answers_jsonChanges dataCreate a new answers json for a question. Required: content.
  • create_question_pause_jsonChanges dataCreate a new pause json for a question.
  • create_questionnaire_questions_jsonChanges dataCreate a new questions json for a questionnaire. Required: title or schedule.
  • create_recording_bookmark_jsonChanges dataCreate a new bookmark json for a recording.
  • create_recording_boosts_jsonChanges dataCreate a new boosts json for a recording. Required: content.
  • create_recording_bubble_up_jsonChanges dataCreate a new bubble up json for a recording.
  • create_recording_pin_jsonVisible to othersCreate a new pin json for a recording. Has effects visible outside this system.
  • create_recording_spotlight_jsonChanges dataCreate a new spotlight json for a recording.
  • create_recording_subscriptionChanges dataCreate a new subscription for a recording.
  • create_recording_subtasks_jsonChanges dataCreate a new subtasks json for a recording. Required: title.
  • create_schedule_entryChanges dataAdd an event to a project's schedule by `schedule_id` with `summary`, `starts_at` and `ends_at` (a date for all-day events, otherwise a full timestamp), and optional `participant_ids`, `description` or a meeting `url`.
  • create_stacks_jsonChanges dataCreate a new stacks json.
  • create_subtask_completion_jsonChanges dataCreate a new completion json for a subtask.
  • create_template_projectChanges dataCreate a new project for a template. Required: project.
  • create_templates_jsonChanges dataCreate a new templates json. Required: name.
  • create_ticketChanges dataCreate a new ticket.
  • create_todoChanges dataAdd a to-do to a to-do list by `todolist_id` with `content` (the title), and optionally `description`, `assignee_ids`, `due_on`/`starts_on` (YYYY-MM-DD) and `notify` to alert assignees.
  • create_todo_listChanges dataCreate a to-do list in a project's to-do set by `todoset_id` with `name` and optional `description`.
  • create_todolist_groups_jsonChanges dataCreate a new groups json for a todolist. Required: name.
  • create_todoset_taskChanges dataCreate a new task for a todoset. Required: content.
  • create_tools_jsonChanges dataCreate a new tools json. Required: tool type.
  • create_vault_documentChanges dataCreate a new document for a vault. Required: url or service.
  • create_vault_document_create_documentChanges dataCreate a new document for a vault. Required: title.
  • create_vault_document_create_google_documentChanges dataCreate a new document for a vault. Required: url or document type.
  • create_vault_document_create_uploadChanges dataCreate a new document for a vault. Required: attachable sgid.
  • create_vault_vaults_jsonChanges dataCreate a new vaults json for a vault. Required: title.
  • delete_boostDeletesPermanently delete a boost by boost id. Destructive action; may require approval.
  • delete_bucket_categoryDeletesPermanently delete a category by type id. Destructive action; may require approval.
  • delete_chat_integrationDeletesPermanently delete a integration by chatbot id. Destructive action; may require approval.
  • delete_chat_lineDeletesPermanently delete a line by line id. Destructive action; may require approval.
  • delete_gauge_needleDeletesPermanently delete a gauge needle by needle id. Destructive action; may require approval.
  • delete_list_subscription_jsonsMoves moneyPermanently delete a subscription json by column id. Financial or irreversible action; may require approval.
  • delete_logo_jsonsMoves moneyPermanently delete a logo json by account id. Financial or irreversible action; may require approval.
  • delete_markerDeletesPermanently delete a marker by marker id. Destructive action; may require approval.
  • delete_pageDeletesPermanently delete a page by entry id. Destructive action; may require approval.
  • delete_priorityDeletesPermanently delete a priority by recording id. Destructive action; may require approval.
  • delete_projectDeletesPermanently delete a project by project id. Destructive action; may require approval.
  • delete_question_pause_jsonsMoves moneyPermanently delete a pause json by question id. Financial or irreversible action; may require approval.
  • delete_recording_bookmark_jsonsMoves moneyPermanently delete a bookmark json by recording id. Financial or irreversible action; may require approval.
  • delete_recording_bubble_up_jsonsMoves moneyPermanently delete a bubble up json by recording id. Financial or irreversible action; may require approval.
  • delete_recording_pin_jsonsMoves moneyPermanently delete a pin json by message id. Financial or irreversible action; may require approval.
  • delete_recording_spotlight_jsonsMoves moneyPermanently delete a spotlight json by recording id. Financial or irreversible action; may require approval.
  • delete_recording_subscriptionsMoves moneyPermanently delete a subscription by recording id. Financial or irreversible action; may require approval.
  • delete_stackDeletesPermanently delete a stack by folder id. Destructive action; may require approval.
  • delete_subtaskDeletesPermanently delete a subtask by subtask id. Destructive action; may require approval.
  • delete_subtask_completion_jsonsMoves moneyPermanently delete a completion json by subtask id. Financial or irreversible action; may require approval.
  • delete_task_completion_jsonsMoves moneyPermanently delete a completion json by todo id. Financial or irreversible action; may require approval.
  • delete_templateDeletesPermanently delete a template by template id. Destructive action; may require approval.
  • delete_toolDeletesPermanently delete a tool by tool id. Destructive action; may require approval.
  • delete_webhookDeletesPermanently delete a webhook by webhook id. Destructive action; may require approval.
  • delete_wormholeDeletesPermanently delete a wormhole by wormhole id. Destructive action; may require approval.
  • get_assignedGet one assigned by person id.
  • get_boostGet one boost by boost id.
  • get_bucket_categoryGet one category for a bucket by type id.
  • get_byGet one by by person id. Results are paginated.
  • get_calendarGet one calendar by calendar id.
  • get_cardGet one card by card id.
  • get_card_tableGet one card table by card table id.
  • get_chatGet one chat by campfire id.
  • get_chat_integrationGet one integration for a chat by chatbot id.
  • get_chat_lineGet one line for a chat by line id.
  • get_columnGet one column by column id.
  • get_contactGet one contact by contact id.
  • get_copyGet one copy by copy id.
  • get_customerGet one customer by customer id.
  • get_customer_get_client_correspondenceGet one customer by customer id.
  • get_documentGet one document by document id.
  • get_document_get_documentGet one document by document id.
  • get_document_get_google_documentGet one document by document id.
  • get_document_get_uploadGet one document by document id.
  • get_gauge_needleGet one gauge needle by needle id.
  • get_inboxGet one inbox by inbox id.
  • get_inbox_forwardGet one inbox forward by forward id.
  • get_inbox_forward_replyGet one reply for a inbox forward by reply id.
  • get_messageGet one message board post by `message_id`, with its full content.
  • get_message_2Get one message by message id.
  • get_message_get_message_boardGet one message by board id.
  • get_my_profileGet your own Basecamp profile (name, email, person ID). Use your person ID to assign to-dos to yourself.
  • get_pageGet one page by entry id.
  • get_page_get_timesheet_entryGet one page by entry id.
  • get_page_occurrenceGet one occurrence for a page by date.
  • get_projectGet one project by `project_id`. Its dock lists the project's tools with their IDs: the to-do set, message board, schedule and chat.
  • get_questionGet one question by question id.
  • get_question_answerGet one question answer by answer id.
  • get_questionnaireGet one questionnaire by questionnaire id.
  • get_recording_customerGet one customer for a recording by customer id.
  • get_scheduleGet one schedule by schedule id.
  • get_stackGet one stack by folder id.
  • get_stepGet one step by step id.
  • get_subtaskGet one subtask by subtask id.
  • get_templateGet one template by template id.
  • get_template_projectGet one project for a template by construction id.
  • get_todoGet one to-do by `task_id`, including assignees, due date and completion.
  • get_todolistGet one todolist by todolist id.
  • get_todosetGet one todoset by todoset id.
  • get_toolGet one tool by tool id.
  • get_vaultGet one vault by vault id.
  • get_webhookGet one webhook by webhook id.
  • list_accountsList accounts.
  • list_bookmarks_jsonsList bookmarks jsons. Results are paginated.
  • list_bubble_ups_jsonsList bubble ups jsons. Results are paginated.
  • list_bucket_messagesList messages for a bucket.
  • list_bucket_webhooks_jsonsList webhooks jsons for a bucket.
  • list_by_jsonsList by jsons.
  • list_chat_integrations_jsonsList integrations jsons for a chat.
  • list_chat_linesList recent lines (messages) in a Campfire chat by `campfire_id`.
  • list_chat_uploads_jsonsList uploads jsons for a chat. Optional filters: sort or direction. Results are paginated.
  • list_chatsList the Campfire chats you can access across projects.
  • list_checkins_jsonsList checkins jsons. Results are paginated.
  • list_commentsList the comments on any item (to-do, message, document, card, schedule entry) by its ID as `recording_id`.
  • list_comments_jsonsList comments jsons. Results are paginated.
  • list_completed_jsonsList completed jsons. Optional filters: assignee ids or due. Results are paginated.
  • list_completed_jsons_get_everything_completed_todosList completed jsons. Optional filters: assignee ids or due. Results are paginated.
  • list_completed_jsons_get_my_completed_assignmentsList completed jsons.
  • list_contact_out_of_office_jsonsList out of office jsons for a contact.
  • list_contactsList contacts.
  • list_contacts_list_assignable_peopleList contacts.
  • list_customersList customers. Optional filters: sort or direction. Results are paginated.
  • list_customers_list_client_correspondencesList customers. Optional filters: sort or direction. Results are paginated.
  • list_documentsList documents for a document.
  • list_drafts_jsonsList drafts jsons. Results are paginated.
  • list_due_jsonsList due jsons. Optional filters: scope.
  • list_event_boosts_jsonsList boosts jsons for a event. Results are paginated.
  • list_events_jsonsList events jsons. Optional filters: since, position, types, buckets, creators or performers.
  • list_files_jsonsList files jsons. Optional filters: kind or people ids. Results are paginated.
  • list_forwards_jsonsList forwards jsons. Results are paginated.
  • list_gauges_jsonsList gauges jsons. Optional filters: bucket ids. Results are paginated.
  • list_inbox_forward_replies_jsonsList replies jsons for a inbox forward. Results are paginated.
  • list_inbox_inbox_forwards_jsonsList inbox forwards jsons for a inbox. Optional filters: sort or direction. Results are paginated.
  • list_inbox_jsonsList inbox jsons. Optional filters: since, position, reasons, types or buckets.
  • list_jsonsList jsons. Results are paginated.
  • list_list_cards_jsonsList cards jsons for a list. Results are paginated.
  • list_markers_jsonsList markers jsons.
  • list_messagesList the messages on a project's message board by `board_id` (from the project's dock).
  • list_messages_get_everything_messagesList messages. Results are paginated.
  • list_messages_get_my_noteList messages.
  • list_my_assignmentsList the work assigned to you across all projects.
  • list_needles_jsonsList needles jsons. Results are paginated.
  • list_no_due_date_jsonsList no due date jsons. Optional filters: assignee ids or due. Results are paginated.
  • list_no_due_date_jsons_get_everything_no_due_date_todosList no due date jsons. Optional filters: assignee ids or due. Results are paginated.
  • list_not_now_jsonsList not now jsons. Optional filters: assignee ids or due. Results are paginated.
  • list_open_jsonsList open jsons. Optional filters: assignee ids or due. Results are paginated.
  • list_open_todosList open to-dos across all projects, optionally filtered by `assignee_ids` or `due` (with, without or overdue).
  • list_overdue_jsonsList overdue jsons. Optional filters: assignee ids or due.
  • list_overdue_jsons_get_everything_overdue_todosList overdue jsons. Optional filters: assignee ids or due.
  • list_overdue_todosList all overdue to-dos across projects.
  • list_peopleList all people in your Basecamp account. Use this to find a person's ID for assigning to-dos.
  • list_preferences_jsonsList preferences jsons.
  • list_progress_jsonsList progress jsons. Results are paginated.
  • list_project_contactsList contacts for a project. Results are paginated.
  • list_projectsList projects, optionally by `status` (active, archived or trashed). Use this to find a project's ID.
  • list_projects_2List projects.
  • list_projects_get_project_timelineList projects for a project. Results are paginated.
  • list_projects_get_project_timesheetList projects for a project. Optional filters: from, to or person id. Results are paginated.
  • list_question_answers_jsonsList answers jsons for a question. Results are paginated.
  • list_question_reminders_jsonsList question reminders jsons. Results are paginated.
  • list_questionnaire_questions_jsonsList questions jsons for a questionnaire. Results are paginated.
  • list_readings_jsonsList readings jsons. Optional filters: limit bubble ups. Results are paginated.
  • list_recording_bookmark_jsonsList bookmark jsons for a recording.
  • list_recording_boosts_jsonsList boosts jsons for a recording. Results are paginated.
  • list_recording_customersList customers for a recording. Results are paginated.
  • list_recording_events_jsonsList events jsons for a recording. Results are paginated.
  • list_recording_subscriptionsList subscriptions for a recording.
  • list_recording_subtasks_jsonsList subtasks jsons for a recording. Results are paginated.
  • list_recording_timesheet_jsonsList timesheet jsons for a recording. Optional filters: from, to or person id. Results are paginated.
  • list_recordings_jsonsList recordings jsons. Optional filters: type, bucket, status, sort or direction. Results are paginated.
  • list_schedule_entriesList the events on a project's schedule by `schedule_id` (from the project's dock).
  • list_stacks_jsonsList stacks jsons.
  • list_template_library_jsonsList template library jsons.
  • list_templates_jsonsList templates jsons. Optional filters: status. Results are paginated.
  • list_timesheet_jsonsList timesheet jsons. Optional filters: from, to or person id.
  • list_todo_listsList the to-do lists in a project's to-do set by `todoset_id` (from the project's dock).
  • list_todolist_groups_jsonsList groups jsons for a todolist. Results are paginated.
  • list_todosList the to-dos in a to-do list by `todolist_id`. Set `completed` true to list finished ones instead.
  • list_todoset_hill_jsonsList hill jsons for a todoset.
  • list_unassigned_jsonsList unassigned jsons. Optional filters: assignee ids or due. Results are paginated.
  • list_unassigned_jsons_get_everything_unassigned_todosList unassigned jsons. Optional filters: assignee ids or due. Results are paginated.
  • list_upcoming_jsonsList upcoming jsons. Optional filters: window starts on or window ends on.
  • list_vault_documentsList documents for a vault. Results are paginated.
  • list_vault_documents_list_uploadsList documents for a vault. Results are paginated.
  • list_vault_vaults_jsonsList vaults jsons for a vault. Results are paginated.
  • post_chat_lineChanges dataPost a line in a Campfire chat by `campfire_id` with `content`. Everyone in the chat sees it.
  • post_messageVisible to othersPost a message to a message board by `board_id` with `subject` and `content` (HTML allowed). Project members subscribed to it are notified.
  • restore_active_jsonVisible to othersRestore a active json (project id). Has effects visible outside this system.
  • restore_on_hold_jsonChanges dataRestore a on hold json (column id).
  • restore_out_of_office_jsonChanges dataRestore a out of office json (person id).
  • restore_position_jsonChanges dataRestore a position json (tool id).
  • restore_projectChanges dataRestore a project (project id).
  • searchSearch across Basecamp with `q`: to-dos, messages, documents, comments, files and chats. Filter by `since` (e.g. last30days), project IDs (`bucket_ids`) or creators; `sort` bestmatch or recency.
  • search_metadata_jsonsSearch metadata jsons. Use this to find existing metadata jsons before creating a new metadata json.
  • update_accountsVisible to othersUpdate an existing account identified by account id. Has effects visible outside this system.
  • update_bucket_categoryVisible to othersUpdate an existing category identified by type id. Has effects visible outside this system.
  • update_calendarChanges dataUpdate an existing calendar identified by calendar id.
  • update_cardChanges dataUpdate an existing card identified by card id.
  • update_chat_integrationChanges dataUpdate an existing integration identified by chatbot id.
  • update_chat_lineChanges dataUpdate an existing line identified by line id.
  • update_columnChanges dataUpdate an existing column identified by column id.
  • update_column_color_jsonsVisible to othersUpdate an existing color json identified by column id. Has effects visible outside this system.
  • update_documentChanges dataUpdate an existing document identified by document id.
  • update_document_replace_documentChanges dataUpdate an existing document identified by document id.
  • update_document_update_google_documentChanges dataUpdate an existing document identified by document id.
  • update_document_update_uploadChanges dataUpdate an existing document identified by document id.
  • update_gauge_needleChanges dataUpdate an existing gauge needle identified by needle id.
  • update_group_position_jsonsVisible to othersUpdate an existing position json identified by group id. Has effects visible outside this system.
  • update_markerChanges dataUpdate an existing marker identified by marker id.
  • update_messageChanges dataUpdate an existing message identified by message id.
  • update_message_update_messageVisible to othersUpdate an existing message identified by message id. Has effects visible outside this system.
  • update_messagesVisible to othersUpdate an existing message identified by account id. Has effects visible outside this system.
  • update_pageChanges dataUpdate an existing page identified by entry id.
  • update_page_update_timesheet_entryChanges dataUpdate an existing page identified by entry id.
  • update_preferences_jsonsVisible to othersUpdate an existing preferences json identified by account id. Has effects visible outside this system.
  • update_profile_jsonsVisible to othersUpdate an existing profile json identified by account id. Has effects visible outside this system.
  • update_projectChanges dataUpdate an existing project identified by project id.
  • update_project_gauge_jsonsVisible to othersUpdate an existing gauge json identified by project id. Has effects visible outside this system.
  • update_projectsVisible to othersUpdate an existing project identified by project id. Has effects visible outside this system.
  • update_projects_update_project_accessVisible to othersUpdate an existing project identified by project id. Has effects visible outside this system.
  • update_questionChanges dataUpdate an existing question identified by question id.
  • update_question_answerChanges dataUpdate an existing question answer identified by answer id.
  • update_question_notification_settings_jsonsVisible to othersUpdate an existing notification settings json identified by question id. Has effects visible outside this system.
  • update_recording_customersVisible to othersUpdate an existing customer identified by recording id. Has effects visible outside this system.
  • update_recording_position_jsonsVisible to othersUpdate an existing position json identified by tool id. Has effects visible outside this system.
  • update_recording_subscriptionsVisible to othersUpdate an existing subscription identified by recording id. Has effects visible outside this system.
  • update_scheduleChanges dataUpdate an existing schedule identified by schedule id.
  • update_settings_jsonsVisible to othersUpdate an existing settings json identified by todoset id. Has effects visible outside this system.
  • update_stackChanges dataUpdate an existing stack identified by folder id.
  • update_stepChanges dataUpdate an existing step identified by step id.
  • update_step_completions_jsonsVisible to othersUpdate an existing completions json identified by step id. Has effects visible outside this system.
  • update_subtaskChanges dataUpdate an existing subtask identified by subtask id.
  • update_subtask_position_jsonsVisible to othersUpdate an existing position json identified by subtask id. Has effects visible outside this system.
  • update_tasksVisible to othersUpdate an existing task identified by todo id. Has effects visible outside this system.
  • update_templateChanges dataUpdate an existing template identified by template id.
  • update_todoChanges dataUpdate a to-do by `task_id`. `content` (the title) is required; also set `description`, `assignee_ids` or dates. Fields you leave out may be cleared, so pass the current values you want to keep.
  • update_todolistChanges dataUpdate an existing todolist identified by todolist id.
  • update_todolist_position_jsonsVisible to othersUpdate an existing position json identified by todolist id. Has effects visible outside this system.
  • update_toolChanges dataUpdate an existing tool identified by tool id.
  • update_trashed_jsonsVisible to othersUpdate an existing trashed json identified by recording id. Has effects visible outside this system.
  • update_unreads_jsonsVisible to othersUpdate an existing unreads json identified by account id. Has effects visible outside this system.
  • update_vaultChanges dataUpdate an existing vault identified by vault id.
  • update_webhookDeletesUpdate an existing webhook identified by webhook id. Destructive action; may require approval.
  • update_wormholeChanges dataUpdate an existing wormhole identified by wormhole id.

Set up in three steps

  1. 1

    Pick the app

    Create a free HeyMyApps account and choose Basecamp from the app list.

  2. 2

    Paste your key

    Paste the Client ID and Client secret from your own Basecamp app and your Basecamp account ID, then sign in with your Basecamp login once. Register a new application at launchpad.37signals.com/integrations and set its Redirect URI to https://heymyapps.com/oauth/callback. Your account ID is the number right after 3.basecamp.com/ in your browser's address bar.

  3. 3

    Add the link to your AI

    You get a personal MCP link. Add it to Claude, ChatGPT or Cursor:

    1. Click your name, then Settings › Connectors › Add custom connector.
    2. Paste your link as the Remote MCP server URL.
    3. Switch it on from the + menu in a chat.

Questions

What can the AI do in Basecamp?

It can read projects, to-do lists, to-dos, your assignments, overdue to-dos, message board posts, comments, Campfire chats, schedule events and people, and search across Basecamp. It can create projects, to-do lists, to-dos and schedule events, update and complete to-dos, post messages and chat lines, and add comments.

Does the AI see my Basecamp credentials?

No. Your Basecamp credentials are encrypted at rest and never shown to the AI. After you save them, they are not shown again, not even to you. The AI only sees the results of the tools it calls.

Can I control what the AI is allowed to do?

Yes. You choose which tools are switched on, so you can start with lookups and search only. Messages, comments and chat lines notify other people, so posting them can require your approval before it runs. Every tool call is logged.

Does it work with ChatGPT?

Yes. In ChatGPT, open Settings › Apps & Connectors › Advanced, turn on Developer mode and add your HeyMyApps link. Developer mode needs a paid ChatGPT plan: Plus, Pro, Business or Enterprise. The same link also works in Claude (Settings › Connectors › Add custom connector), Cursor and other MCP clients.

What does it cost?

Basecamp connects with OAuth, and OAuth connections need the HeyMyApps Pro plan or above. HeyMyApps also has a free plan with no credit card, but it does not include this connection. Paid plans bill per completed task. You also need your own Basecamp account.

Where do I find my Basecamp account ID?

Open Basecamp in your browser and look at the address bar. The account ID is the number right after 3.basecamp.com/. You paste it into HeyMyApps together with the Client ID and Client secret of the app you registered at launchpad.37signals.com/integrations.

Let your AI work in Basecamp today.

Start free. Your key stays encrypted, and you decide what the AI may do.

Connect Basecamp free

HeyMyApps is not affiliated with Basecamp. Product names are trademarks of their owners.