Default behavior of the Salesforce package


When you schedule or cancel a meeting, Calendly sends meeting data to Salesforce. Salesforce creates a new CalendlyAction record, which triggers the default CreateEvent flow or CancelEvent flow to run.

The installed package comes with the following default behavior for scheduled, canceled, and rescheduled meetings.

Scheduled meetings

When a meeting is scheduled through Calendly, a few different actions take place:

1. Salesforce checks for an Salesforce ID (SFID) or the invitee's email.

Salesforce checks to see if the Calendly event data contains a SFID.

An SFID is the unique ID of the record in Salesforce. You can add a SFID to the end of your scheduling link to connect a booking to a record. For example,

  • If the meeting data contains an SFID, then Salesforce will add an event to the record that matches the SFID. Matched records in SFDC include Account, Opportunity, Case, Contract, Campaign, Contact or Lead.
  • If the meeting data does not contain an SFID, then Salesforce will use the invitee’s email address to determine where to save the meeting details, either under an existing lead/contact or under a new lead.

2. If an invitee already exists in Salesforce, then Salesforce will add the event to the existing lead or contact.

  • If Salesforce finds a record for the invitee, Salesforce will add an event record to either the lead or contact associated with the invitee's email address.
  • The lead or contact owner will stay the same. 

3. If an invitee does not exist in Salesforce, then Salesforce will create a new lead and event. 

  • If Salesforce does not find a matching record, Salesforce will create a new lead record and will add an event record to this new lead.



4. Salesforce will attach the attribute CalendlyCreated to leads created by Calendly.

You can run a Salesforce report on the CalendlyCreated attribute to view all leads created by Calendly.

Event and lead ownership

  • Salesforce will assign new events and new leads to the Calendly user.
    • If the Calendly user's email address does not match their Salesforce email, then Salesforce will assign the owner of the records to the Salesforce System Administrator.
  • For existing leads and contacts, the lead or contact owner will stay the same.



Canceled meetings

When a meeting is canceled:

  • Salesforce updates the existing event title and description with the word Canceled.
  • The CancelEvent flow does not remove the event; however, the flow is customizable and can be modified to delete the event record with the help of a Salesforce Administrator.

Rescheduled meetings

When a meeting is rescheduled

  • Salesforce updates the canceled event record.
  • You can display the rescheduled details by editing the page layout.
  • The rescheduled event will still have "canceled" in the title. A Salesforce Administrator can customize the CancelEvent flow to change the default title. 

Note: Calendly does not pass rescheduled data when using the v1.XX package. 

Routing Forms 

As of version 2.4, we introduced the ability to sync Calendly routing form responses directly to Salesforce, allowing admins to create and update records when a routing form is submitted. For additional information, check out: Syncing Calendly routing form responses to Salesforce.


To use a Salesforce ID in a routing form submission for looking up existing records, append "?salesforce_uuid=<ID>" to the end of your routing form link. This will store the Salesforce ID in the SalesforceId field on the CalendlyRoutingFormSubmission record.