solidtime

n8n community node for Solidtime with guided operations, flexible API requests, and AI agent tool support.

Package Information

Released: 3 mo ago
Downloads: 19 weekly / 130 monthly
Latest Version: 0.2.6

Documentation

@mikiguillamon/n8n-nodes-solidtime

Professional n8n community node for Solidtime Cloud and self-hosted Solidtime instances.

It implements the official Solidtime API contract exposed by the exported api-1.json and api-1.yaml specifications, with guided UI for the public resources, filters, enums, and payloads, plus a safe Custom API Request escape hatch for anything outside the modeled surface.

Supported Resources

  • API Token
  • Chart
  • Client
  • Project
  • Project Member
  • Report
  • Public Report
  • Invitation
  • Member
  • Organization
  • Tag
  • Task
  • Time Entry
  • User
  • Currency
  • Importer
  • Import
  • Export
  • Custom API Request

Supported Operations

  • CRUD where the official API exposes CRUD
  • user profile and memberships
  • API token management
  • organization settings
  • members, projects, project members, clients, tags, tasks, reports, invitations
  • time entry listing, create/update/delete, bulk update, bulk delete, aggregate, export, aggregate export
  • chart endpoints
  • importer discovery and import launch
  • organization export launch
  • Custom API Request

Requirements

  • n8n with community nodes enabled
  • Node.js ^22.22.0 || >=24.0.0 for local development
  • A Solidtime API token
  • A Solidtime organization ID

Installation

On a self-hosted n8n instance:

  1. Go to Settings > Community Nodes
  2. Select Install
  3. Enter @mikiguillamon/n8n-nodes-solidtime
  4. Confirm the installation prompt
  5. Restart n8n if your deployment requires it

Credentials

Create Solidtime API credentials with:

  • Base URL: https://app.solidtime.io for cloud, or your self-hosted base URL without /api
  • API Token
  • Organization ID
  • License Key

Authentication uses the Solidtime bearer token format:

Authorization: Bearer <api-token>

License Behavior

The node is already prepared for commercial licensing.

Current behavior:

  • Any license key with 10 or more characters is accepted
  • Validation is centralized and cached
  • The validation layer is ready to switch to a remote license server later

How the Node Covers the API

As of May 15, 2026, this package is aligned to the exported official API specs that include 46 public paths across:

  • users and memberships
  • API tokens
  • organizations
  • clients
  • members
  • projects and project members
  • reports and public reports
  • tags
  • tasks
  • time entries
  • charts
  • invitations
  • currencies
  • importers, imports, and exports

The node models those resources with guided operations and leaves Custom API Request as a fallback for future or private endpoints.

Custom API Request

Custom API Request supports:

  • HTTP method
  • Relative API path
  • Additional query parameters as key/value rows
  • Additional headers as key/value rows
  • JSON request body
  • Shared credentials and shared transport logic

Security rules applied by the node:

  • Absolute URLs are rejected
  • Path traversal like .. is rejected
  • The request is always anchored to the configured Solidtime base URL

Examples:

  • /v1/organizations/<organization-ID>/projects
  • /api/v1/organizations/<organization-ID>/time-entries

AI Tool Usage

The node is marked with usableAsTool.

AI-oriented behavior included:

  • Semantic resource and operation names
  • Guided fields for common actions
  • Safe defaults
  • Output mode with Simplified or Raw
  • Local Limit handling for list operations when needed

Known API Limits

  • Some export endpoints can return non-JSON payloads depending on the selected format
  • Import.data remains free-form because the official contract does not publish a fully structured payload schema for each importer type
  • Pagination behavior depends on the endpoint family: some use page, others use limit / offset

Examples

Create a project

  • Resource: Project
  • Operation: Create
  • Name: Website redesign
  • Color: #2563eb

Get time entries for a user

  • Resource: Time Entry
  • Operation: Get Many
  • User ID: <user-uuid>
  • After: 2026-05-01
  • Return All: false
  • Limit: 100

Call an unsupported endpoint

  • Resource: Custom API Request
  • HTTP Method: GET
  • Path: /v1/organizations/<organization-ID>/...

Development

npm install
npm run lint
npm run build
npm pack --dry-run
npm run dev

Validation

The package should pass:

npm run lint
npm run build
npm pack --dry-run

Release

The release workflow is documented in RELEASE.md.

Public publishing is configured through GitHub Actions with npm provenance.

Official References

Discussion