For Agents
Manage Basecamp projects, to-do lists, to-dos, messages, comments, and campfires programmatically. Suitable for agents that automate task creation, status updates, and team communication in Basecamp.
Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Basecamp API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Basecamp API.
List and create Basecamp projects on a given account
Manage to-do lists and the to-dos that belong to them
Post and read messages within a project's message board
Add comments to messages and to-dos for follow-up discussion
GET STARTED
Use for: Create a new Basecamp project for a kicking-off engagement, List all to-dos in a specific to-do list, Post a message to the project message board, Add a comment to an existing to-do
Not supported: Does not handle billing, account provisioning, or video conferencing — use for managing Basecamp projects, to-dos, messages, and campfires only.
Jentic publishes the only available OpenAPI specification for the Basecamp API, keeping it validated and agent-ready. The Basecamp 4 API gives programmatic access to projects, to-do lists and to-dos, messages, comments, people, campfires, and other core Basecamp resources. Endpoints follow flat resource ID routes off a per-account base URL, so agents can list and update projects, manage tasks, post messages, and read campfire chat history. The API is widely used by teams building automations on top of Basecamp project management.
Look up people in the account or scoped to a specific project
Read campfire chat history within a project
Patterns agents use Basecamp API for, with concrete tasks.
★ Automated Project Setup from Form Submissions
Provision a new Basecamp project automatically when a sales contract is signed or a customer onboarding form is submitted. The agent calls POST /projects.json with the project name and description, then creates a default set of to-do lists and to-dos via /todosets and /todolists endpoints. This removes the manual project setup step and ensures consistent structure across customer accounts.
POST /projects.json with name 'Acme Onboarding', then create a 'Phase 1' to-do list and add three to-dos for kickoff, contract review, and integration sign-off.
Cross-Tool Status Updates to Basecamp
Post status updates from CI/CD, monitoring, or sales tools into a Basecamp project's message board so the team sees activity in one place. POST /projects/{projectId}/.../messages.json carries the structured update, and follow-up comments via /comments capture discussion. This pattern is useful when Basecamp is the canonical project home but other tools generate the underlying events.
POST a deployment notification message to a Basecamp project's message board summarising the build number, environment, and changelog summary.
To-Do Synchronisation with External Trackers
Synchronise to-dos between Basecamp and an external tracker (issue tracker, CRM tasks, calendar) so updates flow both ways. The /todolists/{todolistId}/todos.json endpoint creates and lists to-dos, while /todolists supports listing for a given to-do set. Pair this with stored mappings to avoid duplicates and to mark completed items in both systems.
On a new external task creation, POST /todolists/{todolistId}/todos.json with content matching the external task title and store the returned to-do ID for two-way sync.
AI Agent Project Status Reporter via Jentic
Run an AI agent that can answer 'what's the status on the Acme project' by calling Basecamp through Jentic. The agent searches Jentic for an intent like 'get to-dos in a project' or 'list recent messages', loads the matched operation, and executes the call with the OAuth2 access token held in the Jentic vault. This avoids exposing user OAuth tokens to the LLM context.
Search Jentic for 'list to-dos in a basecamp list', execute GET /todolists/{todolistId}/todos.json, and reply with how many to-dos are open versus completed.
29 endpoints — jentic publishes the only available openapi specification for the basecamp api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/projects.json
List all projects
/projects.json
Create a project
/projects/{projectId}.json
Get a project
/people.json
List all people
/todosets/{todosetId}/todolists.json
List to-do lists
/todolists/{todolistId}/todos.json
Create a to-do
/todolists/{todolistId}/todos.json
List to-dos
/projects.json
List all projects
/projects.json
Create a project
/projects/{projectId}.json
Get a project
/people.json
List all people
/todosets/{todosetId}/todolists.json
List to-do lists
Three things that make agents converge on Jentic-routed access.
Credential isolation
Basecamp OAuth 2.0 access and refresh tokens are stored encrypted in the Jentic vault (MAXsystem). Agents receive scoped execution access, and tokens are injected at request time so the LLM context never holds raw user credentials.
Intent-based discovery
Agents search by intent (for example, 'create a basecamp project' or 'list to-dos in a list') and Jentic returns the matching Basecamp operations with their input schemas, including the account ID path parameter.
Time to first call
Direct Basecamp integration: 2-3 days for OAuth wiring, account ID handling, and rate-limit-aware retries. Through Jentic: under 1 hour once OAuth credentials are stored, since Jentic handles credential injection and routing.
Alternatives and complements available in the Jentic catalogue.
Specific to using Basecamp API through Jentic.
Why is there no official OpenAPI spec for Basecamp?
Basecamp does not publish an OpenAPI specification, only narrative reference docs. Jentic generates and maintains this spec so that AI agents and developers can call Basecamp via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Basecamp API use?
Basecamp uses OAuth 2.0 with per-user access tokens scoped to a Basecamp account. Each request must include the Authorization header with the bearer token, and the URL contains the account ID in the path. When called through Jentic, the OAuth tokens are stored encrypted in the Jentic vault and injected at execution time.
Can I create to-dos in a Basecamp project?
Yes. POST /todolists/{todolistId}/todos.json with the to-do content and optional assignees. The to-do list ID comes from listing to-do lists under a to-do set via /todosets/{todosetId}/todolists.json.
What are the rate limits for the Basecamp API?
Basecamp enforces per-account rate limits, typically returning 429 Too Many Requests when exceeded. Respect the Retry-After header when present and batch read calls (for example, list /people.json once and cache rather than re-fetching per request).
How do I post a message to a Basecamp project through Jentic?
Install the Jentic SDK with pip install jentic, search for 'post a message to a basecamp project', and execute the matched message endpoint with the project ID and message body. Jentic injects the OAuth bearer token, calls Basecamp, and returns the created message record.
Does the Basecamp API expose campfire chat history?
Yes. Project campfires are exposed via campfire endpoints listed under Campfires, and the Basecamp 4 model treats campfires as a project-scoped chat room you can read messages from. Use the project ID to scope reads to a specific campfire.
/todolists/{todolistId}/todos.json
Create a to-do
/todolists/{todolistId}/todos.json
List to-dos