{"id":764,"date":"2026-10-19T08:25:26","date_gmt":"2026-10-19T08:25:26","guid":{"rendered":"https:\/\/smartsync.one\/blog\/?p=764"},"modified":"2026-10-21T08:26:15","modified_gmt":"2026-10-21T08:26:15","slug":"book-reschedule-appointments-ghl-pms-2026","status":"publish","type":"post","link":"https:\/\/smartsync.one\/blog\/book-reschedule-appointments-ghl-pms-2026\/","title":{"rendered":"Book and Reschedule Appointments in Dentrix\/Open Dental Directly From GoHighLevel"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">A typical scenario when an agency sets up <a href=\"https:\/\/smartsync.one\/gohighlevel-dental-integration\" target=\"_blank\" rel=\"noopener\" title=\"\">GoHighLevel<\/a> for a dental client is assuming that the practice&#8217;s calendar will automatically populate with a slot in GHL calendar if an appointment is booked through it, a GHL form or GHL automation. It, however, won&#8217;t, by default. A proper GoHighLevel calendar integration into <a href=\"https:\/\/smartsync.one\/dentrix-gohighlevel-integration\" target=\"_blank\" rel=\"noopener\" title=\"\">Dentrix<\/a> or <a href=\"https:\/\/smartsync.one\/open-dental-gohighlevel-integration\" target=\"_blank\" rel=\"noopener\" title=\"\">Open Dental<\/a> as the actual schedule is two different systems unless they are explicitly linked. This is how the connection really works when it&#8217;s set up correctly.\u00a0<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What &#8220;Booking From GoHighLevel&#8221; Actually Means:<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The booking that is made on the calendar widget by the lead will have that booking to be created as an appointment object inside GoHighLevel. It is only when a connection via sync exists between them that the appointment will ever show up in Dentrix or Open Dental \u2013 otherwise it just lives in GoHighLevel, and someone at the front desk has to recognize it when you go to the appointment booth in your PMS and add it.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With a real sync connection in place, that same booking flows into the PMS automatically, typically within minutes, carrying the relevant details \u2014 patient, provider, appointment type, and time \u2014 so it shows up correctly on the practice&#8217;s actual schedule without manual re-entry.&nbsp;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Want to confirm this actually works for your client&#8217;s setup?<\/strong> [<a href=\"https:\/\/smartsync.one\/schedule-a-call\" target=\"_blank\" rel=\"noopener\" title=\"\">Book a demo<\/a>] or [call <a href=\"tel:+16308618263\">+1 630 861 8263<\/a>].<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>How This Differs Between Dentrix and Open Dental:<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">These two PMS platforms differ in how they tackle third-party write access, which determines the way this connection is built under the hood, even though it might appear the same to the user.&nbsp;<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Open Dental<\/strong> provides an open and well-documented API for reading and writing appointment data.&nbsp; <strong>Dentrix<\/strong> does not have an equivalent open public API. The only reliable way to write to the API is using Henry Schein&#8217;s&nbsp; developer control program or go through a middleware layer instead of a simple connection. For the most part this doesn&#8217;t matter to agencies or practices The difference matters mostly where something has to be established \u2014 if you already have a proper sync in place, both should work the same way from the perspective of the user \u2014 new appointments booked into GoHighLevel will pop up in your PMS too, and all changes you make in the PMS will sync back into GoHighLevel.<strong><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1456\" height=\"608\" src=\"https:\/\/smartsync.one\/blog\/wp-content\/uploads\/2026\/10\/dental-appointment-sync-gohighlevel-dentrix-open-dental.webp\" alt=\"Sync dental appointments with GoHighLevel and PMS\" class=\"wp-image-768\" srcset=\"https:\/\/smartsync.one\/blog\/wp-content\/uploads\/2026\/10\/dental-appointment-sync-gohighlevel-dentrix-open-dental.webp 1456w, https:\/\/smartsync.one\/blog\/wp-content\/uploads\/2026\/10\/dental-appointment-sync-gohighlevel-dentrix-open-dental-300x125.webp 300w, https:\/\/smartsync.one\/blog\/wp-content\/uploads\/2026\/10\/dental-appointment-sync-gohighlevel-dentrix-open-dental-766x320.webp 766w, https:\/\/smartsync.one\/blog\/wp-content\/uploads\/2026\/10\/dental-appointment-sync-gohighlevel-dentrix-open-dental-1024x428.webp 1024w\" sizes=\"auto, (max-width: 1456px) 100vw, 1456px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Rescheduling and Cancellations Work the Same Way<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Digital bookings arent everything \u2014 you also need to ensure that when a reschedule or cancellation occurs in GoHighLevel \u2014 whether from a human, an automation, or an AI agent \u2014 it uses a write-back pathway into the PMS and changes the status of the appointment instead of creating a duplicate or leaving the old time still scheduled. This work has to go both ways: if the practice reschedules or cancels in Dentrix or Open Dental (which is a constant in practice \u2014 patients call directly to the front desk, providers change their own schedule), that change has to be pushed back into GoHighLevel promptly, otherwise any automation using that slot (reminders, confirmation, follow-up sequences) will be taken on a journey on wrong information.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>What to Check Before Relying on This for a Client<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">There are a few specifics to clarify before assuming the appointment booking will &#8220;just work&#8221; between GoHighLevel and a dental PMS:&nbsp;<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Is the sync two-way, or only PMS-to-CRM?<\/strong> One-way sync indicates that bookings made in GoHighLevel will never reach the PMS at all.\u00a0<\/li>\n\n\n\n<li><strong>How fast does a change actually propagate?<\/strong> Any other source, not just AI, e.g., a particular batch sync running overnight is at risk of creating a stale schedule identical to the one described in \u00a0[why voice AI needs real-time PMS sync] \u2014 the logic behind both is exactly the same.\u00a0<\/li>\n\n\n\n<li><strong>Does the appointment carry the right provider and appointment type<\/strong>, or does it land in the PMS as a generic, unassigned booking that still needs manual correction?\u00a0<\/li>\n\n\n\n<li><strong>What happens to cancellations and reschedules<\/strong>, specifically \u2014 some integrations can book new appointments but fail to keep synced with status changes.\u00a0<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Where SmartSync Fits:<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SmartSync keeps appointments in GoHighLevel and Dentrix or Open Dental aligned, usually within minutes. New bookings, changes, and cancellations sync in both directions. Whether an appointment is created by a staff member, an automated workflow, Voice AI, or Conversation AI, it appears in the practice\u2019s real schedule with the right details\u2014so there\u2019s no separate record to reconcile manually.&nbsp;<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/smartsync.one\/schedule-a-call\" target=\"_blank\" rel=\"noopener\">Book a Demo<\/a><\/div>\n<\/div>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Frequently Asked Questions<\/strong><\/h3>\n\n\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-1&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading has-icon has-icon-right\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-1-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" id=\"accordion-item-1\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong>Can appointments booked in GoHighLevel automatically appear in Dentrix?<\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div aria-labelledby=\"accordion-item-1\" data-wp-bind--hidden=\"state.isHidden\" data-wp-on--beforematch=\"actions.handleBeforeMatch\" id=\"accordion-item-1-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Yes, with a two-way sync integration in place \u2014 without one, all GB bookings are trapped in GoHigh Level and need to be entered in Dentrix manually.\u00a0<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-2&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading has-icon has-icon-right\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-2-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" id=\"accordion-item-2\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong>Is Open Dental easier to connect to GoHighLevel than Dentrix?<\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div aria-labelledby=\"accordion-item-2\" data-wp-bind--hidden=\"state.isHidden\" data-wp-on--beforematch=\"actions.handleBeforeMatch\" id=\"accordion-item-2-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Open Dental&#8217;s open API makes the technical setup extremely simple. While Dentrix asks you to go through a developer program or integrate with a middleware layer, once integrated properly, it should function like the same for end users.\u00a0<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-3&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading has-icon has-icon-right\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-3-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" id=\"accordion-item-3\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong>What happens if a patient reschedules by calling the practice directly instead of through GoHighLevel?<\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div aria-labelledby=\"accordion-item-3\" data-wp-bind--hidden=\"state.isHidden\" data-wp-on--beforematch=\"actions.handleBeforeMatch\" id=\"accordion-item-3-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p class=\"wp-block-paragraph\">With two-way sync, whatever is changed in the PMS directly changes in GoHighLevel automatically, meaning any GoHighLevel automations work on up-to-date, accurate appointment data.<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div data-wp-context=\"{ &quot;autoclose&quot;: false, &quot;accordionItems&quot;: [] }\" data-wp-interactive=\"core\/accordion\" role=\"group\" class=\"wp-block-accordion is-layout-flow wp-block-accordion-is-layout-flow\">\n<div data-wp-class--is-open=\"state.isOpen\" data-wp-context=\"{ &quot;id&quot;: &quot;accordion-item-4&quot;, &quot;openByDefault&quot;: false }\" data-wp-init=\"callbacks.initAccordionItems\" data-wp-on-window--hashchange=\"callbacks.hashChange\" class=\"wp-block-accordion-item is-layout-flow wp-block-accordion-item-is-layout-flow\">\n<h3 class=\"wp-block-accordion-heading has-icon has-icon-right\"><button aria-expanded=\"false\" aria-controls=\"accordion-item-4-panel\" data-wp-bind--aria-expanded=\"state.isOpen\" data-wp-on--click=\"actions.toggle\" id=\"accordion-item-4\" type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\"><strong>Does this work with appointments booked by AI, not just humans?<\/strong><\/span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+<\/span><\/button><\/h3>\n\n\n\n<div aria-labelledby=\"accordion-item-4\" data-wp-bind--hidden=\"state.isHidden\" data-wp-on--beforematch=\"actions.handleBeforeMatch\" id=\"accordion-item-4-panel\" role=\"region\" class=\"wp-block-accordion-panel is-layout-flow wp-block-accordion-panel-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Yes \u2014 the sync takes in the appointment data itself &#8211; irrespective of whether it was booked via a human, workflow automation or an AI Agent.\u00a0<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A typical scenario when an agency sets up GoHighLevel for a dental client is assuming that the practice&#8217;s calendar will automatically populate with a slot in GHL calendar if an appointment is booked through it, a GHL form or GHL automation. It, however, won&#8217;t, by default. A proper GoHighLevel calendar integration into Dentrix or Open [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":767,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[21],"tags":[],"class_list":["post-764","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-crm-pms-integration"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/posts\/764","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/comments?post=764"}],"version-history":[{"count":1,"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/posts\/764\/revisions"}],"predecessor-version":[{"id":769,"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/posts\/764\/revisions\/769"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/media\/767"}],"wp:attachment":[{"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/media?parent=764"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/categories?post=764"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smartsync.one\/blog\/wp-json\/wp\/v2\/tags?post=764"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}