Basecamp Integration
Use Basecamp with Keito when your team organises delivery in Basecamp but tracks time, budgets, approvals, reports, and invoices in Keito. Once an administrator links matching projects, a team member can choose a Basecamp to-do directly from the Keito time-entry form.
Limited rollout: Basecamp requires the Keito Business plan and must be enabled for your workspace. Contact Keito if the Basecamp card in Settings > Integrations offers early access instead of a connection.
At a glance
| Basecamp with Keito | |
|---|---|
| Connection | One Basecamp account for the whole Keito workspace |
| Set up by | Keito owner or administrator |
| Everyday data flow | Basecamp projects and to-dos are read into Keito; time stays in Keito |
| Basecamp writes | None during time tracking; optional Airtable provisioning can create one Basecamp project from a template |
| Keito plan | Business, with workspace rollout enabled |
| Supported account | Basecamp 5; the authorising login cannot be a client user |
There is no browser extension and nothing is added to the Basecamp interface.
What the integration does
- Links one Keito project to one active Basecamp project.
- Reads that Basecamp project’s to-do lists, to-dos, completion state, and visible assignee information into a Keito cache.
- Adds a Basecamp to-do picker to the Keito time-entry form for linked projects.
- Saves the selected to-do’s stable reference, title, project name, and Basecamp link with the Keito time entry.
- Remembers the Keito task last selected with a to-do and suggests it to other members who can access that project and task.
- Optionally creates and links a Keito project and Basecamp project from an eligible Airtable intake record.
What it does not do
- It does not create, edit, complete, reopen, or delete Basecamp to-dos.
- It does not write Keito time into Basecamp Timesheet entries.
- It does not add a timer, widget, comment, or other interface to Basecamp.
- It does not change Basecamp people or assignments.
- It does not silently rename, archive, or update a Basecamp project after optional provisioning creates it.
Starting, stopping, editing, approving, or deleting time never contacts Basecamp. If Basecamp is slow, rate-limited, or disconnected, Keito still saves the time entry.
Before you connect
Confirm all of the following:
- The Keito workspace is on the Business plan and enabled for the Basecamp rollout.
- A Keito owner or administrator is available to complete the workspace connection.
- The Basecamp login belongs to a Basecamp 5 account and is not a client user.
- That login can see every Basecamp project the team needs to link.
- The account is active, can read projects, and can create projects. Keito checks these capabilities when connecting because optional Airtable provisioning uses Basecamp project templates.
Choose the authorising Basecamp login carefully. Keito can only read projects and to-dos that this person can see, even when a different Keito team member records the time.
Connect Basecamp
- In Keito, open Settings > Integrations > Basecamp.
- Select Connect Basecamp.
- Sign in to Basecamp and approve Keito.
- If the login can access more than one Basecamp account, choose the account to connect. Keito never selects an account on your behalf.
- Return to Keito and review the connection status and preflight checks.
One Basecamp account connects to one Keito workspace. If the account is already attached to another Keito workspace, disconnect it there first or contact support.
The settings page records the connected account, who authorised it, the last successful request, and the current connection status.
Connection statuses
| Status | Meaning | What to do |
|---|---|---|
| Connected | Basecamp is active and Keito can use the authorisation. | No action is required. |
| Attention required | The Basecamp account is paused, frozen, cancelled, or otherwise inactive. | Restore the account in Basecamp, then reconnect. |
| Reconnect required | Basecamp no longer accepts the stored authorisation. | An owner or administrator reconnects a login that can access the same account. |
| Disconnected | Keito has deleted the Basecamp tokens and stopped refreshes. | Reconnect the same account to resume. |
Members can continue saving time against usable cached to-dos while a connection needs to be restored. New Basecamp data will not refresh until the connection is healthy.
Link Basecamp and Keito projects
Linking tells Keito which Basecamp project belongs to which Keito project.
- Open Settings > Integrations > Basecamp.
- In Linked projects, select Link a project.
- Choose an active Keito project.
- Choose the matching active Basecamp project. Select Load more Basecamp projects when the account has a long project list.
- Select Link.
Each project can be linked only once on either side. Keito immediately queues a refresh of the Basecamp project’s to-do lists and to-dos.
The linked-project row shows the last refresh time and whether the cache is refreshing, stale, partial, or unavailable. An administrator can select Refresh at any time.
Unlink a project
Select Unlink next to the project pair and confirm. Unlinking stops members selecting new Basecamp to-dos for that Keito project. Cached to-dos, shared task suggestions, and Basecamp references already saved on time entries are retained.
Track time against a Basecamp to-do
When a member chooses a linked Keito project in the time-entry form, a Basecamp to-do field appears.
- Choose the Keito project and task as usual.
- Search for a Basecamp to-do by title, to-do list, or assignee.
- Select the to-do.
- Start the timer or save the completed time entry.
Search results come from Keito’s cache, so typing does not make a live Basecamp request. The field shows when the cache was last updated. Keito refreshes stale data in the background; select Refresh to request the latest to-dos immediately.
Completed to-dos are hidden by default. Select Include completed when you need to record time against work that was completed before the entry was added.
The saved entry shows a Basecamp reference that opens the original to-do. Keito keeps the to-do title and project name as they appeared when the entry was saved, so historical entries remain understandable if Basecamp is later renamed.
Shared task suggestions
When a member selects both a Basecamp to-do and a Keito task, Keito remembers that pairing. The next workspace member who chooses the same to-do gets the Keito task as a suggestion, provided they can access the project and task.
Choosing a different accessible Keito task updates the shared suggestion. A suggestion never grants project or task access and is not shown when the current member lacks permission.
Completed and unavailable to-dos
- Completed: hidden from new selections unless Include completed is selected.
- Unavailable: archived, trashed, removed, or no longer visible to the authorising Basecamp login. It cannot be selected for a new entry.
- Previously saved: existing Keito entries keep their Basecamp title, reference, and link even when the source to-do later becomes unavailable.
If an entire Basecamp project is archived or trashed, the linked project becomes unavailable for new selections. Restore the project in Basecamp, then unlink and link it again in Keito.
Optional Airtable project provisioning
Workspaces using both the Airtable and Basecamp integrations can automate project creation from an Airtable intake record. Keito’s Airtable sync is the trigger; no Airtable automation is required.
For an eligible record, Keito:
- Creates a Keito project from the configured Keito project template.
- Adds the configured Keito task set and project settings.
- Creates a Basecamp project from the Basecamp project template named by the record.
- Links the two new projects.
This is the integration’s only Basecamp write. Routine to-do selection and time tracking remain read-only from Basecamp.
Required Airtable mappings
| Airtable value | Required | Purpose |
|---|---|---|
| Provisioning status | Yes | Makes the record eligible when it matches a configured trigger value. |
| Request key | Yes | Stable idempotency key. Keep it unchanged to prevent duplicates; change it only to request a new project pair. |
| Keito template key | Yes | Selects billing, budget, notification, and other project defaults. |
| Client | Yes | Must resolve to exactly one Keito client. |
| Project name | Yes | Names both the Keito and Basecamp project. |
| Project owner | Yes | Active Keito member email or ID; this does not change Basecamp people. |
| Billable | Yes | Billable or non-billable project setting. |
| Budget type | Yes | None, total fees, total hours, or total cost. |
| Budget amount | Sometimes | Required when the chosen budget type needs a value. |
| Keito task-set key | Yes | Selects the Keito tasks added to the project. |
| Basecamp project template ID | Yes | Numeric ID of a visible Basecamp project template. |
| Basecamp project start date | No | ISO date used by Basecamp to anchor the template’s relative dates. |
Use Preview sync on the Airtable settings page before creating anything. Preview resolves the client, owner, templates, task set, and budget, and lists every validation problem. A record with any problem creates nothing until it is corrected.
After provisioning, later Airtable edits can update the Keito project’s owner, client, name, billability, budget type, and budget amount. The Keito template, task set, and Basecamp template are locked. Keito does not rename, archive, or otherwise update the Basecamp project.
Needs reconciliation
If Keito sends Basecamp a create-project request but does not receive a clear response, the run stops as Needs reconciliation. It does not automatically repeat the request because doing so might create a duplicate.
An administrator reviews recent Basecamp projects. If the project exists, link it to the Keito project. If it does not exist, confirm a new attempt from Keito.
Disconnect Basecamp
Only a Keito owner or administrator can disconnect the workspace.
- Open Settings > Integrations > Basecamp.
- Select Disconnect Basecamp.
- Review the effect and confirm.
Keito deletes its Basecamp tokens immediately and stops to-do refreshes and project provisioning. It retains linked-project records, cached to-dos, shared task suggestions, and historical time-entry references. Reconnecting the same Basecamp account restores the existing setup.
Disconnecting Keito does not remove or change anything in Basecamp.
Data and permissions
- A single administrator authorises Basecamp for the whole Keito workspace; members do not connect individual Basecamp identities.
- Keito can only read the Basecamp projects, to-do lists, to-dos, and visible people that the authorising login can access.
- Basecamp permissions do not grant Keito permissions. Members still need access to the relevant Keito project and task.
- OAuth tokens are stored for the workspace connection and deleted when an administrator disconnects it.
- Historical Keito time entries retain their saved Basecamp reference after unlinking or disconnecting so reports and invoices remain understandable.
Troubleshooting
A to-do is missing
Select Refresh in the Basecamp to-do field. If it is still missing, check that:
- Include completed is selected when the to-do is complete.
- The to-do belongs to the Basecamp project linked to the selected Keito project.
- The authorising Basecamp login can still see the project and to-do.
- The linked project is active and the last refresh did not fail.
Reconnecting shows an account mismatch
Reconnect with a Basecamp login that can access the account originally connected to this Keito workspace. Changing the workspace to a different Basecamp account requires support.
Basecamp says the account is already connected
Each Basecamp account can connect to one Keito workspace. Disconnect it from the other workspace first. Contact support if you can no longer access that workspace.
A provisioning record is blocked
Open the Airtable preview and correct the reported value. Common causes are an unknown owner email, an ambiguous client, an unknown template or task-set key, a missing budget amount, or a Basecamp project template the authorising login cannot see. The record is reconsidered after it changes.
Basecamp is unavailable while someone is tracking time
Save the time entry normally. Keito uses cached Basecamp data for the picker, and saving, editing, approving, and deleting Keito time does not require a live Basecamp request.