HeyDental
Try playground Join waiting list

AI-powered markdown · office builder

Build your practice in plain markdown. No consultants. No clunky platform circus.

HeyDental’s office builder is a readable file grammar — office.md, site.md, forms, media, and the insurance center. Highly customizable. Fully DIY. When you’re stuck, ask the help agent.

Peach robot yard standing the office up from markdown

Open admin playground Browse every builder

Playground = read-only experiment admin. No login. Banner on every screen: This is heydental admin experiment area. Edits and saves are blocked.

The problem

Dental platforms got clunky. Customization got expensive.

Most practice software hides the truth behind wizards, module SKUs, and “implementation partners.” You wanted a schedule and an intake form — you got a six-week project.

Our answer

One markdown bundle. Your portal. Your public site. Your insurance desk.

Write (or generate) the files. Load them. The runtime renders admin + patient surfaces from the same grammar. Change the file — change the practice.

Welcome robot ready to design the office

Builders

Every office builder, with canned markdown

Each section below shows sample markdown, what it does, what it produces, a screenshot, and a live playground link.

Builder · Identity

Who you are on the floor

Front matter + office table. Slug, timezone, phone, address, public flag — the seed every other file inherits.

---
schema: heydental.office/v1
slug: lumen-south-lamar
timezone: America/Chicago
accent: "#f5842b"
status: draft
---

# Lumen Dental · South Lamar

Family practice on South Lamar. New patients welcome.

## office
| key | value |
| --- | --- |
| short | South Lamar |
| phone | (512) 555-0144 |
| address | 1206 S Lamar Blvd, Austin, TX 78704 |
| city | Austin, TX |
| inbox | front@lumendental.test |
| public | on |

What it produces

Office card in admin · multi-office switcher · public site inherit of name/phone · companion context.

Site designer robot for office identity

Open Offices in playground

Builder · Hours & holidays

One clock. Public site inherits it.

Weekly open/closed table plus holiday lines. Never duplicated on the patient site — site.md says hours inherit.

## hours
| day | open |
| --- | --- |
| mon | 09:00-18:00 |
| fri | 09:00-16:00 |
| sat | 10:00-14:00 |
| sun | closed |

## holidays
- 2026-11-26 · Thanksgiving · closed
- 2026-12-25 · Christmas Day · closed

What it produces

Hours admin · phone AI open/closed · public “Hours” block · scheduling agents that respect closed days.

Finance robot that inherits hours and prices services

Open Hours in playground

Builder · Staff & teams

People and desks, not org-chart theater

Clinicians, front desk, billing — plus teams that swimlanes escalate to.

## staff
| name | role | desk | email | notes |
| --- | --- | --- | --- | --- |
| Alex Kim | owner | yes | alex@… | owner draw |
| Sam Ortiz | front-desk | yes | front@… | shared inbox |
| Dr. Priya Patel | clinician | no | priya@… | three offices |

## teams
| id | name | lead | members | desk |
| desk | Front desk | Sam Ortiz | Sam, Jordan | yes |
| billing | Billing | Jordan Kim | Jordan | no |

What it produces

Staff roster · Who am I? desk codes · swimlane escalation targets · doctor listings for the public site.

Welcome robot for staff and teams

Open Staff in playground

Builder · Services

What patients can book

Codes, duration, fee, bookable flag — feeds calendar, public services list, and auto-book policy.

## services
| code | name | duration | fee | book |
| --- | --- | --- | --- | --- |
| D0150 | New patient exam + x-rays | 60 | 198 | yes |
| D1110 | Hygiene — adult | 50 | 128 | yes |
| D0140 | Emergency visit | 30 | 95 | yes |
| WHITEN | Whitening consult | 20 | 0 | no |

What it produces

Services admin · Find care booking types · site “services inherit” · phone autobook allow-list.

Proud robot after services load into the office

Open Services in playground

Builder · Swimlanes + SLA

Workflow columns with teeth

Lanes, warn timers, escalate roles, team, and runbook — one table, one board.

## swimlanes
| lane | sla | warn | escalate | team | runbook |
| --- | --- | --- | --- | --- | --- |
| Patient intake | 2h | 30m | office-manager | desk | front-desk-open-close |
| Patient & insurance verification | 24h | 4h | billing | billing | insurance-verification |

What it produces

Swimlanes board · SLA pulses · ticket routing · runbook deep links on each column.

Message robot for swimlane follow-through

Open Swimlanes in playground

Builder · Agent playbook

Tell agents what “yes” means

Companion phrases and office automations — readable lines, not a hidden rules engine UI.

## agents
- @companion list-for-today → read reminders today
- @companion when "call my list" → read reminders today
- @office after no-show → queue sms rebook-soft
- @financial payroll → escalate owner_approve

What it produces

Owner companion intents · no-show SMS · finance approval gates — agents that already know your floor words.

Front-desk phone agent for companion playbook lines

Open Reminders in playground

Builder · Forms

Design any office form in markdown

Field types, required flags, binds to patient paths, optional insurance embeds. Canned: new-patient, insurance-card, HIPAA, medical history, hygiene check-in.

---
schema: heydental.form/v1
id: new-patient
---

# New patient intake

Tell us who you are. Required fields are marked.

## fields
| id | type | label | required | options | bind |
| first | text | First name | yes |  | patient.first |
| last | text | Last name | yes |  | patient.last |
| dob | date | Date of birth | yes |  | patient.dob |
| phone | phone | Mobile | yes |  | patient.phone |
| coverage | checkboxes | Coverage | no | ppo,hmo,medicaid,self-pay | patient.coverage |

## embed
- dental-eligibility

What it produces

Public intake at /o/{slug}/intake · admin Forms library · insurance widgets embedded where you said so.

Email robot helping with office forms

Open playground

Builder · Media

Assets with roles, not a folder dump

Logo, hero, welcome art — referenced as {{logo}} elsewhere. Other files never embed raw URLs.

---
schema: heydental.media/v1
office: lumen-south-lamar
---

# Media

## assets
| role | slug | alt |
| --- | --- | --- |
| logo | logo | Lumen mark |
| hero | exterior | South Lamar exterior |
| welcome-new | welcome-new | Welcome robot |

What it produces

Media library · site brand tokens · email and public hero slots resolved from roles.

Site designer robot for media and public pages

Open Media in playground

Builder · Public site

Patient website from site.md

Brand, menu, and pages (home, intake, sign-in, book). Hours and services inherit from office.md — write once.

---
schema: heydental.site/v1
office: lumen-south-lamar
---

# Lumen Dental · South Lamar

## brand
| key | value |
| logo | {{logo}} |
| hero | {{exterior}} |
| accent | inherit |

## menu
| parent | label | href |
|  | Home | / |
| Care | New patient | /intake |
| Care | Book | /book |

## pages
### home
title: Welcome
blocks: hero, blurb inherit, hours inherit, services inherit, cta Book /book

### intake
title: New patient
form: new-patient
login: no

### book
title: Book a chair
calendar: inherit

What it produces

Public office site · Find care practice page · SEO agents feed from the same pages · booking + intake routes.

Site designer robot for the public practice site

Open Public site in playground

Builder · Insurance center

Enable locked insurance rules — don’t reinvent eligibility

Offices pick Off / Page / Embed for each catalog id. You cannot change binds, verbs, or insurance paths — those stay in the HeyDental master. That’s the point: powerful insurance without a consultant rewriting 270/271.

---
schema: heydental.insurance-center/v1
office: lumen-south-lamar
catalog: heydental.stedi/v1
---

# Insurance center

Master rules are locked. This file only enables them.

## enabled
| id | place | form |
| --- | --- | --- |
| dental-eligibility | page |  |
| insurance-discovery | embed | new-patient |
| claim-status | page |  |

What it produces

Insurance desk in admin · eligibility page · discovery widget inside new-patient intake · claim status tools. 20+ check controls stay on the platform — you choose which ones light up.

Insurance agent for the enable list

Open playground (insurance experiment)

Builder · Insurance master (locked)

HeyDental owns the catalog. Offices enable ids.

Reference grammar for eligibility, discovery, claim status, COB. Offices never edit insurance paths — they toggle place: page or embed.

---
schema: heydental.stedi/v1
id: dental-eligibility
---

# Check dental insurance

270/271 against the test insurance key. Service type 35.

## meta
| key | value |
| action | eligibility |
| serviceType | 35 |

## fields
| id | type | label | required | bind |
| payer | dropdown | Payer | yes | tradingPartnerServiceId |
| member_id | text | Member ID | yes | subscriber.memberId |
| dob | date | Date of birth | yes | subscriber.dateOfBirth |

What it produces

Locked widgets offices can enable. Same binds everywhere — fewer “why is eligibility broken?” tickets.

Insurance agent for locked insurance rules

Open playground

Builder · Runbooks & reminders

How the floor opens — and who gets nudged

Numbered runbooks hang off swimlanes. Reminder lines drive SMS/email before visits and after no-shows.

## runbooks

### front-desk-open-close
title: Front desk — open / close

1. Disarm alarm
2. Power on shared desk PC + Who am I?
3. Overnight voicemail → Intake lane

## reminders
- 48h · sms+email · friendly-confirm · on
- 2h · sms · short-nudge · on
- no-show · email · rebook-soft · on

What it produces

Runbooks library · reminder templates · companion “list for today” · no-show soft rebook.

Robots applying runbooks and standing the portal up

Open Runbooks in playground

Live experiment

Walk the admin without logging in

The playground is a canned Lumen Dental office. Explore freely. Saving is intentionally broken — this is the experiment area.

This is heydental admin experiment area.

No login. No edits. No saves. Banner stays on every screen so nobody mistakes it for production. When you’re ready for a real practice file, sign up and load your own markdown bundle.

Launch playground Join waiting list