pincushion

n8n community node for Pincushion — create, list, and resolve visual feedback pins so any workflow can file agent-ready work packets.

Package Information

Released: this month
Downloads: 0 weekly / 0 monthly
Latest Version: 0.2.1
Author: Pincushion

Documentation

n8n-nodes-pincushion

An n8n community node for Pincushion — put visual feedback pins into any automation. Create a pin from a Slack message, an email, a form submission, or a monitoring alert; list open pins; resolve a pin when a downstream job finishes.

A Pincushion pin isn't a comment — it's an agent work packet (URL, selector, thread, project context) your AI coding agent can read and fix via the Pincushion MCP server. This node lets non-agent tools file those packets.

Requirements

Use Node.js 22.22+ or Node.js 24. Node.js 18 and Node.js 20 are unsupported.

Install

In n8n: Settings → Community Nodes → Install and enter n8n-nodes-pincushion.

Self-hosted / CLI:

npm install n8n-nodes-pincushion

Credentials

Add a Pincushion API credential with your license key (the same one the Pincushion browser extension and MCP server use — Pincushion settings → license key). It's sent as the x-license-key header. Free accounts work.

  • License Key (required)
  • API Base URL — leave default unless you run a self-hosted backend.

Nodes

Pincushion (action)

Operation What it does
Create Pin File a new pin. Fields: Project ID, Page URL, Note (required); optional CSS selector, author name/email, tags. The note becomes the pin's first thread message; an n8n tag is always added.
List Pins Return pins your account can see. Optional filters: Project ID, Page URL, Updated Since (ISO), Status (open/ready/resolved).
Resolve Pin Mark an existing pin resolved. Fields: Pin ID + Page URL.

Pincushion Trigger (polling)

Fires once per pin created, updated, or deleted since the last poll. Scheduled runs use the commit-ordered sync journal with a durable opaque cursor, request at most 200 changes per page, and emit deletion events as { event: "deleted", annotationId }. Options: Project ID (optional), Event (any change / new open pins / resolved pins). The first scheduled poll consumes a paginated materialized bootstrap, then establishes a revision boundary after the existing snapshot so those pins are skipped and only pins from activation forward are emitted. If a cursor expires, the watch scope changes, or the server requires resynchronization, the node resets to a clean paginated bootstrap and emits the recovered pins instead of silently dropping newly accessible history. Manual previews use the snapshot endpoint with a short lookback and do not advance durable state.

Notes

  • Pins created through n8n count as manual pins and are never metered — the same as pins dropped in the browser. (Agent-authored pins, which draw from the AI-action pool, are filed through the MCP create_agent_pin tool, not this node.)
  • Page URLs should fall under a URL you registered on the project (configure_project) so the pin lands where reviewers and the extension expect it.
  • Full REST contract: https://pincushion.io/guides/automate-pincushion.

License

MIT © Pincushion

Discussion