{
  "slug": "open-dental",
  "url": "https://apps.sectorgrowth.com/integrations/open-dental/",
  "name": "Open Dental",
  "vendor": "Open Dental Software",
  "aliases": [
    "OpenDental",
    "Open Dental Software",
    "ODFHIR"
  ],
  "website": "https://www.opendental.com/",
  "category": {
    "slug": "healthcare-and-practice-management",
    "name": "Healthcare and practice management",
    "url": "https://apps.sectorgrowth.com/categories/healthcare-and-practice-management/"
  },
  "summary": "Open Dental holds every appointment, recall and empty chair in a practice, on a server in the back office rather than in a browser tab.",
  "answer": "No. Open Dental has no app published in the HubSpot App Marketplace, as of September 2026, though fuzzy matches surface in a search and healthcare automation tools connect it from outside the marketplace. The route is a keyed service against the Open Dental API, driven by its subscription events, with only contact and scheduling data leaving the practice. Budget 10 to 20 hours of discovery and 70 to 150 hours of build.",
  "nativeApp": {
    "status": "none",
    "verifiedAt": "2026-09-22"
  },
  "api": {
    "style": "rest",
    "auth": "api-key",
    "webhooks": "partial",
    "changedSince": "unknown",
    "sandbox": "unknown",
    "rateLimit": "One request per second per customer key, or one per five seconds for read-only permissions",
    "docsUrl": "https://www.opendental.com/site/apispecification.html"
  },
  "objects": [
    {
      "source": "Patient",
      "hubspot": "contact",
      "direction": "two_way",
      "key": "Patient number in a unique property on the contact",
      "notes": "Households share email addresses, so email merges families within a week."
    },
    {
      "source": "Appointment",
      "hubspot": "custom",
      "direction": "two_way",
      "key": "Appointment number, associated to the patient"
    },
    {
      "source": "Recall",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Recall number, associated to the patient",
      "notes": "The due date is the trigger. Nothing about the treatment comes with it."
    },
    {
      "source": "Appointment type",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Appointment type number",
      "notes": "The type name only, never the procedure detail behind it."
    },
    {
      "source": "Provider",
      "hubspot": "custom",
      "direction": "to_hubspot",
      "key": "Provider number, used to route follow-up to the right chair"
    }
  ],
  "approaches": [
    {
      "kind": "custom",
      "fit": "recommended",
      "why": "Only a service you own can take the subscription events, hold the signed field list, and pace a backfill against a per-key throttle. It is also the only route that can answer what left the practice, in writing."
    },
    {
      "kind": "ipaas",
      "fit": "possible",
      "why": "Healthcare automation platforms connect Open Dental on a schedule without any software of your own. That suits a practice that wants a nightly recall list and nothing time sensitive."
    },
    {
      "kind": "data-sync",
      "fit": "avoid",
      "why": "HubSpot Data Sync has no Open Dental connector, and a fixed mapping cannot express the field restraint a practice under a business associate agreement needs."
    }
  ],
  "effort": {
    "discoveryHours": [
      10,
      20
    ],
    "buildHours": [
      70,
      150
    ],
    "buildBand": "70 to 150 hours",
    "typicalElapsed": "4 to 8 weeks"
  },
  "pattern": "webhook-queue",
  "faqs": [
    {
      "q": "Is there an Open Dental app in the HubSpot App Marketplace?",
      "a": "No app for Open Dental is published in the HubSpot Marketplace, only fuzzy matches when you search it. Two healthcare automation products connect the system from outside the marketplace, so a practice has a no-code option, but nothing installs from inside HubSpot."
    },
    {
      "q": "How does the Open Dental API authenticate?",
      "a": "With two keys in one authorization header rather than a token exchange. A developer key identifies the application and a customer key identifies the practice, sent together in a single header value. The practice controls its own key from a setup screen and can disable it, which is a useful property when a vendor relationship ends."
    },
    {
      "q": "Can Open Dental notify an integration when an appointment changes?",
      "a": "Yes, through API subscriptions. A subscription names a table to watch, such as patient or appointment, a polling interval for the practice side, and an endpoint of your choice. Each event is a REST call to that endpoint. The practice's own software does the watching, so the office must be running for events to flow."
    },
    {
      "q": "What is the Open Dental API rate limit?",
      "a": "Requests for one customer key are processed in order, so throughput is sequential rather than parallel. An application holding only read-all permission is throttled to one request every five seconds, and other permission sets to one request per second. Too many queued requests are rejected with a 429 response."
    },
    {
      "q": "Does clinical data have to leave Open Dental to sync with HubSpot?",
      "a": "No, and it should not. Procedures, treatment plans, charting, imaging and claims are all reachable through the API and all stay in the practice system. Contact details, the appointment, the recall due date, the office and the provider are enough to run scheduling and recall campaigns without moving anything clinical."
    },
    {
      "q": "Do we need a business associate agreement to integrate Open Dental?",
      "a": "Yes. Open Dental's own specification states that API developers should have a business associate agreement in place with their clients. That agreement is also the practical reason the field list gets written down and signed, because it is the document the practice points to when somebody asks what left the building."
    },
    {
      "q": "How long does it take to get an Open Dental developer key?",
      "a": "One to three business days after the request is submitted, which names the company, the contact details and every resource the application needs with read, create or update marked for each. The customer key is separate and is enabled by the practice afterwards. Start the request before kickoff, because it is the longest lead time on the project."
    },
    {
      "q": "How many hours does an Open Dental and HubSpot integration take?",
      "a": "Patients, appointments and recalls with booking write-back run 10 to 20 hours of discovery and 70 to 150 hours of build. A read-only recall feed sits well under that. The event receiver, the paced backfill and the duplicate handling for shared household email addresses account for most of the range."
    }
  ],
  "sections": [
    {
      "depth": 2,
      "text": "Why teams connect Open Dental to HubSpot",
      "anchor": "#why-teams-connect-open-dental-to-hubspot",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#why-teams-connect-open-dental-to-hubspot"
    },
    {
      "depth": 2,
      "text": "What syncs",
      "anchor": "#what-syncs",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#what-syncs"
    },
    {
      "depth": 2,
      "text": "Architecture",
      "anchor": "#architecture",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#architecture"
    },
    {
      "depth": 2,
      "text": "Three ways to connect",
      "anchor": "#three-ways-to-connect",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#three-ways-to-connect"
    },
    {
      "depth": 2,
      "text": "What breaks and how we prevent it",
      "anchor": "#what-breaks-and-how-we-prevent-it",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#what-breaks-and-how-we-prevent-it"
    },
    {
      "depth": 3,
      "text": "Waiting on the developer key",
      "anchor": "#waiting-on-the-developer-key",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#waiting-on-the-developer-key"
    },
    {
      "depth": 3,
      "text": "An office that goes quiet",
      "anchor": "#an-office-that-goes-quiet",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#an-office-that-goes-quiet"
    },
    {
      "depth": 3,
      "text": "The five-second read-only throttle",
      "anchor": "#the-five-second-read-only-throttle",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#the-five-second-read-only-throttle"
    },
    {
      "depth": 3,
      "text": "Families sharing an email address",
      "anchor": "#families-sharing-an-email-address",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#families-sharing-an-email-address"
    },
    {
      "depth": 2,
      "text": "Our approach",
      "anchor": "#our-approach",
      "url": "https://apps.sectorgrowth.com/integrations/open-dental/#our-approach"
    }
  ],
  "caseStudies": [],
  "guides": [
    "https://apps.sectorgrowth.com/guides/choose-a-hubspot-integration-approach/"
  ],
  "builtBySectorGrowth": false,
  "status": "published",
  "verifiedAt": "2026-09-22",
  "updatedAt": "2026-09-25",
  "authors": [
    {
      "name": "Prash",
      "role": "Lead of Technical Integrations and AI Solutions"
    }
  ],
  "sources": [
    {
      "title": "Open Dental Software - API Specification",
      "url": "https://www.opendental.com/site/apispecification.html"
    },
    {
      "title": "Open Dental Software - API Implementation",
      "url": "https://www.opendental.com/site/apiimplementation.html"
    },
    {
      "title": "Open Dental Software - API Developer Setup",
      "url": "https://www.opendental.com/site/apisetup.html"
    },
    {
      "title": "Open Dental Software - API Subscriptions",
      "url": "https://www.opendental.com/site/apisubscriptions.html"
    },
    {
      "title": "Open Dental Software - Practice Management Software",
      "url": "https://www.opendental.com/"
    }
  ]
}