Changelog
Follow up on the latest improvements and updates.
RSS
Knowing a patient's treatment fee tells you what you charged, it does not tell you how efficiently that treatment was delivered. Two patients with identical fees can represent very different operational realities depending on how many visits their treatment required and how long it actually ran.
How it works
The Treatment Efficiency & Value Report is a new stock report available from the Reporting menu. It analyzes completed treatment cases within a selected completion date range and is built around a single primary KPI:
Value Per Visit = Treatment Fee ÷ Eligible Completed Visits
All visits belonging to a completed treatment are counted in the calculation, regardless of when they occurred. "Eligible visits" are configurable — by default, virtual visits and emergency visits are excluded, but each can be toggled on.
The report has three tabs:
- Summary— treatment-plan-level averages: number of cases, average fee, expected duration (months), average actual duration (months), average eligible visits, value per visit, and the percentage of treatments that finished early or late
- Appointment Mix— for each treatment plan, a breakdown of appointment types (adjustments, debonds, emergencies, virtual visits, etc.) showing average count per case and average duration; this explains what is driving visit numbers without attributing independent revenue to each appointment type
- Raw Export— one row per individual treatment case, showing patient, provider, start and completion dates, expected and actual duration, eligible visit count, treatment fee, and value per visit for that case; hovering the column heading shows the calculation
Filters available across the report:
- Completion date range
- Treatment plan(s)
- Provider(s)
- Location(s)
- Include virtual visits (toggle, default off)
- Include emergency visits (toggle, default off)

Summary view

Appointment Mix

Raw export
Why it matters
Value Per Visit makes it possible to compare treatments that look identical on a fee schedule but perform very differently in practice. Practices can use this report to identify which treatment plans are operationally efficient, where chair time is being consumed by specific appointment types, and which individual cases are outliers worth investigating, without needing to export raw data and build the analysis manually.
When a patient's card expires or is replaced, Greyfinch previously had no way to know. Stored card details would go stale, causing payment failures on recurring charges and no-show fees. Staff had no visibility until a charge actually failed.
The Automatic Card Updater, powered by Payabli's Card Updater service, now keeps stored payment methods current without any manual intervention.
How it works
Payabli monitors stored card tokens against card network update feeds. When a change is detected, Greyfinch receives a notification and acts on it automatically:
- Card renewed or replaced: if a patient's card has a new expiry date or a new card number (e.g. due to loss or theft), the saved card record on their profile is updated automatically. The last 4 digits, expiry, and card type are refreshed. The underlying token reference stays the same, no duplicate payment method is created.
- Account closed or action required: if an account is closed or the issuer flags the card as requiring direct contact, the saved method is marked as invalid and an event is raised in the Automation Hub. This can trigger a follow-up task for staff to reach out to the patient for updated payment details.
- Unsupported or informational results: some cards cannot be auto-updated (e.g. the issuer isn't enrolled in an account updater program, or the card network doesn't support it). These are recorded but require no action.
Why it matters
Payment failures from stale card details are a quiet but consistent source of revenue leakage, particularly for practices that rely on saved cards for recurring payments or no-show fees. This feature removes that failure point for the majority of cards and gives staff early visibility when a card genuinely needs attention, before a charge attempt fails.
When patients schedule or reschedule appointments through Practice Hub or links sent from the clinic, the dates available to them are determined by a window around their ideal next visit date. Previously, this window was fixed at ±5 days and could not be adjusted, meaning all clinics were locked into the same range regardless of their scheduling preferences.
How it works
A new
Online scheduling window
section is now available under Settings > Scheduling > Settings
.
- Set X days beforethe ideal next visit date — how early a patient can book relative to their ideal date.
- Set Y days afterthe ideal next visit date — how late a patient can book.
- A live example updates beneath the inputs as you type, showing the exact date range that would apply to a patient with a given ideal next visit date (e.g. "If a patient's ideal next visit is 15 Jul, they can schedule online between 8 Jul and 29 Jul.").
- Both values can be set independently. Setting both to zero restricts scheduling to the exact ideal next visit date only.
- The configured window applies to both new scheduling and rescheduling through Practice Hub and other online tools for scheduling.
- The default values match what was previously hardcoded (±5 days).
Why it matters
Different clinics have different rhythms; some want tight windows to keep schedules predictable, others need more flexibility for patients who are hard to reach or have irregular availability. This setting lets each clinic define what works for their practice rather than being constrained to a fixed range.
There's been no single view in Greyfinch where staff could see all requests sent to a patient. Pay requests, failed autopayment recovery requests, and case closer requests all lived in separate places, with no way to filter, manage or simply check status across them. This update addresses this gap.
How it works
A new Requests section has been added to the Financials area in Greyfinch. It's a view that shows all Pay App and Case Closer requests.
- It shows all requests in one list, regardless of type.
- Requests can be filtered by type and by status.
- Request types shown: Payment, Failed Autopayment, Update Payment Method, and Case Closer.
- From the list, staff can open a request directly or cancel it (with a confirmation step).
Each request in the list has a status:
- Created- not yet sent
- Sent- not yet opened
- Opened- viewed by the recipient.
Each request in the list is one of the following types
- Payment: a manual payment request sent from the Ledger
- Autopayment: auto-generated when an autopay is declined
- Update Payment Method:(new)— simply captures a new card/bank account and sets it as the autopay source for the payment plan. This is typically used when a customer converts from another software to Greyfinch
- Case Closer: request to sign a treatment contract and set up financials
Access the view by navigating to Settings > Financial and clicking on Requests.

A note on expiry:
only some request types currently expire: "update payment method" requests do, and expiry is planned for case closer requests in near future.Why it matters
The Requests area gives staff a reliable, consolidated view of what's been sent to a patient and where each request stands. They can be managed by cancelling if required.
At the end of a session, tracking down which checked-out patients still need clinical notes meant scanning the entire checked-out list by eye. It's easy to miss someone, especially on a busy day.
A
Missing Notes
filter is now available in the Checked Out view. Selecting it narrows the list to only the appointments where notes haven't been completed yet, so nothing slips through at close of day.How it works
- Open the filter dropdown in the Checked Out / agenda view.
- Select Missing Notesfrom the list of filter options.
- The view updates immediately to show only appointments where notes are not yet complete.
- The selected filter preference is saved per user and persists across logout and login.

Why it matters
Clinical notes left incomplete at the end of a session can create compliance gaps and extra follow-up work. This filter gives the front desk and clinical team a quick, reliable way to see exactly who still needs notes, without scrolling through everyone who has already been fully cleared.
Automations pile up. Some get replaced, some were only needed temporarily, and over time your Automation Hub can end up cluttered with things you no longer touch, but deleting them outright isn't an option, since automations can be tied to data like patient activity.
You can now
archive
automations instead. Archiving hides an automation from your main list without deleting anything, and you can unarchive it again whenever you need it.How It Works
- Archive any automation from its Actionsmenu, with a quick confirmation step
- Archived automations move to a new Archived Automationstab, separate fromAll Automations
- If the automation was enabled, it's automatically disabled in the background when archived
- Unarchive at any time — you'll be asked whether to re-enable it automatically
- Select multiple automations with checkboxes to archive or unarchive in bulk

Why It Matters
Your Automation Hub should reflect what you're actually using today, not everything you've ever set up. Archiving lets you keep that list clean and relevant without any risk to historical data, so nothing gets lost, and nothing sticks around just because deleting felt too risky.
Automations in Automation Hub used to run only in response to events. That worked well for reactive workflows, but it left a gap for two common needs: recurring tasks you want handled automatically every day (sending patients a happy birthday message), and one-off situations where you need to act right now, like notifying patients of an unexpected office closure tomorrow.
Automation Hub now supports two new trigger types to close that gap.

Set Schedule
lets you choose specific days and a time for an automation to run automatically, on a recurring basis — no manual intervention needed once it's enabled.Run Manually
lets you trigger an automation on demand, whenever you need it. You can adjust filter values (like date or location) each time before running, and you'll get a confirmation prompt before anything goes out.Both triggers pair with the
Execute a Report
action, so any report you've marked public can drive an automation — with an action taken for every row it returns, whether that's sending a patient communication, creating a task, or updating a treatment status.
How It Works
Each automation combines a report (
who it acts on
), a trigger (when it runs
), and an action (what happens to each result/row
):- Mark a report as Publicto make it available in Automation Hub. The report's filter determines who it returns — this can be dynamic (e.g., "birthday = today") or something you adjust at run-time (e.g., a specific appointment date).
- Create a new automation and choose either Set Schedule(recurring) orRun Manually(on demand) as the trigger.
- Add an Execute a Reportaction, select your report, and choose what happens for each row it returns — send a communication, create a task, or update a treatment status.
- For scheduled automations, enable it and it runs automatically at the days/time you set, re-running the report fresh each time.
- For manual automations, adjust the report's filter values if needed, then click Run Nowfrom the automation list. You will be asked to confirm before it executes.
Why It Matters
These two triggers cover the two ends of the automation spectrum: routine, repeatable work that shouldn't need a person to remember to do it, and urgent, situational work that can't wait for a schedule.
Practices can now set up a birthday message that runs itself every morning, while also having a ready-to-go automation for sending last-minute closure notices, without building either from scratch each time.
No-shows are costly, especially for smaller practices. With an update to our Leads App, you'll be able to request a credit card when new patients book online, giving you a way to protect your schedule without turning patients away.
Here's how it works:
- You decide to add the Credit Card Capturequestion to the Leads App. It will automatically be placed at the end of the flow.
- When a new patient reaches the final booking step, they'll be prompted to enter a credit or debit card to reserve their appointment. No payment is taken at that point. The card is simply stored securely on the payor's profile as a saved card. If they show up, nothing happens. If they don't, you have the option to apply a no-show or late cancellation fee.

The default message shown to patients at booking reads something like:
"We require a credit or debit card to reserve this booking. Your card will be securely stored on file, but no payment will be taken today. The clinic may apply a no-show or late cancellation fee only if you fail to attend your appointment or cancel outside of the clinic's cancellation policy."
That message is fully configurable, so you can adjust the tone and wording to suit your practice.
A few other things worth knowing:
- Card capture is entirely optional. Enable it only if it suits your practice
- The feature is only enabled for locations that use Payabli. It is not supported on Bluefin.
- If you have enabled it you can still make the question mandatory, or not.
- The captured card is stored as a saved card on the patient profile, available for future use
- No charge is ever made automatically. Any fee applied is a deliberate action by the clinic
A few improvements to how the Align integration creates and manages image series in Greyfinch.
Previously, the system always looked for (or created) an image series named "Align", which meant doctors had to manually rename it every time. That's now fixed.
Here's how it works now:
- The system first checks for an existing image series dated today and uses that if found
- If no series exists, it creates one called Initial Records (for patients who don't have an Image Series yet) or Progress Records (for returning patients with existing series)
- Existing images in a slot will no longer be overwritten
- The restriction limiting downloads to Lumina scan images has been removed — any scanner's images can now be downloaded into the Standard-8
This one's been on our radar for a while — a proper way to work across two areas of Greyfinch at once without losing your place.

SplitView is landing in the next few weeks, and it works at two levels.
- At the global level, you can split any tab (a patient chart, the calendar, tasks, or any other area), and place another tab alongside it. Swap sides, rearrange, and open multiple split pairs as needed.
- Inside the patient chart, the same tool applies to chart tabs. Pull up treatment card alongside images, profile alongside assessments, or any combination that suits what you're working on. See everything in context, without jumping between tabs.

A few things you can do with SplitView:
- Split any global tab with another and see both side by side
- Swap left and right, or reverse the layout at any time
- Open multiple split pairs across global tabs
- Split patient chart tabs the same way — treatment card, images, profile, assessments, and more
It removes a lot of back-and-forth from everyday workflows.
Load More
→