This article gives instructions for updating SUMO’s Send Email flow to use a different from address based on the SUMO Scheduling process that was used to create the appointment or event.
Through Salesforce functionality add all the from addresses as Organization Wide email addresses within your Salesforce environment. Check out this Salesforce help article to learn more about org-wide emails.
Clone the ‘Send Email’ managed SUMO flow
Follow the steps below to update the flow.
Step 1: Add Element to find the Salesforce event that was created.
This element is looking at the SUMO Email record that was created to find the Salesforce Event ID that is stored in the sumoapp__Relation__c field.
Click (+) to add element between Start and Action
Select Get Records element
Label: findEvent
Object: Event
Conditions: All Conditions Are Met (AND)
Field: ID = {!$Record.sumoapp__Relation__c}
Step 2: Add Element to find the SUMO Additional Info record.
This element is looking at the Salesforce Event record that was found by findEvent to find the SUMO Additional info record that is related to that event.
Click (+) to add element between findEvent and Action
Select Get Records element
Label: findAdditionalInfo
Object: SUMO Additional Info
Conditions: All Conditions Are Met (AND)
Field: ID = {!findEvent.sumoapp__AdditionalInfo__r.Id}
Step 3: Add Element to decide which scheduling process was used to schedule the appointment of the event.
This element is being used to define what criteria determines which scheduling process was used to create the appointment or event.
Click (+) to add element between findAdditionalInfoand Action
Select Decision element
Label: We recommend that you name it the name of the process.
Conditions: All Conditions Are Met (AND)
Resource: {!findAdditionalInfo.sumoapp__Process__r.sumoapp__Name__c} = (enter the name of the process)
Step 4: Copy the Send Generated Email Action
In this example we have 4 possible outcomes for paths that the event or appointment can take to determine which from address to use for the SUMO Email Notifications being sent. You will need to copy the action and paste it 3 times, once for each path. Image shown below.
Click on the Action and select Copy Element
Click (+) under each path and select Paste 1 Element
Edit each pasted action by double clicking on the action icon
Label: Add the process name to the beginning of copied name
Click on the include toggle for both:
Sender Email Address
Populate this with the Email address that you would like to use for this path.
Sender Type:
Populate this with: OrgWideEmailAddress
One complete it should look like the image below.
Step 5: Activate the flow and test it out to confirm that it works as expected. Don’t forget to deactivate SUMO original Send Email flow.
Image of completed modification for this example is shown below.
There are 2 types of appointment links, those created when you use Email an Invite functionality and those created when you create a personal appointment link. The only difference is that for the link created through Email an Invite you pre-define the participants.
When creating an Appointment Link through automation you will need to create records for 2 different objects.
SUMO Appt Links (Invite__c)
Invite Attendee (InviteAttendee__c)
Invite Field Mapping
The field mapping shown below are the fields that are required to be populated in order for the functionality to work correctly. There are additional fields that you can map to, depending on what you are doing and which options/features you are using. Recommendation is to create a link through SUMO functionality that mirrors what you are trying to automate and take a look at the invite record that SUMO creates. This will reduce the number of revisions in your automation.
Field Label
Field Api Name
Field Type?
Field Details if not custom?
Process #
Process__c
Lookup(Scheduling Process)
ID of the process created for INVITE LINKS
Appointment Type
sumoapp__AppointmentType__c
string (255)
This is populated with Text if you are not referencing a Service ID in the Service field
(Appointment Title)
Service
sumoapp__Service__c
Lockup (SUMO Service)
Service ID
Host ID
Organizer__c
Text(18)
ID of SUMO User that will host the appointment
Primary Participant
PrimaryClient__c
Text(18)
ID of lead/contact for the Primary Participant
Duration Options
sumoapp__DurationOptions__c
picklist (255)
60 or whatever duration in mins
Record Type
RecordTypeId
Record Type
Id of “Invite Link” record type for Personal Links
Id of “Appt Link” record type for Email an Invite
Location
Location__c
Lookup(SUMO Location)
Id of the Location Record
Location Type
LocationType__c
textarea (255)
IN_PERSON
Location Details
sumoapp__LocationDetails__c
string (255)
Address for in-person
Phone Number if Phone appt
Invite Link
sumoapp__InviteLink__c
Text Area(255)
Syntax as follows:
<Site Base URL from sumoapp__Process__r.sumoapp__SiteUrl__c> &”/s/invitemanager?inviteid=”&id
Time Option
AvailabilityOption__c
Text Area(255)
“OPEN”
Attendee Field Mapping
The field mapping shown below are the fields that are required to be populated in order for the functionality to work correctly.
Note: When automating creation of SUMO Appt Link you only need to create the record for the Host. Additionally you will need a record for all participants, if you are adding more than one when automating Email and Invite.
If you are using SUMO Iframe code for an online scheduling process and are receiving an error, please first try the following troubleshooting steps to resolve the issue.
Modify SUMO community security settings
Navigate to Setup – All Sites
Click on Builder next to the SUMO CEP site
Click on the Settings Gear
Click on Security & Privacy
Change the Clickjack Protection settings to “Allow framing by any page (no Protection)
Modify SUMO’s site details clickjack settings
Navigate to Setup – Sites
Click on the SUMO CEP site
Click the Edit button
Change Clickjack Protection Level to “Allow framing by any page (No Protection)”
Click Save
Error Examples
How can I redirect the customer once the booking is complete when using an Iframe?
If you are using SUMO Iframe code for an online scheduling process and would like to redirect the customer to another page after they complete the booking, you will need to add the EventListener code below to your site.
window.addEventListener(‘message’, function (e) {
// check message origin to avoid cross-site scripting attacks
if (e.origin !== ‘POPULATE YOUR ORIGIN HERE’) {
return;
}
// data format: {event: ‘eventsaved’, detail: {sumoId, clientId}}
SUMO Scheduler allows you to pass parameters into the Instant Booker (aka “New Appointment” button) or “Email an Invite” button.
Parameters for Instant Booker and Email Invite
Which button are you trying to pass data into?
New Appointment: The parameter for this action is sumoapp__type=ScheduleNow
Email an Invite: The parameter for this action is sumoapp__type=EmailInvite
You may also pass in one or more of the following parameters. Please note that we require the 18 digit version of all ID that you pass in.
Appointment Type: This is used to pass in the ID for the SUMO Service record that you have defined.
sumoapp__whatId=[ServiceId]
Location Type:. This is used to auto-select the type of appointment. With SUMO you have three different location type options as shown below. Each with its own parameter definition as outlined below.
Video Conference = sumoapp__whereType=VID_CONFERENCE
Phone = sumoapp__whereType=PHONE
In Person = sumoapp__whereType=IN_PERSON
Location Record: This is used to pass in the ID for a specific SUMO Location record that will be auto-populated in the Location field when you click the button.
sumoapp__whereId=[LocationId]
Phone Detail: This is used to pass in a value to the phone details field on the SUMO appointment scheduler.
sumoapp__whereDetails=[Any PhoneNumber]
Host: This is used to pass in the ID for a specific SUMO Host (User), which will be auto-populated on the SUMO Scheduling page when you click the button.
sumoapp__whoId= (User Id )
Host: This is for the person hosting the meeting.
sumoapp__primaryParticipantId=[leadId or contactId]
Primary Participant: This is used to pass in the ID of that Primary Participant.
sumoapp__whoId=[Resource Pool Record Id]
Resource Pool: If you want to pass a resource pool.
Follow the instructions below to create a new button and construct the URL
Navigate to Setup – Object Manager
Go to the object where you would to create the new button
Auto-Populate Service & Location on “New Appointment” Button
Let’s assume that you want to replace the out-of-box SUMO “New Appointment” button on the Lead page, with a custom “New Appointment” button that passes in the following parameters automatically, so your SUMO Users do not have to manually populate these fields.
Dynamic Service
In this example, you will create a custom formula field on the Lead Object that does some basic IF/THEN logic on another field to determine which SUMO Service (Appointment) to automatically select. For example, if an existing Lead Field called “Prospect Interest” had a picklist selection of = “Service A Demo”, then your formula should produce
sumoapp__whatId=[ServiceId]
Dynamic Location
If the prospect stated they want a Video Conference, then auto-populate the sumoapp__whereType=VID_CONFERENCE
If the prospect stated they want a Phone Call, then auto-populate the sumoapp__whereType=PHONE
You will add the following parameter and append the data that you want to pass.
/lightning/cmp/sumoapp__inviteManagerCmp?sumoapp__relatedRecordId=[Lead, Contact, or Person Account ID]&sumoapp__type=ScheduleNow&sumoapp__whatId=[ServiceId]&sumoapp__whereType=VID_CONFERENCE
Passing a Host or Resource Pool
A Who ID can be used if you wish to pass an appointment host or a resource pool.
You will add the following “sumoapp__whoId=”
=” and append the Who Id you want to pass.
The link should look similar to this:
/lightning/cmp/sumoapp__inviteManagerCmp?sumoapp__relatedRecordId=00Q3h00000AV3pqEAD&sumoapp__type=ScheduleNow&sumoapp__whoId=[Your Who ID]
/lightning/cmp/sumoapp__inviteManagerCmp?sumoapp__relatedRecordId=00Q3h00000AV3pqEAD&sumoapp__type=ScheduleNow&sumoapp__whoId=[Resource Pool Record Id]
Within SUMO CEP, developers can override page styling with CSS. This will give you the ability to style your customer facing pages differently if you choose to.
You can apply unique styling to each Online Scheduler or Single Page Online Scheduler (via Invite Manager Template).
How do I apply CSS styling to an Online Scheduler?
Go to SUMO Admin Settings | Online Scheduler | Click Edit next to the Online Scheduler you wish to update. Then scroll to the Branding Section, there will be a field labeled CSS. Here you can enter your own custom styling for the Online Scheduler using the page references below.
online-scheduler-portal-client-info (Contact / Lead Form) – .client-info-page
How do I apply CSS styling to an Invite Manager Template?
Go to SUMO Admin Settings | Invite Manager | Click Edit next to the Invite Manager Template you wish to update. Then scroll to the Branding Section, there will be a field labeled CSS. Here you can enter your own custom styling for the Invite Manager using the page references below.
How do I apply CSS styling to an Event Scheduler Template?
Go to SUMO Admin Settings | Event Scheduler Templates | Click Edit next to the Event Scheduler Template you wish to update. Then scroll to the Branding Section, there will be a field labeled CSS. Here you can enter your own custom styling for the Event Scheduler Template using the page references below.
SUMO Scheduler has two Online Appointment Schedulers, which you can pass ID parameters into:
#1 = “Online Scheduler”
The Online Appointment Scheduler, is a multi-step process which may be deployed in a popup, iframe, or as a microsite.
#2 = “Single Page Online Scheduler”
This is the single page online scheduler, which is generated from the Appointment Links feature.
How to Pass IDs into the “Online Scheduler”
The following ID’s can be passed into the URL of the Online Scheduler:
Template ID = processId
Location Type = locationType
IN_PERSON
VID_CONFERENCE
PHONE
Location ID = whereId
Lead, Contact, or Person Account ID = clientId
User ID = whoId
When passing a Who Id for a Resource Pool, the Assignment Mode selected on the Resource Pool will be used instead of the Online Scheduler’s Assignment Mode. Rescheduling Appointments created with this method will use the Resource Pool Id to choose a New Host.
Service ID = whatId
IMPORTANT:
Online Scheduler: To pass an ID, you’ll need to start with the URL of the Online Scheduler, which can be found by going to SUMO Admin Settings > Online Scheduler, click Edit next to the proper Online Scheduler, and copy either of the URLs found on the Global Tab under “Scheduler Links (URLS)”.
Examples
Passing a Template
To pass a Template ID, you’ll take the URL you copied. Put it into a text editor (Notepad, Notepad++, etc.) and paste your base URL there.
To relate an object to the Appointment, you’ll take the URL you copied. Put it into a text editor (Notepad, Notepad++, etc.) and paste your base URL there.
You can use this to relate the Appointment to a Standard (Account, Opportunity, Case, etc) or Custom Object Record.
To ensure that the record is properly related, the Site Guest User for the Online Scheduler will need to be able to see this record (Read Access & Sharing Rules.)
HOW TO USE PARAMETERS TO PRE-POPULATE FIELD VALUES FOR THE ONLINE SCHEDULER
You can pre-populate fields on the Online Scheduler for any fields added from the Lead, Contact, or Person Account Objects, by passing the parameters into the Online Scheduler (URL).
The following field types are supported:
Lookup
Checkbox – (This does not apply to the Checkbox related to sending the Text Reminder on the Single Page Online Scheduler.)
Date
Date/Time
Email
Number
Percent
Phone – (This does not apply to the Mobile Phone Number field on the Single Page Online Scheduler.)
Picklist
Text
Time
URL
Example
STEP 1: Start with the URL
Create or go to an existing Online Scheduler process and copy or launch the URL.
STEP 2: Construct your Parameters
Navigate to SUMO Admin Settings > Lead Tab (or Contact Tab)
Parameters should be in the format A{field-order-number} or a{field-order-number}
For example, in the screenshot above, you can see that the Contact “First Name” field is Order 2, whereas, “Last Name” field is 3. Therefore, the parameter you would pass in, would be: &A2=John or &a3=Doe
Note: In other words, the field-order-number is the field order position on the Admin Page.
Since the Admin can only add up to 10 fields on the “Online Scheduler”, then you may not pass more than 10 parameters in the URL.