Deep Dive: How to Connect and Configure Calendly

SMPL System has recently expanded its configuration options for Calendly. In our initial integration, we offered this basic connectivity (accessible via system menu: Admin > API > Connections):

1) Select which forms that will be available to add as links in email/document templates.

2) Form submissions are added to the system as Person/Prospect records. It was not possible to add or connect Event Records to these Person Records.

3) Appointments, along with their notes, were saved as 1-hour Actions in the system, attached to the Person Record.
 

Calendly Connected Forms

Calendly Event Match Mode

Now, we have made the following updates to the Calendly integration:

1) When enabling a form, you open up a series of Stored Procedure options. First, you can select a procedure to run on the Person Record when an appointment is scheduled, and when an appointment is cancelled.

2) EVENT MATCH MODE: Now, you have options to match on an event that is already in your system. Unfortunately, we cannot guarantee that the proper event is selected, since there doesn't exist a direct mapping to a specific event's name and date (remember, with Calendly, you're passing in an Appointment Date and Time, and usually not the Event Date itself unless it's a custom question on your appointment form). Choose from the following algorithms:

a) Match on Soonest Upcoming Event
b) Match on Furthest-in-Future Event
c) Match on Most Recently CREATED Event
d) Match on Most Recent PAST Event

An event is considered a match when either a) the primary client/person connection is matched on email address or b) if no event matching the chosen criteria is found via a client match, then the system tries to find a match off any existing secondary contact field(s) (again, matching on the email address). The primary contact always takes precedence when searching, so if a Person Record is listed as the Client for Event A two weeks out, and they are listed as a Secondary Contact for Event B one week out, and your criteria are to match on the soonest upcoming event, then Event A becomes the matching event. This scenario probably won't occur very often (if at all), but we want you to be aware of exactly how the matching is being done "under the hood".

3) If you choose a matching mode for events, this opens up the ability to select Stored Procedures to run when an appointment is scheduled and when an appointment is cancelled, just like you can select for the Person Record. (You don't even need to run Person procedures; you can opt to run only Event procedures if you wish.)

4) Appointments still save to the Person Record, as before. The only thing we changed here is to save the appointment duration in the Action, instead of hard-coding every one to 1 hour.

5) I know we're going to get asked: can you CREATE an event if a matching event doesn't exist? The answer to this is, yes you could, but not necessarily should.

Here are the options if you want an event created: if you use Zapier, you can establish a connection from Calendly (the "Trigger App") to SMPL (the "Action App") and configure mappings for each appointment type so that an event will always be created. (Let me repeat that: an event will ALWAYS BE CREATED, since the API used by Zapier only inserts new events. It won't update an existing event. We recommend that you only opt to create an event for an appointment/form type that you're fairly sure won't already have an event in the system, and that is consistently your initial point of contact with your potential client.)

The second option is to place a "Create Event Record" process into the PERSON procedure that executes when an appointment is scheduled, and then select "Match on Most Recently CREATED Event" for the Event Match Mode. However, we don't recommend doing this because the newly-created event will only contain the name of the person who created the appointment as its Title/Party Name, and nothing else, unless the Person Record was in the system already and had some "mapped fields" filled in (Event Date, Event Type, etc.). We might be able to construct some field-to-field mappings for events created this way, but it is not available at this time. (Version 3, perhaps??)
 

Lastly, a note on updating your forms: whenever you add a new Calendly form that you want to connect to SMPL or change the name of a connected form, you'll need to go back into your Calendly Config settings in the API Connections tool, make any applicable configuration changes, and re-save them.