Basecamp
Turn requests and orders into Basecamp work, and keep status in step across your tools.
42 ways to read, 22 ways to write, each write switched on by you.
Quality checks
Built and tested with example responses.
- Ready to connect: doneEvery listed action is built in.
- Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
Connected, approved, proven.
The things teams do most with Basecamp, an example flow with a person in the loop, and what Nexra keeps as proof.
Top actions
- Move cardApproval by rule
- Create card table columnApproval by rule
- Poll account eventsRead
Example flow
- Basecamp · Poll account eventsDone
- Basecamp · Move cardNeeds approval
- Nexra · Record the decision and result in the evidence chainProven
Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches Basecamp.
What gets logged
- Whether it ran on its own or who approved it, and under which rule
- A fingerprint of the exact request sent to Basecamp
- Basecamp's reply: what it created or changed
- One entry in the evidence chain, linked to the one before
Try this in the sandbox
Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.
For developers
Technical detail
Read and write Basecamp projects, to-dos, card tables, schedules, comments and timesheets; read docs, files, messages, people and change events.
37signals API docs- Source actions
- 42
- Destination actions
- 22
- Data types
- 27
What you can map
Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.
Account events1
- Poll account eventsSourceIncremental
Account-wide change feed (to-dos, cards, messages, comments and more), oldest first, for incremental sync.
Card moves1
- Move cardDestinationProvider duplicate protectionApproval before production
Moves a card to another column (or position) on its card table.
Card table columns3
- Create card table columnDestinationNot retried automaticallyApproval before production
Adds a column to a card table.
- Get card table columnSource
A single card table column.
- Update card table columnDestinationProvider duplicate protectionApproval before production
Changes a column's title and description.
Card tables1
- Get card tableSource
A card table with its columns (use the column IDs to list and create cards).
Cards5
- Create cardDestinationNot retried automaticallyApproval before production
Creates a card in a card table column.
- Get cardSource
A single card table card.
- List cards in a columnSource
Card table (kanban) cards in a column.
- Find cards across projectsSource
Open, completed, unassigned, undated, not-now or overdue cards across every project the user can access.
- Update cardDestinationProvider duplicate protectionApproval before production
Updates supplied fields of a card; omitted fields are unchanged.
Comments4
- Add commentDestinationNot retried automaticallyApproval before production
Adds a comment to a recording. Subscribers of the recording are notified.
- Get commentSource
A single comment.
- List commentsSource
Comments on any recording (to-do, card, message, document).
- Edit commentDestinationProvider duplicate protectionApproval before production
Replaces the content of a comment.
Documents2
- Get documentSource
A single Docs & Files document.
- List documentsSource
Documents in a Docs & Files vault.
Events1
- List recording eventsSource
Change history of one recording (created, completed, assigned, and so on).
Message boards1
- Get message boardSource
A project's message board with its message count.
Messages2
- Get messageSource
A single message-board message.
- List messagesSource
Messages on a project's message board.
People2
- Get personSource
A person's profile.
- List peopleSource
People visible to the user, for assignee mapping.
Profile1
- Get connected userSource
The Basecamp person this connection acts as.
Projects4
- Create projectDestinationNot retried automaticallyApproval before production
Creates a project.
- Get projectSource
A project with its tool IDs (to-do set, schedule, docs and files, card table).
- List projectsSource
Projects visible to the user, newest first.
- Update projectDestinationProvider duplicate protectionApproval before production
Updates the project name, description and schedule dates.
Recordings3
- Get recordingSource
Any recording by ID, with its type, when the type is not known yet.
- List recent recordingsSourceIncremental
Recordings of one type across projects, most recently updated first, for change detection.
- SearchSource
Full-text search across the content the user can access.
Schedule entries4
- Create schedule entryDestinationNot retried automaticallyApproval before production
Adds an event or milestone date to a project schedule.
- Get schedule entrySource
A single schedule entry. Recurring entries resolve to their first occurrence.
- List schedule entriesSource
Upcoming entries on a project schedule.
- Replace schedule entryDestinationProvider duplicate protectionApproval before production
Replaces a schedule entry. Basecamp clears omitted attributes, so the summary and times are required and an omitted description is cleared.
Schedules1
- Get scheduleSource
A project schedule with its entry count.
Subtask completions1
- Complete subtaskDestinationProvider duplicate protectionApproval before production
Marks a subtask as completed.
Subtasks4
- Create subtaskDestinationNot retried automaticallyApproval before production
Adds a subtask to a to-do or card.
- Get subtaskSource
A single subtask (step) of a to-do or card.
- List subtasksSource
Subtasks (steps) of a to-do or card.
- Update subtaskDestinationProvider duplicate protectionApproval before production
Updates supplied fields of a subtask; omitted fields are unchanged.
Timeline events1
- List activity timelineSource
Recent activity across all projects, or in one project.
Timesheet entries5
- Log timeDestinationNot retried automaticallyApproval before production
Logs hours against a to-do, card, message or the project's timesheet recording.
- Get time entrySource
A single timesheet entry.
- List project timesheetSource
Time logged on a project and its to-dos, cards and other recordings.
- Timesheet reportSource
Time entries across the account for a date range, person or project.
- Update time entryDestinationProvider duplicate protectionApproval before production
Updates supplied fields of a timesheet entry.
Todo completions1
- Complete to-doDestinationProvider duplicate protectionApproval before production
Marks a to-do as completed.
Todolist groups2
- Create to-do list groupDestinationNot retried automaticallyApproval before production
Adds a group (section) to a to-do list.
- List to-do list groupsSource
Groups (sections) inside a to-do list.
Todolists4
- Create to-do listDestinationNot retried automaticallyApproval before production
Creates a to-do list in a to-do set.
- Get to-do listSource
A single to-do list or to-do list group.
- List to-do listsSource
To-do lists in a project's to-do set (use Get project to find the to-do set ID).
- Replace to-do listDestinationProvider duplicate protectionApproval before production
Replaces the name and description of a to-do list. An omitted description is cleared.
Todos5
- Create to-doDestinationNot retried automaticallyApproval before production
Creates a to-do in a to-do list.
- Get to-doSource
A single to-do.
- List to-dosSource
To-dos in a to-do list, with assignees and dates.
- Find to-dos across projectsSource
Open, completed, unassigned, undated or overdue to-dos across every project the user can access.
- Replace to-doDestinationProvider duplicate protectionApproval before production
Replaces a to-do. Basecamp clears every field that is not sent, so the content, assignees and subscribers are required and omitted notes or dates are cleared.
Todosets1
- Get to-do setSource
A project's to-do set with list and to-do counts (ID from the project's tools).
Uploads2
- Get uploadSource
Metadata for a single uploaded file; contents are not transferred.
- List uploadsSource
File metadata in a Docs & Files vault; file contents are not transferred.
Vaults2
- Get Docs & Files folderSource
A Docs & Files vault (folder) with document, upload and sub-folder counts.
- List Docs & Files foldersSource
Sub-folders of a Docs & Files vault.
Access and limits
- Authentication
- OAuth 2 (Launchpad) client ID, client secret and refresh token
- Plans and access
- All current Basecamp plans; timesheets require the timesheet add-on to be enabled. Access follows the Basecamp user who authorised the OAuth app.
- Test environment
- Use a Basecamp trial account; there is no separate sandbox host.
- Rate limits
- Dynamic limits; commonly 50 requests per 10 seconds per IP. HTTP 429 with Retry-After.
- Pagination
- Link header (rel=next) with geared page sizes; X-Total-Count reports totals.
- Provider events
- Basecamp project webhooks for recording events. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.
Before you build a flow
- Updating a to-do or to-do list replaces it: omitted fields are cleared. Nexra always sends every field for these updates.
- Posting message-board messages is not implemented because a published message notifies everyone on the project.
- Upload metadata is read; file contents are not transferred.
- Basecamp has no idempotency key; uncertain creates are not repeated automatically.
- Trashing, archiving and deletes are not implemented.
- Message-board messages, documents, vaults and uploads are read only. Upload versions and downloads are not implemented.
- Not implemented by design: people invites and enrolments, project access changes, client access and client approvals, Campfire chat lines, pins, subscriptions and boosts.
- Uncompleting to-dos and subtasks is not implemented: Basecamp exposes it only as an HTTP DELETE, which the recipe engine does not send.
- Account events (events.json) are a best-effort notification feed, not an audit log: deduplicate by event ID and refetch the recording before acting. The opaque position token is not exposed; resume with the last event ID.
- Recordings updatedSince is filtered by Nexra on Basecamp's newest-first sort; there is no server-side updated-since filter for most collections.
- The cross-project to-do and card reports (todos.search, cards.search) and the event feed are Basecamp 5 endpoints; they have not been exercised against a live account.
- Search sends the search text in the query string (Basecamp's only form). Nexra rejects email addresses as search text; do not search for other personal data.
Developer reference
- Create the 37signals credentials described above with the narrowest permissions your flows need.
- In Nexra, open Connect, then Connections, then New connection, choose Basecamp, enter its settings and credentials, and tick only the write actions you need. Connection guide
- Test the connection, then use its actions as flow sources and destinations. Flow guide
Machine-readable detail: GET /api/public/connect/connectors/basecamp and the Connections API.