Overview
Pre-built tooling
Pre-built integrations
Access requirements
Setup guide
Useful links
API gotchas
Pre-built tooling
β
Authorization
β Authorization
| Tools | Status |
|---|---|
| Pre-built authorization (OAuth) | β |
| Credentials auto-refresh | β |
| Auth parameters validation | β |
| Pre-built authorization UI | β |
| Custom authorization UI | β |
| End-user authorization guide | β |
| Expired credentials detection | β |
β
Read & write data
β Read & write data
| Tools | Status |
|---|---|
| Pre-built integrations | β |
| API unification | β |
| 2-way sync | β |
| Webhooks from Nango on data modifications | β |
| Real-time webhooks from 3rd-party API | π« (time to contribute: <48h) |
| Proxy requests | β |
β
Observability & data quality
β Observability & data quality
| Tools | Status |
|---|---|
| HTTP request logging | β |
| End-to-end type safety | β |
| Data runtime validation | β |
| OpenTelemetry export | β |
| Slack alerts on errors | β |
| Integration status API | β |
β
Customization
β Customization
| Tools | Status |
|---|---|
| Create or customize use-cases | β |
| Pre-configured pagination | π« (time to contribute: <48h) |
| Pre-configured rate-limit handling | π« (time to contribute: <48h) |
| Per-customer configurations | β |
Others
| Function name | Description | Type | Source code |
|---|---|---|---|
archive-project | Archive a project. | Action | π Github |
archive-recording | Archive any recording. | Action | π Github |
change-card-table-column-color | Change a card table columnβs color. | Action | π Github |
complete-todo | Mark a to-do as completed. | Action | π Github |
create-campfire-line | Post a line (message) to a Campfire. | Action | π Github |
create-card-table-card | Create a card in a Card Table column. | Action | π Github |
create-card-table-column | Create a new column on a Card Table. | Action | π Github |
create-card-table-step | Create a checklist step on a card table card. | Action | π Github |
create-comment | Post a comment on any recording | Action | π Github |
create-document | Create a document in a vault. | Action | π Github |
create-message | Create a message on a project message board. | Action | π Github |
create-project | Create a project. | Action | π Github |
create-schedule-entry | Create a schedule entry on a project schedule | Action | π Github |
create-todo | Create a to-do in a specific to-do list, resolving assignee/completion-subscriber emails to person IDs first. | Action | π Github |
create-todolist-group | Create a group (section) within a to-do list. | Action | π Github |
create-todolist | Create a to-do list under a project to-do set. | Action | π Github |
create-upload-version | Replace an upload file with a new version. | Action | π Github |
create-upload | Attach a previously-staged file (from upload-attachment) into a vault as an Upload record. | Action | π Github |
create-vault-folder | Create a sub-folder inside a vault. | Action | π Github |
delete-campfire-line | Permanently delete a Campfire line. | Action | π Github |
disable-tool | Disable a project dock tool, removing it from the dock without deleting its content (reversible via enable-tool). | Action | π Github |
enable-tool | Enable a projectβs dock tool (e.g. Message Board, Docs & Files, Chat, Card Table, Calendar), adding it back to the dock. | Action | π Github |
fetch-accounts | Get the token ownerβs identity and the list of Basecamp accounts (and other 37signals products) the token can access. | Action | π Github |
fetch-todolists | Fetch all to-do lists in a projectβs to-do set. | Action | π Github |
get-account | Get details about the current Basecamp account (subscription plan, limits, trial status). | Action | π Github |
get-campfire-line | Retrieve a single Campfire line. | Action | π Github |
get-campfire | Get a projectβs Campfire (chat room). | Action | π Github |
get-card-table-card | Retrieve a single Card Table card. | Action | π Github |
get-card-table-column | Retrieve a single Card Table column. | Action | π Github |
get-card-table | Get a Basecamp card table (Kanban board) including its columns. | Action | π Github |
get-comment | Retrieve a single comment. | Action | π Github |
get-document | Retrieve a single document. | Action | π Github |
get-message-board | Get a projectβs message board (the container for all its messages) and message count. | Action | π Github |
get-message | Retrieve a single message. | Action | π Github |
get-my-preferences | Get the current token ownerβs account preferences (time zone, first day of week, time format). | Action | π Github |
get-my-profile | Get the current token ownerβs own profile. | Action | π Github |
get-person | Retrieve a single personβs profile by ID. | Action | π Github |
get-project | Retrieve a single project, including its dock (tool list) and team sample. | Action | π Github |
get-recording-events | Get the audit-trail events for any recording | Action | π Github |
get-schedule-entry | Retrieve a single schedule entry. | Action | π Github |
get-schedule | Get a projectβs schedule (calendar). | Action | π Github |
get-todo | Retrieve a single to-do. | Action | π Github |
get-todolist | Get a single to-do list. | Action | π Github |
get-todoset | Get a projectβs to-do set and a summary list of its to-do lists. | Action | π Github |
get-tool | Get a single dock tool (e.g. a projectβs Chat, Card Table, or Message Board tool object) by its ID. | Action | π Github |
get-upload-versions | List the version history of an uploadβs file content. | Action | π Github |
get-upload | Retrieve a single uploadβs metadata. | Action | π Github |
get-vault | Get a projectβs top-level vault (Docs & Files) or a sub-folder vault. | Action | π Github |
list-campfire-lines | List messages (lines) in a Campfire. | Action | π Github |
list-campfire-uploads | List file uploads posted in a Campfire, newest first. | Action | π Github |
list-card-table-cards | List the cards in a Card Table column. | Action | π Github |
list-comments | List comments on any recording (to-do, message, document, upload, card, schedule entry, to-do list, etc). | Action | π Github |
list-documents | List documents in a vault. | Action | π Github |
list-messages | List messages on a projectβs message board | Action | π Github |
list-people | List all people visible to the current user across the whole account. | Action | π Github |
list-pingable-people | List people on the account who can be pinged (direct messaged). | Action | π Github |
list-project-people | List the people who have access to a specific project. | Action | π Github |
list-projects | List active projects visible to the current user. | Action | π Github |
list-recordings-by-type | List all recordings of a given type across one or more projects, account-wide. | Action | π Github |
list-schedule-entries | List entries (events) on a projectβs schedule. | Action | π Github |
list-todolist-groups | List the sub-groups (sections) within a to-do list. | Action | π Github |
list-todos | List active (non-completed) to-dos in a to-do list. | Action | π Github |
list-uploads | List file uploads in a vault. | Action | π Github |
list-vault-folders | List sub-folders (nested vaults) inside a vault. | Action | π Github |
move-card-table-card | Move a card to a different column (and optionally a position within it). | Action | π Github |
move-card-table-column | Reposition a column within its Card Table. | Action | π Github |
pin-message | Pin a message to the top of the message board. | Action | π Github |
remove-card-table-column-on-hold | Remove the on-hold section from a card table column | Action | π Github |
reposition-card-table-step | Change the position of a step within its card. | Action | π Github |
reposition-todo | Change a to-doβs position within its list, optionally moving it to a different to-do list. | Action | π Github |
reposition-todolist-group | Change a to-do list groupβs position within its parent to-do list. | Action | π Github |
reposition-todolist | Change a to-do listβs position within its to-do set. | Action | π Github |
reposition-tool | Change a dock toolβs position in the project dock. | Action | π Github |
set-card-table-column-on-hold | Add an on-hold section to a Card Table column (used to visually pause cards within a column). | Action | π Github |
set-card-table-step-completion | Mark a card table step as completed or uncompleted. | Action | π Github |
set-recording-client-visibility | Toggle whether clients can see a recording | Action | π Github |
trash-project | Move a project to the trash (recoverable for 30 days, then auto-deleted). | Action | π Github |
trash-recording | Move any recording (to-do, to-do list, message, document, upload, card, column, step, schedule entry, comment, etc.) to the account trash. | Action | π Github |
unarchive-project | Restore a project from the archive or trash back to active. | Action | π Github |
unarchive-recording | Restore an archived recording to active | Action | π Github |
uncomplete-todo | Mark a to-do as not completed. | Action | π Github |
unpin-message | Unpin a message. | Action | π Github |
unwatch-card-table-column | Unsubscribe the current user from notifications for a Card Table column. | Action | π Github |
update-campfire-line | Edit a Campfire lineβs content. | Action | π Github |
update-card-table-card | Update a cardβs title, content, due date, or assignees. | Action | π Github |
update-card-table-column | Update a card table column title or description. | Action | π Github |
update-card-table-step | Update a card step title, due date, or assignees. | Action | π Github |
update-comment | Update a commentβs content. | Action | π Github |
update-document | Update a document title or content. | Action | π Github |
update-message | Update a messageβs subject, content, or category. | Action | π Github |
update-project-access | Grant, revoke, or create-and-grant peopleβs access to a project. | Action | π Github |
update-project | Update a projectβs name, description, schedule dates, or access policy. | Action | π Github |
update-schedule-entry | Update a schedule entryβs summary, times, or other fields. | Action | π Github |
update-schedule | Change whether a schedule includes due dates from to-dos, cards, and steps. | Action | π Github |
update-todo | Update a to-doβs content, description, dates, or assignees. | Action | π Github |
update-todolist | Rename a to-do list or change its description. | Action | π Github |
update-tool | Rename a dock tool. | Action | π Github |
update-upload | Update a Basecamp upload metadata (base_name and description) without replacing the file content. | Action | π Github |
update-vault-folder | Rename a vault folder. | Action | π Github |
upload-attachment | Upload raw file bytes to Basecamp blob storage and get back an attachable_sgid | Action | π Github |
upload-campfire-file | Upload a file directly into a Campfire as a chat attachment. | Action | π Github |
watch-card-table-column | Subscribe the current user to notifications for a Card Table column. | Action | π Github |
campfire-lines | Sync chat lines across all known projectsβ Campfires. | Sync | π Github |
card-table-cards | Sync Kanban cards across all known projectsβ Card Tables. | Sync | π Github |
comments | Sync comments across all known recordings | Sync | π Github |
documents | Sync documents across all known projects vaults including sub-folders | Sync | π Github |
messages | Sync messages across all known project message boards | Sync | π Github |
people | Sync people (account-wide, not scoped to any one project) | Sync | π Github |
projects | Sync projects. | Sync | π Github |
schedule-entries | Sync schedule entries (calendar events) across all known projects | Sync | π Github |
todolists | Sync to-do lists across all known projects to-do sets. | Sync | π Github |
todos | Syncs to-dos from Basecamp for the specified projects | Sync | π Github |
uploads | Sync file uploads across all known projects vaults including sub-folders. | Sync | π Github |
Access requirements
| Pre-Requisites | Status | Comment |
|---|---|---|
| Paid dev account | β Not required | Free, self-signup here. |
| Paid test account | β Not required | Create free account for testing. |
| Partnership | β Not required | |
| App review | β Not required | |
| Security audit | β Not required |
Setup guide
1
Create a free account
Go to Basecampβs signup page and create an account.
2
Create & configure a Basecamp app
- Start creating a Basecamp app by heading to the following page.
- Click Register another application to open the application registration form.
- Fill in the About section and configure the Redirect URL as follows:
https://api.nango.dev/oauth/callback. - Select the products your app integrates with.
- Submit Your Application.
- Once your application has been created, navigate to the specific app page and copy the
Client IDandClient Secret. You will need to specify these in Nango later.
3
Next
Follow the Quickstart.
Need help getting started? Get help in the community.
Contribute improvements to the setup guide by editing this page
Useful links
Contribute useful links by editing this page
API gotchas
- When creating a new connection in Nango, you will need to add the
appDetails, configuration parameter in the formatMyApp (yourname@example.com), which will be appended to the request as a header:User-Agent: MyApp (yourname@example.com). This information will be used to get in touch if youβre doing something wrong(so the provider can warn you before youβre blocked) or something awesome (so the provider can congratulate you). Requests without a validUser-Agentheader are rejected. - You will also need to add in your
accountIdconnection configuration parameter.Contribute API gotchas by editing this page
Going further
Connect to Basecamp
Guide to connect to Basecamp using Connect UI