JSPM

@belmontdigitalmarketing/n8n-nodes-groundhogg

0.2.2
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 4
  • Score
    100M100P100Q72833F
  • License MIT

n8n community node for the Groundhogg CRM REST API v4

Package Exports

  • @belmontdigitalmarketing/n8n-nodes-groundhogg
  • @belmontdigitalmarketing/n8n-nodes-groundhogg/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@belmontdigitalmarketing/n8n-nodes-groundhogg) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

n8n-nodes-groundhogg

An n8n community node for the Groundhogg CRM REST API (v4).

Groundhogg is a WordPress-based marketing-automation / CRM plugin. This node lets your n8n workflows read and write contacts, tags, notes, tasks and activity from a Groundhogg install.

Installation

In n8n:

  1. Go to Settings → Community Nodes.
  2. Click Install.
  3. Enter the package name: n8n-nodes-groundhogg
  4. Agree to the risks and install.

Or install manually:

npm install n8n-nodes-groundhogg

Credentials

Create a credential of type Groundhogg API with:

Field Value
Site URL Your WordPress site URL, e.g. https://example.com
Public Key From Groundhogg → Settings → API Keys
Secret Key From Groundhogg → Settings → API Keys

The node signs requests using the Gh-Public-Key + Gh-Token headers. Gh-Token is computed as md5(secretKey + publicKey) — never exposing the secret on the wire.

Requires Groundhogg 3.x+ (REST API v4).

Supported resources

Contact

  • Create, Get, Get Many, Update, Delete
  • Create/Update support core fields (name, optin status, owner), meta fields (phone, address, company, birthday, lead source, notes), tag application/removal, and Groundhogg custom fields via n8n's Resource Mapper.
  • Create is an upsert — if a contact with the email already exists it is updated.

Contact Tag

  • Apply Tags, Remove Tags, Get Tags
  • Accepts comma-separated tag IDs or tag names. Unknown tag names on Apply are auto-created by Groundhogg.

Tag

  • Create, Get, Get Many, Update, Delete

Note

  • Create, Get, Get Many, Update, Delete
  • Notes are attached to a contact via the Contact ID field.

Task

  • Create, Get, Get Many, Update, Delete
  • Complete and Incomplete — toggle a task's completion state.

Activity

  • Get Many — read engagement events (opens, clicks, page views, form submissions, bounces, etc.) optionally filtered by contact ID and activity type.

Development

# install
npm install

# build (compiles TS + copies icons/JSON into dist/)
npm run build

# live rebuild during development
npm run dev

Local testing against n8n

The easiest path is to link the built package into your local n8n:

# from this repo
npm run build
npm link

# in your n8n custom-nodes directory
# (typically ~/.n8n/custom on Linux/macOS; %USERPROFILE%\.n8n\custom on Windows)
npm link n8n-nodes-groundhogg

Then restart n8n and the Groundhogg node should appear in the node picker.

Endpoints reference

All endpoints are under <site>/wp-json/gh/v4/.

Node operation HTTP Path
Contact: Create POST /contacts
Contact: Get GET /contacts/{id}
Contact: Get Many GET /contacts
Contact: Update PUT /contacts/{id}
Contact: Delete DELETE /contacts/{id}
Contact Tag: Apply POST /contacts/{id}/tags
Contact Tag: Remove DELETE /contacts/{id}/tags
Contact Tag: Get GET /contacts/{id}/tags
Tag: Create POST /tags
Tag: Get GET /tags/{id}
Tag: Get Many GET /tags
Tag: Update PUT /tags/{id}
Tag: Delete DELETE /tags/{id}
Note: Create POST /notes
Note: Get GET /notes/{id}
Note: Get Many GET /notes
Note: Update PUT /notes/{id}
Note: Delete DELETE /notes/{id}
Task: Create POST /tasks
Task: Get GET /tasks/{id}
Task: Get Many GET /tasks
Task: Update PUT /tasks/{id}
Task: Delete DELETE /tasks/{id}
Task: Complete PUT /tasks/{id}/complete
Task: Incomplete PUT /tasks/{id}/incomplete
Activity: Get Many GET /activity

License

MIT