Group Meetings - rtCamp/frappe-appointment GitHub Wiki

Group meetings help coordinate discussions involving multiple participants. Follow the steps below to create and share a group scheduling link.

Steps to Set Up a Group Meeting

1. Setup Appointment Group

[!IMPORTANT] Before proceeding with these steps, ensure your Google Calendar is configured.

Steps:

  1. Navigate to Appointment Group Doctype.

image

  1. Click on + Add Appointment Group Button.

image

  1. Fill in the fields as follows:

    • Group Name: A title for the appointment group.
    • Event Creator: Link it to the Google Calendar that should be used to create the events for this group.
    • Members: Add all the members who should be involved in the meeting. Mark Is Mandatory for required members.
    • Publish on Website: Enable this to allow users to schedule meetings from the scheduler page.
    • Ignore All Day Events: Enable this to ignore all-day events when searching for empty time slots.
    • Duration for Event: Enter the duration of the event.
    • Minimum Buffer Time: Enter the minimum buffer time between two events.
    • Minimum Notice Before Event: Number of days from today to show available dates.
    • Meet Link: Enter the meeting link if required.
    • Event Availability Window: Number of days from the start day to show available dates.
    • Response Email Template: Select the email template to send after scheduling.
    • Limit Booking Frequency: Limit how many times this event can be booked per day.
    • Schedule Only Once: Allow only one event to be scheduled using this Appointment Group.
    • Availability Alerts: Alerts members if slots are low.
      • Send Email Alerts: Enable this to track slot availability.
      • Email Template: Select the template to send in case of low availability.
      • Minimum Threshold: Emails will be sent if available slots are less than this value (-1 always sends alerts, default is 2).
      • Email Address: Along with mandatory members, alerts will be sent to this email.
    • Link with Doctype: Link Appointment Group with a doctype to easily send scheduling links from the document.

image

  1. Click Save.

2. Scheduling an Appointment Group Meeting

  1. Navigate to any document of the doctype you selected, and you will see a button group related to Appointment (in our case we have linked Lead doctype).

image

  1. You will see a Schedule button.
  2. Click on Schedule to open a modal:

image

  • Select the Appointment Group (auto-filled if only one is linked).
  • Set the Event Title.
  • Enter the email address of the External Representative.
  1. You can either:
    • Copy Scheduler Link and send it manually.
    • Send Email to notify the representative from ERP.

image

  1. The external user can use the link to select an available slot based on the group's availability, The page will look similar to the one shown below.

image

image


3. Re-scheduling an Appointment Group Meeting

  1. Users can reschedule through the success dialog box after booking.

image

  1. Alternatively, members can provide a Reschedule Link:
    • Navigate to the linked doctype.
    • Click AppointmentsView.

image

  • Select the required meeting.
  • Click Copy Reschedule Link and send it to the user.

image


4. Setting Up Webhooks

Usage

Webhooks allow you to execute custom code after an event is scheduled. Example use cases:

  • Update a field in a doctype based on the booked appointment.

Setup

  1. Ensure you have an HTTP endpoint or a Frappe function to handle the webhook.
  2. The function will receive a JSON object with:
    • event: The scheduled event.
    • appointment_group: The appointment group details.
    • metadata: Additional event details (e.g., subject, participants, email, linked doctype).
  3. Add the webhook to the Webhook field under the Appointment Group.
    • You can enter an HTTP endpoint or the Frappe function path.
  4. Click Save.

image

Important Notes

  • Ensure your function or API endpoint returns a JSON response. If the response fails, the event will not be created.