opendental

n8n community node for the Open Dental REST API — patients, appointments, payments, and more

Package Information

Released: 2 mo ago
Downloads: 0 weekly / 0 monthly
Latest Version: 1.0.3

Available Nodes

Documentation generating…

Documentation

n8n-nodes-opendental

n8n community node for the Open Dental REST API. Use it to automate dental practice workflows — patients, appointments, providers, clinics, communication logs, and payments.

n8n is a fair-code licensed workflow automation platform.

Installation

From npm (public)

In a self-hosted n8n instance, open Settings → Community nodes → Install and enter:

n8n-nodes-opendental

Or follow the community nodes installation guide.

npm package: n8n-nodes-opendental

Direct installation

Use this when you want to install from a fixed package file instead of the npm registry — for example, air-gapped servers, Docker hosts where the UI install fails, or practices that prefer not to pull packages from npm at install time.

Download: releases/n8n-nodes-opendental-1.0.3.tgz (matches the current package version)

The tarball is rebuilt on each release (npm run pack:release). It does not update automatically when you change source code — check the filename version matches package.json before installing.

Install on the n8n host (bare metal, VM, or inside the container):

mkdir -p ~/.n8n/nodes
cd ~/.n8n/nodes
npm install /path/to/n8n-nodes-opendental-1.0.3.tgz

Restart n8n after installation.

Docker example:

docker cp n8n-nodes-opendental-1.0.3.tgz <container>:/tmp/
docker exec -it <container> sh -c "mkdir -p /home/node/.n8n/nodes && cd /home/node/.n8n/nodes && npm install /tmp/n8n-nodes-opendental-1.0.3.tgz"
docker restart <container>

Install from this repository (clone, then install the tarball from releases/):

git clone https://github.com/unstackedapps/n8n-nodes-opendental.git
mkdir -p ~/.n8n/nodes && cd ~/.n8n/nodes
npm install /path/to/n8n-nodes-opendental/releases/n8n-nodes-opendental-1.0.3.tgz

Direct install uses the same public package published to npm — it is not a separate or private build.

Security and compliance

This package is an Open Dental API client for self-hosted n8n. It helps workflows call the Open Dental REST API using credentials you configure in n8n.

What this package does

  • Runs entirely on your n8n instance.
  • Sends requests only to the base URL and credentials you configure (typically your practice’s Open Dental API endpoint).
  • Does not send data to Unstacked Apps, npm, or any other third-party service.
  • Does not embed practice-specific data, hardcoded credentials, or hidden endpoints.
  • Does not collect telemetry or analytics.

What you are responsible for

  • Securing your n8n instance, workflows, and credentials.
  • Open Dental API key permissions and who can access n8n.
  • Your organization’s compliance program (including HIPAA, where applicable), business associate agreements, and workflow design.
  • Ensuring automations only access data and systems your policies allow.

Disclaimer

This software is provided as-is under the MIT License. It is not legal or compliance advice, not a HIPAA certification, and not a business associate agreement. Unstacked Apps does not receive, store, or process patient health information through this package. If you need formal compliance documentation for your organization, consult qualified counsel and your compliance team.

Operations

Patient

  • Get — retrieve a patient by PatNum
  • Get Many — search patients with filters (name, birthdate, email, etc.)
  • Get Simple — retrieve patients with fuller fields and DateTStamp filtering
  • Create — create a new patient
  • Update — update an existing patient

Appointment

  • Get — retrieve an appointment by AptNum
  • Get Many — list appointments with date and clinic filters
  • Get Slots — find available appointment slots
  • Create — schedule a new appointment
  • Update — update an existing appointment

Provider

  • Get Many — list providers

Clinic

  • Get Many — list clinics

Communication Log

  • Get Many — get commlogs for a patient
  • Create — create a commlog entry

Payment

  • Create — create a patient payment (supports PayType, isPrepayment, and additional fields; does not support income transfers or insurance payments)

Custom API Request

  • Execute — call any Open Dental API path with GET, POST, PUT, or DELETE

Credentials

You need two API keys:

  1. Developer API Key — from the Open Dental Developer Portal. Request access via vendor.relations@opendental.com.
  2. Customer API Key — generated in the Developer Portal and added by the dental office under Setup > Advanced Setup > API.

Every request uses:

Authorization: ODFHIR {DeveloperKey}/{CustomerKey}

Default base URL: https://api.opendental.com/api/v1

Open Dental hosts a test database and documents test credentials on API Developer Setup. The office must have the eConnector running and the API enabled.

Compatibility

  • n8n v1.0+
  • Node.js 20+ (for building/publishing this package)
  • Open Dental office with eConnector + API enabled
  • Endpoint availability depends on the office Open Dental version meeting the method’s “Version Added” requirement

Usage notes

  • List operations support Return All (automatic Offset paging, 100 items per page) or a Limit.
  • Open Dental rate-limits API traffic. Keys with only ApiReadAll are typically limited to about one request every five seconds; additional permissions allow up to about one request per second.
  • Field names follow Open Dental’s PascalCase schema (PatNum, PayAmt, etc.).
  • Use Custom API Request for endpoints not yet modeled as first-class resources.

Development

npm install
npm run build
npm run lint
npm run dev

npm run release bumps the version, updates the changelog, tags, and pushes — which triggers .github/workflows/publish.yml for npm publishing with provenance.

After a release, regenerate the direct-install tarball with:

npm run pack:release

Commit the updated file under releases/.

Resources

License

MIT

Version history

See CHANGELOG.md.

Discussion