In order for Appointly module Email Notifications, SMS Notifications and Pusher live push notifications to work note that:
Introduction to Appointly - Appointments module for Perfex CRM
Installation and upgrade guide for Appointly - Appointments module for Perfex CRM
If you still haven't created my_function_helper.php file, you need to create it and insert your code inside. Example:Appointments external form custom header
/** * Appointments external form custom header */ hooks()->add_action('appointly_form_header', 'my_appointly_form_header'); function my_appointly_form_header() { echo div class="text=center"; echo get_company_logo(); echo div; } Now in your external iFrame form you will have a new header.Adding custom SMS message action hook
hooks()->add_action('send_sms_after_external_appointment_submitted', 'handle_external_appointment_sms'); function handle_external_appointment_sms($appointment_url) { /** * After appointment is submitted via form, choose what phone number will be receiving the SMS message * Your phone */ $phoneNumber = '+18182064114'; /** * Your custom SMS message to receive */ /** * Your custom SMS message to receive * $appointment_url is the url for the new appointment requested from external form */ $smsMessage = 'You have a new appointment request submitted via external form, you can view the appointment at the following url ' . $appointment_url; if ($gateway = get_instance()->app_sms->get_active_gateway()) { $className = 'sms_' . $gateway['id']; get_instance()->{$className}->send($phoneNumber, $smsNotifyMessage); } } Read more here...
The new Service Management System allows you to create and manage different types of services that clients can book. Each service can have its own duration, price, availability, and assigned staff members.
To access the service management system:
The module comes with three pre-configured services that you can use as templates:
When clients book appointments through the external form or client portal, they will now be able to:
The new Analytics Dashboard provides comprehensive statistics and reporting on your appointments, allowing you to make data-driven decisions about your business.
To access the analytics dashboard:
The dashboard requires the "View Reports" permission, which can be assigned to staff members in the permissions settings.
NOTE: This feature does not sync your Perfex CRM calendar events with your Google Calendar. Google Calendar feature will not fetch your current added events to your Google Calendar and implement them into appointments. Google Calendar feature will fetch all busy appointment date / times and add them to your current appointments busy hours internally and externally even when external clients are booking from Perfex CRM external form your Google Calendar busy dates that are already taken will be available and displayed in Calendar datetime picker.
Google calendar feature allows you to choose (checked by default) when you are creating an appointment to add this appointment also to your Google Calendar. Same applies if you delete the appointment previously created in your CRM and it is added to your Google Calendar and if is enabled in Setup->Settings->Appointment (Before appointment is deleted also delete created appointment in your Google Calendar) is set to Yes appointment (event) will be removed from your Google Calendar also and all emails from google connected with your current appointment their event will be deleted from theire Google Calendar also because your appointment is not existing anymore in your Google Calendar. When editing the appointmenet it will be also updated in your Google Calendar
When external appointment is approved before approving if you want to sync / add this appointment to your Google Calendar you can click edit appointment assign more attendees perhaps and click save, appointment will be auto added to your Google Calendar.
Infomation: Every staff member will be able to sync their Google Calendar with Appointly separately and manage their events / appointments with their Google Calendar. All of the above will be applied if you are only CONNECTED to your Google Calendar API
Note: If you already have setup your application with Google APIS & Services and have OAuth credentials you will need only to copy you Client secret and navigate in Setup->Settings->Appointments in your CRM and paste your secret key and click save to save your changes. Assuming that your Client ID is already saved in Setup->Settings->Google if yes it will be fetched from there and applied in Setup->Settings->Appointments, if that is not the case then you will need to copy your Client ID also and insert in Setup->Settings->Google or directly in Setup->Settings->Appointments.
After you have entered your Client ID and Client Secret, you will need to open google console Google Developers Console find your OAuth 2.0 Client IDs and click edit on the same OAuth that you are using for your CRM and add Authorization URLS so your Google calendar can be authenticated directly from your CRM.
OAuth Consent Screen
OAuth Consent Screen Scrolled Down
Scopes
Test Users
First you will need to create a project that will be associated with your Google Calendar API open Google Developers Console
Enter your project name and click create.
After your project is created successfully you will be redirected to APIS & Services. Now you need to enable the Google Calendar API library in the application project you created, to achieve this, click on the top left menu toggle then APIs & Services->Library and search for Google Calendar API, click on the library and then click Enable.
Now your Google Calendar API is enabled, next step will be to create OAuth consent screen for Google Calendar API, in menu sidebar click on OAuth consent screen and click Create.
Now you will need to setup your OAuth consent screen by entering your application name and authorized domains.
OAuth Consent Screen
OAuth Consent Screen Scrolled Down
Publish App
Back To Dashboard
After you are all done with OAuth consent screen now you need to navigate to create credentials for you newly created app.
Now your credentials are created but you need to add authorization and redirect urls for Google Calendar API. Authorization login url can be found in your CRM in Setup->Settings->Appointments
Click on Credentials and click the edit icon on your newly created OAuth Client ID
Firstly navigate in your CRM in Setup->Settings->Appointments and fillout the fields Google Calendar API Client Id and Google Calendar API Secret and click save Now you can click on Appointments and Dashboard in your sidebar menu.
After you click Sign In in your appointments dashboard if you setup your Google Calendar correctly and inserted your credentials correctly you should get something like this. A new popup will be shown to choose your Google account that you will grant access for the application.
After you select your account, probably you will see a message "This app isn't verified", it's your responsibility to ensure that the Project/App you created is verified, you can click here to read more how to verify your application, otherwise click on Advanced then Go to [App Name] (unsafe) just to test this feature for your own account.
The verification process is clearly explained by Google and all the steps how you can verify your app, as Perfex CRM does not hold any data for your company, you will need to verify this on your own as you will use the Google Calendar API.
You are all done and ready to use Google Calendar API, congratulation.
By default Google Calendar events are fetched from the past 12 months starting from current month.
1. After you create an appointment and sync it to your Google Calendar events in appointments dashbaord will be shown small google icon. Note that every user who have synced his appointment with google will be able only to access this link, links will be only shown to the user who have added / created the meeting. If an appointment is submitted via external form when responsible person click edit appointment and saves the appointment, the appointment will be automatically added to your google calendar events if checked.
2. If you want to remove your verified application from your browser or have any login issue with Google Calendar API open https://myaccount.google.com/u/0/permissions and remove your added app and you will be able to sync again. This can happen if you have changed your gmail password recently or removed your application from google apps then loogged in from another PC or maybe haven't been active for 6 months.
Known errors: { "error": "invalid_grant", "error_description": "Token has been expired or revoked." }. About this refer to No.1
NOTE: Outlook API Calendar feature allows each separate staff when appointment is
created via Perfex CRM if checked option for Outlook will be also added to your Outlook calendar, if you
edit or delete the existing appointment
from CRM Apointments it will be also updated directly to your Outlook calendar.
Please follow this guide carefully and step by step how to create your Outlook Calendar API
application and connected Perfex CRM with the same.
Step 1: Go to Microsoft Azure
https://portal.azure.com/#home
Step 2: If you have created an account with Microsoft Azure, enter your credentials to login,
else create an account Step 3: Register you application Step 3: Register you application Step 4: Select like shown in images and click register Step 5: After your application is registered now you need to add a platform and configure the
same. Outlook Authorization and Redirect URI can be found in Setup->Settings->Appointments Step 6: Adding permissions. Click delegated permissions and scroll down and search Calendar Select all Calendar permission values and click Add permissions. Permissions are really not
needed but we will add them just in case the API changes from outlook and they are required and
for the sake of the application and further development. Step 7: After permissions are added and saved you need to go back to overview and copy your
application client (ID) and add it to Setup->Settings->Appointments Outlook Calendar API and
click save. This means that you have successfully configured your Outlook Calendar api and now can be
synchronized with Perfex CRM
It is recommended that you wait 5 min while your API config and URIs to propagate and then try
login and use your Outlook Calendar API
After everything is configured click Sign in to Outlook in Appointments dashboard, a popup window
will shop if you configured the application correctly and will ask for your outlook email and
password. You will be asked to confirm calendar outlook permissions click allow or accept. You
are done, now you can use your Outlook Calendar API. If you sometimes get unexpected crash which can happen rarely but it
can, open your browser console (Chrome CTLR+SHIFT+I or Right click and click inspect) and
navigate to Application -> Storage -> Cookies find your domain name and remove all cookies that
stars with msal. or just remove all cookies and re-login. Another issue that may happen that outlook api doesn't handle well is if
you create a new brand account you API may not work or crash untill you verify your account with
Outlook, by phone number or email. Just keep that in mind if your appointment are not saved in
your Outlook Calendar. Version 1.2.5 - April 15, 2023 Version 1.2.4 - July 25, 2023 Version 1.2.3 - November 3, 2022 Version 1.1.4 Version 1.1.3 03/01/2020 Version 1.1.2 02/13/2020 Version 1.1.1 02/13/2020 Version 1.1.0 01/22/2020 Date published 01/13/2020 Initial release compatible with latest version of Perfex CRM 2.4.1 and PHP
7.X.X
Known errors / bugs:
Screenshots Overview
Appointment Dashboard Widget
Appointment Calendar
Appointment Clients Calendar
Table View
New Appointment
Leads included
Create Task from appointment and Lead
Appointment View
Custom Fields and Email Tracking
Appointment Send Early Reminders, Notes
Appointment Feedbacks
Edit Appointment
Logged In Contact Appointment Request
Appointment Settings, Filters, Types
Appointment External iFrame Form
Appointment Public URL
Appointment Cancelled
Appointment Cancelled
Client Appointment Cancelled
Mobile Ready
Changelog