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:
- Go to Settings → Community Nodes.
- Click Install.
- Enter the package name:
n8n-nodes-groundhogg - Agree to the risks and install.
Or install manually:
npm install n8n-nodes-groundhoggCredentials
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
Applyare 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 devLocal 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-groundhoggThen 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 |