Small teams are drowning in fragmented context. Messages, to-do lists, and security review comments sit scattered across Basecamp projects, invisible to the AI agents trying to help. Developer Anand240 has shipped a solution: a new connector for cognee, an open-source memory layer for AI agents. PR #352 in cognee-community (issue #4707) now syncs Basecamp data directly into agent memory, allowing users to query project status instead of clicking through endless boards.
Syncing Chaos Into Order
The connector treats Basecamp items—messages, to-dos, documents, and comments—as individual documents in the knowledge graph. For example, a message titled "Q4 launch plan" and a comment saying "Checkout needs a security review first" are both ingested. Crucially, comments carry their parent's title to preserve context, and to-dos include their list, completion status, and due dates. This structure lets an agent answer complex queries like "Which to-dos in Launch tasks are completed?" with precision.
Handling Deletions and API Quirks
Deletion logic is where most connectors fail, and this one is no exception. The developer identifies three types of removal: trashed, archived, and purged. Trashed items are easily caught by incremental runs. Archived items remain in memory, marked as such. Purged items—those removed after 25 days in the trash—require a full sweep every 10th run to detect their absence. The connector also handles Basecamp's single endpoint for all item types, using ETags and updated_at cursors to minimize API calls and avoid redundant syncing.
The 'Empty List' Bug That Almost Wiped Memory
A critical bug in the first version caused catastrophic data loss. If a sweep encountered a wrong project ID or an API error returning an empty list, the connector would mistakenly delete all previously synced items. The fix now holds back deletions if more than half of the synced items disappear unexpectedly, preventing a typo from wiping the entire dataset. Additionally, the client now respects Retry-After headers more aggressively, stopping the run if the wait exceeds 60 seconds to avoid holding locks unnecessarily.
Key Takeaways
- The connector uses OAuth via 37signals Launchpad, with tokens expiring every two weeks and automatic refresh logic.
- Purged items are only detected during full sweeps (every 10th run), meaning there is a latency window for hard deletes.
- Basecamp's API quirks, such as trailing newlines in titles and specific User-Agent requirements, are handled explicitly.
- The connector currently supports messages, to-dos, documents, and comments, but not card tables, schedules, or chat.
The Bottom Line
This connector is a pragmatic fix for the 'context fragmentation' problem plaguing AI agent deployments. By turning Basecamp's scattered data into a queryable memory, it proves that agent utility depends less on model size and more on robust, context-aware data ingestion.