timesheet

n8n node for timesheet.io time tracking API

Package Information

Released: 2 mo ago
Downloads: 22 weekly / 279 monthly
Latest Version: 1.2.0

Documentation

n8n-nodes-timesheet

This is an n8n community node that provides integration with Timesheet.io time tracking API.

Installation

Follow the installation guide in the n8n community nodes documentation.

Community Node Installation

# In n8n UI
Settings → Community Nodes → Install
# Enter: @timesheet/n8n-nodes-timesheet

Manual Installation (Development)

# Clone and build
git clone https://github.com/timesheetIO/n8n-nodes-timesheet.git
cd n8n-nodes-timesheet
npm install
npm run build

# Link to n8n
npm link
cd ~/.n8n/custom
npm link @timesheet/n8n-nodes-timesheet

# Restart n8n
n8n start

Prerequisites

  • n8n version 1.0.0 or above
  • Node.js 18.x or above
  • timesheet.io account (sign up)
  • API credentials (see Authentication below)

Credentials

Option 1: API Key (Recommended for Automation)

  1. Generate an API key at: https://my.timesheet.io/development
  2. In n8n, create a new "Timesheet API" credential
  3. Enter your API key in format: ts_{prefix}.{secret}
  4. Test the connection

Option 2: OAuth2 (For User-Authorized Apps)

  1. Register your n8n instance as an OAuth2 application
  2. Configure redirect URI: https://your-n8n-instance/rest/oauth2-credential/callback
  3. In n8n, create a new "Timesheet OAuth2 API" credential
  4. Enter client ID and client secret
  5. Complete OAuth2 authorization flow

Operations

Supported resources

The Timesheet node supports the following resources. Each resource provides
create, get, update, delete, and get many operations unless noted otherwise.

  • Timer (start, stop, pause, resume, status, update)
  • Project (plus member operations: get member, get many members, add, update, remove, batch add/remove, replace registrations)
  • Task (plus statistics, update status, update times, and print PDF work record)
  • Tag
  • Rate
  • Expense (plus update refunded status, upload receipt file, get file URL)
  • Note (plus upload file, get file URL)
  • Pause
  • Todo
  • Team (plus member operations: get member, get many members, add, update, remove, remove invited; colleagues and member status)
  • Automation
  • Webhook
  • Organization (get, update, get many; plus member operations: get member, get many members, add, update, remove, remove invited)
  • Absence Type
  • Absence (create, get, update, delete, get many, approve, reject, cancel)
  • Contract (create, get, update, delete, get many, activate, suspend, reactivate, terminate)
  • Contract Template
  • Document (invoices, timesheets and work records; core fields plus a Custom Fields (JSON) passthrough for the full document model)
  • Profile (get, update)
  • Settings (get, update)
  • Export (generate, send, templates, fields, report types, custom export fields)
  • Report (document, task, expense, and note reports as data or PDF/XML)

Organization, Absence Type, Absence, Contract, and Contract Template are
organization-scoped. Pick the organization on each operation, then the
resource. Some operations (for example approving an absence, suspending a
contract, or managing members) require manager, owner, or admin permission; the
API enforces this and returns a clear error when an action is not allowed.
Absence responses include canApprove, canReject, canCancel, and canEdit
flags so a workflow can branch on what the current user may do.

The Timesheet Trigger node listens for webhook events (timer, task, project,
team, todo, tag, and rate events). The selectable events match everything the
Timesheet webhook API currently emits (create/update plus timer transitions;
the API does not emit delete events).

Deliveries are authenticated. When the trigger registers its webhooks it stores
the signing secret the API returns, then checks the HMAC signature on every
incoming request, so forged, tampered, or replayed deliveries never start a
workflow. This is automatic; there is nothing to configure. Triggers that were
activated before signing existed re-register themselves once on the next
activation to pick up a secret.

Not yet covered: documents (invoice generation) and team or organization member
management. These are planned for a later release.

Development

# Install dependencies
npm install

# Build
npm run build

# Development mode (watch)
npm run dev

# Lint
npm run lint
npm run lint:fix

# Format
npm run format
npm run format:check

# Test
npm test
npm run test:watch
npm run test:coverage

Resources

Support

License

MIT

Contributing

Contributions are welcome! Please read our Contributing Guide first.

Compatibility

n8n-nodes-timesheet n8n Node.js
1.x.x >= 1.0.0 >= 18.x

Discussion