Issues / #115

Basecamp integration (nimsforestbasecamp)

open feature Project: nimsforestbasecamp Reporter: 4 May 2026 17:28

Description

Wire Basecamp into NimsForest following the integration-repo pattern (one repo, multiple binaries). Basecamp is currently listed on https://nimsforest.com/integrations but no `nimsforestbasecamp` repo exists yet — this issue tracks making the listing real.

Basecamp exposes the Basecamp 4 API (REST/JSON) with OAuth2 (3LO) authentication and webhook support for events like todo creation, message posting, schedule changes, etc.

## Scope
- New repo `nimsforestbasecamp` in the `nimsforest` GitHub org
- OAuth2 flow integration via `iamnim` (per existing identity pattern)
- Source binary: webhook receiver emitting on Wind
- Source binary: REST poller for entities not covered by webhooks (or initial backfill)
- Treehouse binary: deterministic read model over emitted events
- Runbook covering OAuth app registration, webhook subscription setup, and land config
- Pattern reference: `nimsforestodoo` (internal/api, internal/sync, internal/odoo) and `nimsforesteos`

## Open questions
- Which Basecamp entities to surface first (To-dos, Messages, Schedule, Campfire?)
- Webhook → Wind subject naming
- Per-org OAuth tokens stored in Pantheon (matches Google Drive onboarding pattern)

## Docs
- https://github.com/basecamp/bc3-api