From Chris Albanese: Scheduler: Add to the information that gets saved to your Outlook / Google Calendar event


If you use Salesforce Scheduler with the Event Management feature and you use Einstein Activity Capture to sync the Salesforce Event Calendar to Outlook or Google Calendar, you can easily control the information that is written from the Scheduler Service Appointment to your Outlook/GCal event.

With a simple flow configuration, you can write your own information to the ServiceAppointment.Comments field. This field is automatically synced to the Event.Description field, which in turn shows up in your Event in Outlook/GCal.

In the 2 screen shots below you can see how account information about our Account for Emily Roebling shows up in the Outlook calendar event for Connie Ruiz, our Service Resource.

Solution Overview

While you can control some of the mapping within the Einstein Activity Capture’s (EAC) settings, I decided to do something with simple flow configurations. Since the Event Description field is already mapped to the Outlook Calendar Notes(body) field, I simply update the event description field in Salesforce, by modifying the Scheduler Flow, and allow EAC to do the rest.

Flow Changes

In summary all I did was add an update records step in the flow to update the Event record with the desired information.

After the Service Appointment (SA) is saved, I added steps to update the SA’s Comments field with a concatenation of what’s already in the field and information I selected from the Account. I also updated the Event’s Description field with the SA Additional Information plus the updated SA’s comments field.

Just as a reminder, Scheduler already maps Additional Information + Comments to the Salesforce Event Description. You might remember that SA.AdditionalInformation contains the WorkTypeGroup.AdditionalInformation that is selected by the user and SA.Comments contains any information entered in the Other field.

In my example, I added a custom field to the Account object called Personal Interests. I updated the Service Appointment Comments and the Event Description with the Account Number field and the Personal Interest field.

Birds eye view: I modified the Outbound New Appointment flow to add several steps after the Save.


  • Verify the SA is owned by an Account
  • Get the Account
  • Update the SA Comment Field
  • Get the Event
  • If found, update it’s Description field

Updating the SA Comments field

In the Update Service Appointment Step I update the SA Comment (api name = Comments) field using this formula. Since the maximum size for the Event Description field is 32000, I include a LEFT function to truncate the field at 32000 characters.

LEFT({!ServiceAppointment.Comments} & 
IF(!ISNULL({!get_Account.Id} ),
' Account Number: ' & {!get_Account.AccountNumber} &
' Personal Interests: ' & {!get_Account.Personal_Interests__c},
''), 32000)

Remember that get_Account comes from the name I used for the get records step on the Account object. Yours should reflect whatever you named this step.

Updating the Event Description field

Since Event Description is a concatenation of ServiceAppointment.AdditionalInformation and ServiceAppointment.Comments, I use a slightly different formula, so we don’t lose the AdditionalInformation field content.

LEFT({!ServiceAppointment.AdditionalInformation} & ' ' & {!formulaComment}, 32000)

where formulaComment is the name of the formula field in the code block above this one.