Skip to main content
Morf’s scheduling app enables you to create a branded scheduling experience for your patients on top of your existing scheduling service, e.g. Acuity or Healthie, which you can continue to use to manage availability across your providers and appointment types. Morf integrates with your scheduling service to pull availability for specific appointment types and/or providers, and when your patients choose a time slot and confirm the appointment, Morf creates the appointment in your scheduling service. This scheduling experience is currently available as a Morf web app that you can link out to, embed in your own website, or embed in a form building tool like Formsort.

Scheduling View Options

There are different possible views, or layout options, that you can display to your patients. They are:
  • Basic view → Your patients see available time slots, with availability displayed across multiple providers (provider agnostic).
  • Providers view → Your patients see a list of providers, information about the providers, and can view availability across them all at the same time.
  • Provider profile view → Your patients see one provider, their information and availability, and can only book with them.
  • Cancel / Reschedule → Patients can cancel or reschedule an existing appointment.

Configuration

There are two different levels of configuration that allow you to control the scheduling experience for your patients:
  1. Organization level configuration: This configuration applies across all Morf scheduling links that you share or expose to your patients. The Morf team sets up this configuration under the hood on your behalf. For now, the only configuration that happens at this level is the styling of your UI, i.e. colors, typography, border radius, etc
  2. URL configuration: This configuration is done via the URL. Based on the URL and URL parameters, Morf knows what and how to display scheduling information to your patient. This can therefore be adjusted whenever you are composing a new scheduling link.

Steps to get started

  1. Pick your UI design customizations with Morf
    1. Fill out the template that was shared with you in your onboarding checklist.
    2. Share your typeface files with Morf.
  2. Update your scheduling service API Key via the integrations tab at Morf’s admin dashboard.
  3. [If showing provider data] Add your provider data, based on the documentation.
  4. [Talk with Morf team] Compose your direct scheduling links by following directions, or reach out to the Morf team and they can generate a link for you based on your preferences
  5. [Talk with Morf team] Integrate Morf’s scheduling in your flow

FAQ

Are the pages optimized for all device sizes?

Yes, the scheduling pages are responsive, automatically adjusting to different screen sizes for a smooth experience on desktops, tablets, and smartphones.

How do I pass custom data through the scheduling URL?

There are two ways to pass custom data to the scheduling app, which will be available in your workflows via the event_data field: Option 1: Pass custom JSON data For completely custom data structures, use the metadata parameter with a URI-encoded JSON payload. First, prepare your metadata in the browser console:
JSON.stringify({
  form_name: 'Test Form',
  form_type: 'Intake',
});
// Returns: '{"form_name":"Test Form","form_type":"Intake"}'

encodeURIComponent('{"form_name":"Test Form","form_type":"Intake"}');
// Returns: '%7B%22form_name%22%3A%22Test%20Form%22%2C%22form_type%22%3A%22Intake%22%7D'
Then use the encoded string in your iframe URL:
<iframe
  src="https://scheduling.morf.dev/schedule?morfOrgId=your-org-id&metadata=%7B%22form_name%22%3A%22Test%20Form%22%2C%22form_type%22%3A%22Intake%22%7D"
></iframe>
All fields from the metadata will be available in your workflow’s event_data:
  • event_data.form_name - “Test Form”
  • event_data.form_type - “Intake”
Option 2: Extract parent page URL parameters Use the parent_url parameter to automatically extract URL parameters from the parent page. This is useful when embedding in an iframe. For example, if your parent page is https://yoursite.com/book?form_name=Test%20Form&form_type=Intake, you can construct the iframe URL like this:
<iframe
  src="https://scheduling.morf.dev/schedule?morfOrgId=your-org-id&parent_url=https%3A%2F%2Fyoursite.com%2Fbook%3Fform_name%3DTest%2520Form%26form_type%3DIntake"
></iframe>
The parameters from the parent URL (form_name and form_type) will automatically appear in your workflow’s event_data, along with special fields:
  • event_data.parent_referrer_url - Full parent page URL
  • event_data.parent_referrer_domain - Parent page domain
  • event_data.form_name - “Test Form”
  • event_data.form_type - “Intake”