open-index/open-npm huggingface dataset:
npm package: @ssunil/n8n-nodes-basecamp-browser
Description: n8n community node for Basecamp browser login and PDF download
Author: Sunil
Latest version: 1.0.4

# n8n-nodes-basecamp-browser

A community node for n8n that lets you login to Basecamp using username/password and download PDFs/attachments.

## Features
- Login to Basecamp with email + password (no OAuth required)
- Get Dashboard HTML
- Get Projects list
- Get Todo Attachments
- Download PDF attachments (returns base64 for n8n processing)

## Installation

### Method 1: n8n Community Nodes (Recommended)
1. In n8n, go to **Settings → Community Nodes**
2. Click **Install**
3. Enter: `n8n-nodes-basecamp-browser`
4. Click **Install**

The package will automatically install and start a Puppeteer microservice.

### Method 2: Manual npm install
```bash
cd /home/node/.n8n
npm install n8n-nodes-basecamp-browser
```

### Method 3: Docker n8n
Add to your docker-compose.yml:
```yaml
environment:
  N8N_CUSTOM_EXTENSIONS: "n8n-nodes-basecamp-browser"
extra_hosts:
  - "host.docker.internal:host-gateway"
```

## Setup After Install

### 1. Puppeteer Service
The install script auto-creates a service at `/opt/puppeteer-service/`.

**Ubuntu/Debian:** Service installs as systemd unit `basecamp-puppeteer`
```bash
systemctl status basecamp-puppeteer
```

**Manual start:**
```bash
cd /opt/puppeteer-service && node server.js &
```

### 2. Chrome/Chromium
**Ubuntu:**
```bash
apt-get install -y chromium-browser
```
**Rocky Linux/RHEL:**
```bash
dnf install -y chromium
```

### 3. n8n Credentials
Create a **Basecamp Login API** credential:
- **Email**: your Basecamp email
- **Password**: your Basecamp password
- **Account ID**: found in your Basecamp URL `https://3.basecamp.com/ACCOUNT_ID/`
- **Puppeteer Service URL**:
  - If n8n runs on host: `http://localhost:3001/basecamp`
  - If n8n runs in Docker: `http://host.docker.internal:3001/basecamp`

## Usage

Add the **Basecamp Browser** node to your workflow and select an operation:

| Operation | Description |
|-----------|-------------|
| Get Dashboard HTML | Returns full dashboard HTML |
| Get Projects JSON | Returns list of projects |
| Get Todo Attachments | Lists all attachments on a todo |
| Download PDF | Downloads PDF and returns as base64 |

## Troubleshooting

**"Cannot connect to service"**
- Make sure puppeteer service is running: `curl http://localhost:3001/basecamp`
- Check port 3001 is not blocked

**"Login failed"**
- Verify email/password in credentials
- Make sure account uses password login (not Google SSO only)

**Docker: "host not found"**
- Add `extra_hosts: ["host.docker.internal:host-gateway"]` to docker-compose.yml

## License
MIT