Documentation

Everything you need to set up HopeDesk for your clinic — what it does, what it costs, and how to do the common tasks.

Overview

HopeDesk is a multi-tenant appointment scheduler built specifically for nonprofit pregnancy resource centers. Your clinic gets a warm, branded online scheduler to embed on your own website, plus a dashboard to manage availability, appointments, contacts, and automated emails — with walk-in and phone bookings all in the same place. It is intentionally affordable, and it never stores medical or diagnostic data.

Features

  • Branded embeddable widget

    A button-launched popup or inline scheduler, themed with your logo and colors, that you paste onto your own website with one snippet.

  • Smart availability

    A month calendar with color-coded days (available, limited, full). Set recurring weekly hours with a capacity per slot and add blackout or custom-hours dates.

  • Rooms & resource scheduling

    Base availability on the clinic as a whole, on each appointment type, or on rooms. Assign types to rooms, and bookings are auto-assigned to a free room behind the scenes.

  • Appointment types & custom fields

    Define the kinds of visits patients can book, and add a few custom intake questions to the booking form.

  • Automated email notifications

    Build confirmation and reminder emails that send automatically — immediately, or a set time before/after each appointment — personalized with merge tags.

  • Status-based automations

    Trigger an email when an appointment's status changes — e.g. email a no-show a reschedule link an hour later. The status is re-checked right before sending, so if they reschedule first, it won't go out.

  • Automatic no-shows

    If a patient isn't checked in within 20 minutes of their start time, HopeDesk marks them a no-show — which can kick off your no-show automation.

  • Walk-in & phone booking

    Front-desk staff book walk-in and phone appointments into the very same calendar, so everything lives in one place.

  • Calendar + live schedule

    A week or month calendar sits above your appointment list (which defaults to today). Past appointments grey out automatically and the next one up is highlighted, so you always see who's coming.

  • Front-desk actions

    From each appointment's actions menu, check a patient in, confirm, mark completed or no-show, reschedule, or cancel — in one click.

  • Lightweight contacts

    A simple, non-clinical contacts list with each person's appointment history and a staff notes log (who wrote what, and when).

  • Reports

    See how your clinic has been used over any time range — appointment volume, no-show rate, booking sources, top appointment types, people seen, and pregnancies saved. Built for board and donor reporting.

  • Text (SMS) reminders

    Send text reminders and updates alongside your emails. Patients opt in on the booking form, and you write a short text version of each message; replies of STOP opt them out automatically.

  • Self-serve reschedule & cancel

    Patients manage their own appointment from a secure email link — no account required.

  • Custom confirmation screen

    Set the thank-you message shown right after booking and add reminders (e.g. “bring a photo ID”) that appear on the confirmation screen.

  • Staff accounts & roles

    Invite teammates as admins or staff with email + password login.

  • Multiple locations, your domain

    Run separate availability per location, remove HopeDesk branding, and use your own custom domain.

Free for nonprofits

HopeDesk is free to use for nonprofit pregnancy resource centers — no plans, no per-seat fees, and no credit card. Every feature is included, made possible by the generosity of our donors.

Support this work →

Getting started

  1. 1Sign up — the person who signs up becomes the admin. It's free for nonprofits.
  2. 2Complete onboarding (clinic name, booking address, brand colors, logo, time zone) and you're ready to take appointments — no card required.
  3. 3Add your appointment types under Setup → Appointment types.
  4. 4Set your weekly availability under Setup → Availability.
  5. 5Grab your embed snippet under Setup → Embed widget and paste it on your website.

Setting your availability

  1. 1Go to Availability and choose what availability is based on: Clinic-wide (one schedule for everything), By appointment type, or By room (the last two are Pro).
  2. 2For each day of the week, add time blocks with a start/end time, slot length, and capacity (how many fit in one slot).
  3. 3By appointment type: pick a type and set its own hours — great when, say, ultrasounds are only offered certain days.
  4. 4By room: add your rooms, choose which appointment types each room can host (leave unchecked to allow any), and set each room's hours. Bookings are auto-assigned to a free room — a time is open whenever any qualifying room is free.
  5. 5Use “Copy Monday → Tue–Fri” to apply the same hours across weekdays quickly.
  6. 6Add date exceptions for holidays (closed all day) or one-off custom hours.
  7. 7Save — your public calendar updates immediately.

Adding the scheduler to your website

  1. 1Open Setup → Embed widget. You'll see options with your slug pre-filled.
  2. 2Optional: pick an Appointment type so the button books that service directly (e.g. a “Pregnancy Test” button on that page) — visitors skip choosing. Leave it on the main form to let them pick.
  3. 3Set the button text (defaults to “Schedule an Appointment”) — the live preview updates as you type.
  4. 4Popup (modal): paste the snippet wherever you want the button.
  5. 5Inline: paste the snippet where you want the scheduler embedded directly in the page; it resizes itself.
  6. 6Direct link: share the link in emails or social bios to send people straight to your scheduler.
  7. 7Use the live preview to confirm it looks right before publishing.

Multiple locations

  1. 1Add locations under Setup → Settings. Switch which one you're editing with the location picker in the top bar.
  2. 2New locations start by inheriting everything — services, availability, custom fields, communication, and FAQs — from your main location, so you don't set them up twice.
  3. 3To make a page different for a location, use the toggle at the top of that page (or the dropdown if you have several locations). Turning it off copies the current settings in as a starting point, then you can edit them just for that location.
  4. 4Leave the toggle on to keep a page in sync — changes to the source location flow through automatically.
  5. 5On the embed page you can generate a button/snippet for a specific location, so that page's scheduler skips the location picker.

Adding FAQs

  1. 1Go to Setup → FAQs and turn on “Show FAQs on your booking widget.”
  2. 2Add questions and answers — like “What should I bring?” or “Is this free?” — to help visitors know what to expect.
  3. 3Choose where each FAQ shows: “All appointments (clinic-wide)” to show it everywhere, or a specific appointment type to show it only for that visit (alongside your clinic-wide ones).
  4. 4Once enabled, visitors see a “Have questions? Check our FAQs” link on the first booking screen and a “Read our FAQs” button on the “You're all set” screen — clicking either opens the FAQs right inside the widget.

Customizing communication

  1. 1Every clinic starts with a few ready-made messages — a booking confirmation, a 1-day reminder, and a no-show follow-up. Edit, pause, or delete them under Setup → Communication.
  2. 2Each message shows which channels it uses — an Email tag, and a Text tag when it also sends by SMS. To add your own, go to Setup → Communication and click Add notification.
  3. 3Pick the trigger: when the appointment is booked, or when its status changes to a value you choose (e.g. no-show). Status triggers are re-checked just before sending, so they won't fire if the status changed again.
  4. 4Choose who it's for (the patient, your staff, or specific emails) and which appointment type it applies to.
  5. 5Choose when it sends: immediately, or a number of minutes/hours/days before or after the appointment.
  6. 6Write the subject and body, inserting merge tags like {{contact_name}}, {{appointment_time}}, and {{manage_link}}.
  7. 7Add {{confirm_cancel_buttons}} (used by the default reminder) for green “Yes, I'll be there” and red “Cancel or reschedule” buttons — confirming marks the appointment confirmed; cancelling opens the manage screen.
  8. 8On Pro, toggle “Also send this as a text message” to add a short Text version. It sends alongside the email to patients who provided a phone number and opted in (prechecked on the booking form). Don't want texts on a message? Just toggle it off — the email still sends. Texts are capped at 2 messages, and replying STOP opts a patient out.
  9. 9Use the live preview to see the merged result, then save. Booking confirmations send immediately; reminders send on schedule.
  10. 10When a patient replies to an email, it goes to your clinic's reply-to address (set under Settings → General).

Booking a walk-in or phone appointment

  1. 1Click “New appointment” from the dashboard or Appointments page.
  2. 2Mark whether it was booked by phone or as a walk-in.
  3. 3Enter the contact's name and email/phone — we'll automatically link to an existing contact if it matches.
  4. 4Pick the type, date, and time (or enter a custom time for walk-ins outside normal hours), then create it.

Managing appointments

  1. 1Open the Appointments screen: a week or month calendar sits on top, with the day's list below (defaulting to today).
  2. 2Click any day in the calendar to view that day; toggle the calendar between week and month.
  3. 3Past appointments are greyed out and the next upcoming one is highlighted in real time.
  4. 4Use a row's actions menu to check the patient in, confirm, mark completed or no-show, reschedule, or cancel.
  5. 5If a patient isn't checked in within 20 minutes of their start time, they're marked a no-show automatically.
  6. 6Rescheduling and cancelling re-sync pending reminder emails automatically; patients can also self-manage from their email link.

Managing contacts

  1. 1Go to Contacts to search by name, email, or phone.
  2. 2Open a contact to edit their details or non-clinical notes.
  3. 3Review their full appointment history in one place.
  4. 4Add staff notes on a contact — each is stamped with who wrote it and when, so your team shares context.

Reading your reports

  1. 1Go to Reports and pick a time range (last 30 days, this month, this year, or all time).
  2. 2See appointment volume, no-show rate, booking sources, top appointment types, and unique people seen.
  3. 3To track pregnancies saved: open an appointment and check “Pregnancy saved.” The count appears on this page — handy for board and donor reporting.

Working with multiple locations

  1. 1Add locations under Settings → Locations (multiple locations are a Pro feature).
  2. 2When you have more than one, a location switcher appears in the header on every dashboard page.
  3. 3Switching changes which location's calendar, schedule, and availability you're viewing.
  4. 4Click the star next to a location to make it your default — it's what you'll see each time you log in. Each staff member sets their own.

Branding your scheduler

  1. 1Go to Settings → Branding.
  2. 2Set your primary and accent colors and booking button text, and upload your logo (or paste an image URL).
  3. 3Use the live preview to fine-tune, then save — your public widget updates to match.
  4. 4Under Settings → After-booking screen, set a custom confirmation message and add reminders (one per line, e.g. “bring a photo ID”) that show right after someone books.

Inviting staff

  1. 1Go to Staff (admins only) and send an invite by email.
  2. 2Choose their role: admin (full access including settings) or staff.
  3. 3They'll get a link to set a password and join your clinic.
  4. 4Forgot a password? Use the “Forgot?” link on the login page to get a reset email.