npm package: @rubenlangeweg/n8n-nodes-productive
Description: n8n node for Productive.io API integration
Author: Ruben Langeweg
Latest version: 0.7.2

# n8n-nodes-productive

This is an n8n community node that lets you use [Productive.io](https://productive.io/) in your n8n workflows.

Productive.io is a comprehensive project management and time tracking platform designed for professional services teams.

[n8n](https://n8n.io/) is a [fair-code licensed](https://docs.n8n.io/reference/license/) workflow automation platform.

## Table of Contents

- [Installation](#installation)
- [Operations](#operations)
- [Credentials](#credentials)
- [Usage](#usage)
- [Resources](#resources)
- [Version History](#version-history)

## Installation

Follow the [installation guide](https://docs.n8n.io/integrations/community-nodes/installation/) in the n8n community nodes documentation.

### Community Nodes (Recommended)

Install directly in n8n:
1. Go to Settings > Community Nodes
2. Select Install
3. Enter `@rubenlangeweg/n8n-nodes-productive`
4. Click Install

### Manual Installation

To install manually via npm:

```bash
npm install @rubenlangeweg/n8n-nodes-productive
```

## Operations

This node supports the **Bookings** resource, which is used to track time allocations, absences, and project work.

### Bookings

- **List**: Get all bookings with filtering options
  - Filter by person, project, dates, booking type, approval status
  - Pagination support (return all or limit results)
  - Sort by various fields
- **Get**: Retrieve a single booking by ID
  - Option to include related resources (person, project, service, event)
- **Create**: Create a new booking
  - Budget bookings (project work allocation)
  - Absence bookings (time off, vacation, sick leave)
  - Three allocation methods: Per Day, Percentage, Total Hours
- **Update**: Update an existing booking
  - Modify dates, times, notes, and other attributes
- **Delete**: Remove a booking

## Credentials

To use this node, you need:

1. **API Token**: Generate in Productive.io
   - Log into Productive.io
   - Go to Settings > Integrations > API
   - Generate a new API token

2. **Organization ID**: Found in your Productive.io URL
   - When logged in, your URL looks like: `https://app.productive.io/1234-org`
   - The number before `-org` is your Organization ID

## Usage

### Basic Example: List Bookings

1. Add a Productive node to your workflow
2. Connect your Productive.io credentials
3. Select Resource: **Booking**
4. Select Operation: **List**
5. (Optional) Add filters in Additional Fields:
   - Person IDs
   - Date range (After/Before)
   - Booking Type (Budget/Absence)
   - Project IDs

### Create an Absence Booking

1. Select Operation: **Create**
2. Enter required fields:
   - **Person ID**: The employee taking time off
   - **Started On**: First day of absence
   - **Ended On**: Last day of absence
   - **Booking Method**: Choose "Per Day"
   - **Booking Type**: Choose "Absence (Event)"
   - **Event ID**: The type of absence (vacation, sick leave, etc.)
   - **Time (Minutes per Day)**: 480 for full day (8 hours)

### Use Case: Detect On-Call Schedule Conflicts

Combine with the incident.io node to detect conflicts between scheduled absences and on-call duties:

1. **Productive Node**: List bookings filtered by person and date range
2. **incident.io Node**: Get on-call schedule entries for the same period
3. **Compare**: Check if anyone is scheduled on-call during their absence
4. **Alert**: Send notification if conflicts are found

## Rate Limits

Productive.io API has the following rate limits:
- 100 requests per 10 seconds
- 4000 requests per 30 minutes

The node does not implement automatic rate limiting, so be mindful when making bulk requests.

## API Version

This node uses the Productive.io API v2.

Base URL: `https://api.productive.io/api/v2`

API follows the [JSON:API](https://jsonapi.org/) specification.

## Resources

- [n8n community nodes documentation](https://docs.n8n.io/integrations/community-nodes/)
- [Productive.io API Documentation](https://developer.productive.io/index.html)
- [Productive.io](https://productive.io/)

## Version History

### 0.1.0

Initial release with Bookings resource support:
- List, Get, Create, Update, Delete operations
- Comprehensive filtering and sorting
- Support for both budget and absence bookings
- Three booking methods (Per Day, Percentage, Total Hours)
- Pagination support

## License

[MIT](LICENSE)

## Author

Ruben Langeweg

## Contributing

Issues and pull requests are welcome on [GitHub](https://github.com/rubenlangeweg/n8n-nodes-productive).

---

Generated with [Claude Code](https://claude.com/claude-code)