Ticketing
Basecamp
API integration
Ship Ticketing features without building the integration. Full Basecamp API access via Proxy, normalized data through Unified APIs, and 100+ MCP-ready tools for AI agents — all extensible to your exact use case.
Talk to usUse Cases
Why integrate with Basecamp
Common scenarios for SaaS companies building Basecamp integrations for their customers.
Escalate support tickets into Basecamp projects
Support SaaS products can let agents push bug reports or feature requests directly into Basecamp as to-dos or card table cards, with full context attached. Bidirectional comment sync via webhooks keeps agents informed when engineering resolves the issue.
Automate project provisioning from deal close
CRM or proposal tools can automatically create Basecamp projects from templates when a deal is won, populate them with onboarding to-do lists, and upload signed contracts — eliminating manual project setup for agencies and service teams.
Sync task data for time tracking and billing
Time-tracking and billing SaaS products can pull Basecamp to-dos and card table cards so users can log hours against specific tasks, then post time entries back as comments on the corresponding Basecamp items.
Surface project status in client-facing dashboards
Agency analytics and reporting platforms can pull Basecamp projects, to-do completion data, and client approvals to display real-time project health and pending action items in a unified client portal.
Route deployment alerts and release notes to Basecamp
CI/CD and DevOps tools can post formatted release notes to Basecamp message boards on successful deploys, or fire immediate alerts into Campfire chat rooms when builds fail — keeping non-technical stakeholders in the loop without leaving Basecamp.
What You Can Build
Ship these features with Truto + Basecamp
Concrete product features your team can ship faster by leveraging Truto’s Basecamp integration instead of building from scratch.
Two-way ticket sync with Basecamp to-dos and cards
Map your product's tickets to Basecamp to-dos or card table cards using the Unified Ticketing API, with bidirectional comment sync and status updates powered by Basecamp webhooks.
Automated project and to-do list scaffolding
Create Basecamp projects from templates and populate them with to-do lists and individual to-dos programmatically when triggered by events in your product.
Kanban board mirroring via Card Tables
Sync your product's workflow stages to Basecamp card table columns and cards, letting users manage work in either system while keeping both in sync.
Real-time event ingestion with webhooks
Register Basecamp webhooks to listen for to-do completions, new comments, or project changes and reflect those updates instantly in your product.
Team chat notifications via Campfire
Post automated alerts, summaries, or status updates directly into a Basecamp Campfire chat room using campfire line creation, keeping teams informed without creating noise in their to-do lists.
File and document attachment to tasks
Push files into Basecamp vaults or attach uploads and documents to specific projects, giving users a seamless way to keep deliverables alongside their tasks.
SuperAI
Basecamp AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_basecamp_people
Get all people visible to the current user in Basecamp. Returns fields including id, name, email_address, title, bio, location, admin status, employee status, time_zone, avatar_url, and company details.
get_single_basecamp_person_by_id
Get person profile by id in Basecamp. Returns id, name, email_address, personable_type, title, created_at, updated_at, admin, owner, client, employee, time_zone, avatar_url, can_manage_projects, and can_manage_people fields.
list_all_basecamp_projects
Get all active projects visible to the current user in Basecamp. Returns project id, status, created_at, updated_at, name, description, purpose, clients_enabled, bookmark_url, url, app_url, dock details, and bookmarked status.
get_single_basecamp_project_by_id
Get a project by id in Basecamp. Returns id, status, created_at, updated_at, name, description, purpose, clients_enabled, bookmark_url, url, app_url, and dock array with current tools and their enabled status and URLs.
create_a_basecamp_project
Create a new project in Basecamp with name and description. Returns the created project's JSON representation. Note: Free accounts have a project limit and will receive a 507 error if exceeded.
update_a_basecamp_project_by_id
Update a project with id in Basecamp. Requires name. Returns the updated project's name, description, admissions, and schedule_attributes including start_date and end_date if provided.
delete_a_basecamp_project_by_id
Trash a project by id in Basecamp. Marks the project as trashed and it will be deleted after 30 days. Returns 204 No Content if successful.
list_all_basecamp_todos
Get active to-dos for bucket_id and todolist_id in Basecamp. Returns fields including id, status, title, created_at, updated_at, completed, description, content, and assignees.
get_single_basecamp_todo_by_id
Get a to-do in Basecamp by bucket_id and id. Returns id, status, title, creator info, completion status, assignees, and URLs for the to-do.
create_a_basecamp_todo
Create a to-do in Basecamp under bucket 1 and todolist 3 with required content. Returns the to-do's id, content, description, due_on, starts_on, assignee_ids, and completion_subscriber_ids.
update_a_basecamp_todo_by_id
Update a to-do in Basecamp with bucket_id and id. Requires all existing parameters including content, description, assignee_ids, completion_subscriber_ids, notify, due_on, and starts_on. Returns the updated to-do representation.
delete_a_basecamp_todo_by_id
Trash a recording by marking it as trashed in Basecamp. Requires bucket_id and id. Returns 204 No Content if successful.
list_all_basecamp_todo_lists
Get active to-do lists for bucket_id and todoset_id in Basecamp. Returns fields including id, status, title, creator, completed, completed_ratio, and URLs for todos and comments.
get_single_basecamp_todo_list_by_id
Get a to-do list by bucket_id and id in Basecamp. Returns fields including id, status, title, created_at, updated_at, completed, completed_ratio, description, and URLs for todos and groups.
create_a_basecamp_todo_list
Create a to-do list with name in Basecamp under bucket_id and todoset_id. Returns the to-do list including id, name, and description.
update_a_basecamp_todo_list_by_id
Update a to-do list with id in the project bucket_id in Basecamp. Requires name and description parameters. Returns the updated to-do list representation including name and description fields.
list_all_basecamp_comments
Get comments for a recording in Basecamp using bucket_id and recording_id. Returns comment id, status, visibility, timestamps, title, type, URLs, parent message info, bucket info, creator details, and content.
get_single_basecamp_comment_by_id
Get a comment by id and bucket_id in Basecamp. Returns id, status, visible_to_clients, created_at, updated_at, title, type, url, parent message info, bucket project info, creator details, and content.
create_a_basecamp_comment
Create a comment with content in Basecamp under the recording with recording_id in the project with bucket_id. Returns the created comment including its content and metadata.
update_a_basecamp_comment_by_id
Update a comment content in Basecamp using bucket_id and id. Returns the updated comment with fields such as content and id.
list_all_basecamp_deleted_people
Use this endpoint to retrieve a list of people who have been deleted from the account. It returns information about users who were removed but still have records stored in the system for reference or auditing purposes
list_all_basecamp_card_tables
Get a card table by bucket_id and id in Basecamp. Returns fields including id, status, title, type, url, creator details, subscribers, and lists with their cards count and URLs.
list_all_basecamp_card_table_columns
Get a card table column by id and bucket_id in Basecamp. Returns id, status, title, type, creator info, bucket info, cards_count, and URLs for the column.
create_a_basecamp_card_table_column
Create a column in the card table with card_table_id in the project with project_id in Basecamp. Requires title. Returns the created column's id, title, and description.
update_a_basecamp_card_table_column_by_id
Update a column in Basecamp with bucket_id and id. Returns the updated column's JSON representation including title and description.
list_all_basecamp_card_table_cards
Get cards in a column in Basecamp using bucket_id and list_id. Returns card id, status, title, creator info, description, completion status, and URLs for card and comments.
get_single_basecamp_card_table_card_by_id
Get a card in Basecamp by bucket_id and id. Returns id, status, title, description, creator info, parent column, bucket project, comments_count, and steps details.
create_a_basecamp_card_table_card
Create a card in Basecamp within the card table list identified by bucket_id and list_id. Requires title. Returns the created card with fields including title, content, due_on, and notify status.
update_a_basecamp_card_table_card_by_id
Update a card in Basecamp with project_id and id. Returns the updated card including title, content, due_on, and assignee_ids fields.
list_all_basecamp_attachments
Use this endpoint to retrieve a list of all attachments across projects in the account. It returns metadata about uploaded files, such as filenames, URLs, content types, and associated projects or messages.
list_all_basecamp_campfires
Get a list of all active Campfires visible to the current user in Basecamp. Returns fields including id, status, title, created_at, updated_at, url, bucket info, and creator details.
get_single_basecamp_campfire_by_id
Get a Campfire by id in Basecamp. Returns id, status, title, creator details, bucket info, and URLs for app, bookmark, subscription, and lines.
list_all_basecamp_campfire_lines
Get Campfire lines for bucket_id and chat_id in Basecamp. Returns id, status, visible_to_clients, created_at, updated_at, title, type, url, parent info, bucket info, creator info, and content fields.
get_single_basecamp_campfire_line_by_id
Get a Campfire line by bucket_id, chat_id, and id in Basecamp. Returns id, status, visibility, timestamps, title, type, URLs, parent chat info, bucket info, creator details, and content.
create_a_basecamp_campfire_line
Create a Campfire line with content in Basecamp. Requires project ID 1 and campfire ID 2. Returns the created line's JSON representation including content and metadata.
delete_a_basecamp_campfire_line_by_id
Delete a Campfire line by project_id, campfire_id, and id in Basecamp. Returns 204 No Content if successful.
create_a_basecamp_card_table_step
Create a step with title in the card with id in the project bucket_id in Basecamp. Returns the created step including title, due_on, and assignees.
update_a_basecamp_card_table_step_by_id
Update a step in Basecamp with bucket_id and id. Returns the updated step including title, due_on, and assignees fields.
list_all_basecamp_chatbots
Get all chatbots for the chat identified by bucket_id and chat_id in Basecamp. Returns id, created_at, updated_at, service_name, command_url, url, app_url, and lines_url for each chatbot.
get_single_basecamp_chatbot_by_id
Get a chatbot in Basecamp. Requires bucket_id, chat_id, and id. Returns id, created_at, updated_at, service_name, command_url, url, app_url, and lines_url fields in the response.
create_a_basecamp_chatbot
Create a chatbot with service_name on the Basecamp account. Returns the new chatbot including the lines URL from the project with ID 1.
update_a_basecamp_chatbot_by_id
Update a chatbot with id in Basecamp by changing its service_name. Returns the updated chatbot JSON representation including service_name and command_url fields.
delete_a_basecamp_chatbot_by_id
Delete a chatbot by id in Basecamp within the specified bucket_id. Returns 204 No Content on success.
list_all_basecamp_client_approvals
Get a list of client approvals for the project with bucket_id in Basecamp. Returns fields including id, status, title, created_at, updated_at, approval_status, and approver details.
get_single_basecamp_client_approval_by_id
Get client approval by id in Basecamp. Returns fields including id, status, title, created_at, updated_at, approval_status, creator details, approver details, content, and responses.
list_all_basecamp_client_correspondences
Get client correspondences for bucket_id in Basecamp. Returns id, status, visible_to_clients, created_at, updated_at, title, type, url, parent info, bucket info, creator details, content, subject, replies_count, and replies_url.
get_single_basecamp_client_correspondence_by_id
Get client correspondence by id and bucket_id in Basecamp. Returns id, status, title, content, creator info, created_at, updated_at, subject, replies_count, and URLs.
list_all_basecamp_client_replies
Get a list of client replies for the project identified by bucket_id and the recording identified by recording_id in Basecamp. Returns id, status, title, created_at, updated_at, content, and creator details.
get_single_basecamp_client_reply_by_id
Get a client reply by id for the recording with recording_id in the project with bucket_id in Basecamp. Returns id, status, visible_to_clients, created_at, updated_at, title, type, url, parent info, bucket info, creator info, and content.
update_a_basecamp_client_visibility_by_id
Toggle client visibility for the recording with id in the project with bucket_id in Basecamp. Requires visible_to_clients parameter. Returns the current recording JSON representation. Some recordings inherit visibility and cannot be toggled.
list_all_basecamp_documents
Get a list of active documents in the project with bucket_id and vault with vault_id in Basecamp. Returns document id, status, title, creator info, content, and URLs.
get_single_basecamp_document_by_id
Get a document by id in Basecamp specifying bucket_id and id. Returns fields including id, status, title, created_at, updated_at, content, creator, parent, bucket, and URLs for access.
create_a_basecamp_document
Create a document with title and content in Basecamp under bucket_id and vault_id. Returns the created document including its id, title, content, and status.
update_a_basecamp_document_by_id
Update a document's title and content in Basecamp using bucket_id and id. Returns the updated document with fields like title and content.
list_all_basecamp_events
Get a list of events for the recording with recording_id in the project with bucket_id in Basecamp. Returns event id, recording_id, action, details, created_at, and creator info including id, name, email_address, title, and company.
list_all_basecamp_forwards
Get a list of active forwards for the project with bucket_id and inbox_id in Basecamp. Returns fields including id, status, title, created_at, updated_at, content, subject, from, and creator details.
get_single_basecamp_forward_by_id
Get a forward in Basecamp by bucket_id and id. Returns fields including id, status, title, content, subject, from, replies_count, and creator details.
list_all_basecamp_inbox_replies
Get inbox replies for bucket_id and inbox_forward_id in Basecamp. Returns id, status, visible_to_clients, created_at, updated_at, title, type, url, parent info, bucket info, creator info, and content fields.
get_single_basecamp_inbox_reply_by_id
Get inbox reply by id for the forward with parent_id in the project bucket_id in Basecamp. Returns id, status, visible_to_clients, created_at, updated_at, title, type, url, parent, bucket, creator, and content fields.
list_all_basecamp_inbox
Get inbox details for bucket_id and id in Basecamp. Returns id, status, title, creator info, forwards_count, and URLs.
create_a_basecamp_lineup_maker
Create a marker with name and date in Basecamp. Requires name and date (ISO8601 without time). Returns 201 Created with empty response body.
update_a_basecamp_lineup_maker_by_id
Update a marker's name and/or date by id in Basecamp. Returns 200 OK with an empty response body.
delete_a_basecamp_lineup_maker_by_id
Destroy a marker by id in Basecamp. This operation permanently deletes the marker and returns 204 No Content.
list_all_basecamp_message_boards
Get message board for project bucket_id and id in Basecamp. Returns id, status, title, creator info, messages_count, and URLs for the message board.
list_all_basecamp_message_types
Get list of all message types for a project in Basecamp using bucket_id. Returns id, name, icon, created_at, and updated_at fields for each message type.
get_single_basecamp_message_type_by_id
Get message type with id in Basecamp. Returns id, name, icon, created_at, and updated_at fields.
create_a_basecamp_message_type
Create a message type with name and icon in Basecamp. Requires bucket_id, name, and icon. Returns the created message type's JSON representation.
update_a_basecamp_message_type_by_id
Update a message type with id in the project identified by bucket_id in Basecamp. Returns the updated message type including name and icon fields.
delete_a_basecamp_message_type_by_id
Delete a message type with id in the bucket identified by bucket_id in Basecamp. Returns 204 No Content if successful.
list_all_basecamp_messages
Get a list of active messages for bucket_id and message_board_id in Basecamp. Returns fields including id, status, title, created_at, updated_at, url, comments_count, content, and subject.
get_single_basecamp_message_by_id
Get a message by id and bucket_id in Basecamp. Returns id, status, title, content, creator info, comments_count, and URLs related to the message.
create_a_basecamp_message
Create a message with subject and status in Basecamp under bucket_id and message_board_id. Returns the created message including id, subject, content, status, and subscriptions.
update_a_basecamp_message_by_id
Update a message in Basecamp with project_id and id. Returns the updated message including subject, content, and category_id fields.
delete_a_basecamp_message_by_id
Delete pin on message with id in project with project_id in Basecamp. Unpins the specified message.
list_all_basecamp_question_answers
Get a list of answers for the question with id in the project bucket_id in Basecamp. Returns fields including id, status, title, creator info, content, and timestamps.
get_single_basecamp_question_answer_by_id
Get a question answer by bucket_id and id in Basecamp. Returns fields including id, status, title, content, creator details, parent question, bucket info, and timestamps.
list_all_basecamp_questionnaires
Get questionnaire by id for project with id in Basecamp. Returns id, status, title, created_at, updated_at, bucket info, creator info, questions_count, and questions_url.
list_all_basecamp_questions
Get a list of questions for the project identified by bucket_id and the questionnaire identified by questionnaire_id in Basecamp. Returns fields including id, status, title, creator, schedule, and answers_count.
get_single_basecamp_question_by_id
Get a question by id and bucket_id in Basecamp. Returns fields including id, status, title, creator details, schedule, and answers_count.
list_all_basecamp_recordings
Get a list of recordings filtered by type in Basecamp. Requires type parameter which must be one of Comment, Document, Message, Question::Answer, Schedule::Entry, Todo, Todolist, Upload, or Vault. Returns recordings with details such as id, content, and timestamps.
list_all_basecamp_schedule_entries
Get active schedule entries for schedule with id in Basecamp. Returns fields including id, status, title, starts_at, ends_at, creator, description, and participants.
get_single_basecamp_schedule_entry_by_id
Get a schedule entry by bucket_id and id in Basecamp. Returns fields including id, status, title, description, starts_at, ends_at, participants, and creator details.
create_a_basecamp_schedule_entry
Create a schedule entry in Basecamp with required parameters summary, starts_at, and ends_at. Returns the created schedule entry including id, summary, starts_at, ends_at, description, participant_ids, all_day, and notify fields.
update_a_basecamp_schedule_entry_by_id
Update a schedule entry with id in the project identified by bucket_id in Basecamp. Returns the updated schedule entry including summary, starts_at, ends_at, and all_day fields.
get_single_basecamp_schedule_by_id
Get schedule for a project using bucket_id and id. Returns fields including id, status, title, url, bucket info, creator details, and entries_count.
update_a_basecamp_schedule_by_id
Update a schedule with id in Basecamp by setting include_due_assignments to specify if due dates from to-dos, cards, and steps should be included. Returns the updated schedule JSON on success.
list_all_basecamp_templates
Get a list of active Templates visible to the current user in Basecamp. Returns fields including id, status, created_at, updated_at, name, description, url, app_url, and dock details.
get_single_basecamp_template_by_id
Get a Template by id in Basecamp. Returns id, status, created_at, updated_at, name, description, url, app_url, and dock array with details of associated resources.
create_a_basecamp_template
Create a new Template in Basecamp with name and optionally description. Returns the created Template's JSON representation. Note: Free subscription accounts may receive 507 Insufficient Storage error.
update_a_basecamp_template_by_id
Update a Template's name and description in Basecamp using id. Returns the updated Template representation on success.
delete_a_basecamp_template_by_id
Trash a template by id in Basecamp. Marks the template as trashed and it will be deleted after 30 days. Returns 204 No Content if successful.
get_single_basecamp_todo_set_by_id
Get to-do set for a project in Basecamp using bucket_id and id. Returns id, status, title, creator info, completed status, completed_ratio, todolists_count, and URLs for the to-do set.
list_all_basecamp_uploads
Get a list of active uploads in the project specified by bucket_id and vault specified by vault_id in Basecamp. Returns fields including id, status, title, url, creator info, description, content_type, byte_size, filename, and dimensions.
get_single_basecamp_upload_by_id
Get upload details by bucket_id and id in Basecamp. Returns id, status, title, url, creator info, description, content_type, byte_size, filename, download_url, width, and height.
create_a_basecamp_upload
Create an upload in Basecamp under a specific project and vault. Requires project_id, vault_id, and attachable_sgid. Returns id, name, and url fields for the created upload in the response.
update_a_basecamp_upload_by_id
Update an upload's description and base_name in Basecamp. Requires bucket_id and id. Returns the updated upload including its description and base_name.
list_all_basecamp_vaults
Get a paginated list of vaults in the vault with id in the project specified by bucket_id in Basecamp. Returns fields including id, status, title, creator, documents_count, uploads_count, and URLs for related resources.
get_single_basecamp_vault_by_id
Get a vault by id in Basecamp specifying bucket_id and id. Returns id, status, title, creator info, counts of documents, uploads, vaults, and URLs for related resources.
create_a_basecamp_vault
Create a vault in Basecamp under the vault with id in the project with project_id. Requires title. Returns the created vault with its details.
update_a_basecamp_vault_by_id
Update a vault title in Basecamp using bucket_id and id. Returns the updated vault with fields like id, title, and other vault details.
list_all_basecamp_webhooks
Get all webhooks for a specific bucket in Basecamp. Requires bucket_id. Returns webhook id, active status, created_at, updated_at, payload_url, types, url, and app_url fields.
get_single_basecamp_webhook_by_id
Get a webhook by id in Basecamp for the project identified by bucket_id. Returns webhook details including id, active status, payload_url, types, and recent_deliveries array with the 25 most recent delivery exchanges.
create_a_basecamp_webhook
Create a webhook in Basecamp for bucket_id with payload_url. Returns the created webhook including payload_url and types fields.
update_a_basecamp_webhook_by_id
Update a webhook in Basecamp with bucket_id and id. Requires payload_url to set the HTTPS callback URL. Returns the updated webhook's payload_url, types, and active status.
delete_a_basecamp_webhook_by_id
Delete a webhook by id in Basecamp. Requires bucket_id and id. Returns 204 No Content on success.
Why Truto
Why use Truto’s MCP server for Basecamp
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 650+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for Basecamp
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified User Directory API
Users
The User object represents a User.
Unified Ticketing API
Collections
Tickets and contacts can be grouped into Collections. Collection resource usually maps to the various grouping systems used in the underlying product. Some examples are lists, projects, epics, etc. You can differentiate between these grouping systems using the type attribute of a Collection.
Comments
Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.
Ticket Status
Ticket Status represents the completion level of the Ticket. Some products provide customizing the Ticket Status.
Tickets
Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.
Workspaces
Workspaces represent the top-level subdivision in a ticketing system. They usually have their own set of settings, tickets, statuses, priorities and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc. A Workspace could belong to an Organization.
Unified Search API
Search
Search endpoint for all the apps.
How It Works
From zero to integrated
Go live with Basecamp in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Basecamp account
Use Truto’s frontend SDK to connect your customer’s Basecamp account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Basecamp
Truto’s Proxy API is a 1-to-1 mapping of the Basecamp API. You call us, we call Basecamp, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Basecamp’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Basecamp on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication method does the Basecamp integration use?
Basecamp uses OAuth 2.0 for authentication. Truto handles the full OAuth flow, token storage, and automatic refresh so your end users can connect their Basecamp accounts without you managing credentials.
How does Basecamp's data hierarchy map to the Unified Ticketing API?
Basecamp Projects map to Workspaces, To-do Lists and Card Table Columns map to Collections, and individual To-dos and Card Table Cards map to Tickets. Comments map directly to Comments in the unified model.
Can I sync both to-dos and card table cards as tickets?
Yes. The integration exposes both Basecamp to-dos and card table cards. Through the Unified Ticketing API, both are accessible as Tickets, and you can create, read, update, and delete either type.
Does the integration support real-time updates from Basecamp?
Yes. You can use the webhook endpoints (create, list, get, update, delete) to register webhooks on Basecamp projects and receive real-time event notifications for changes like to-do completions or new comments.
What operations are supported beyond basic CRUD on tickets?
Beyond to-dos and cards, the integration supports projects, templates, comments, message boards, messages, campfire lines, documents, uploads, vaults, schedule entries, client approvals, and more — covering the full breadth of Basecamp's collaboration features.
How does Truto handle Basecamp's pagination and rate limits?
Truto manages pagination automatically across all list endpoints, so you receive complete result sets without writing pagination logic. Rate limit handling, including retries and backoff, is built into the platform.
Basecamp
Get Basecamp integrated into your app
Our team understands what it takes to make a Basecamp integration successful. A short, crisp 30 minute call with folks who understand the problem.
Talk to us