Adaptive Response Format: Time Picker
A time picker response is a list of available time slots. Currently, time picker response is available for Agentforce Service Agent only.
Required Editions
| Available in: Lightning Experience |
| Available in: Enterprise, Performance, Unlimited, and Developer Editions with Foundations, or Agentforce 1 or Einstein 1 Editions |
Adaptive Response Format Details
| Mapped messaging component | Time selector |
| Supported channels | Enhanced Apple Messages for Business |
Considerations
- You can't customize the mapped messaging component in Messaging Component Builder.
- The time picker response supports the Time Selector messaging component format for enhanced Apple Messages for Business channels. On Enhanced Chat channels, time slots appear as buttons.
To use the time picker format in agent responses, create a custom agent action that returns the required information. For a sample reference action, see the example Apex class.
- Time Slots
- A list of available time slots.
- Message
- Optional. Text sent immediately before the time picker. For example, "Here are the available time slots."
- Reply
- Optional. Text sent after the customer selects a time slot. For example, "Thank you for selecting your preferred time slot."
- Location Name
- Optional. Name of the location associated with the time slots. For example, "Main Office."
- Latitude
- Optional. Latitude of the location.
- Longitude
- Optional. Longitude of the location.
- Radius
- Optional. Radius of the location area in meters.
The Location Name, Latitude, and Longitude fields must be included together.
This Apex class retrieves available time slots for a specified day. It returns the time slots as a list.
Example
public class TimePickerResponse {
@InvocableVariable(label='Time Slots')
public List<String> timeSlots;
@InvocableVariable(label='Message')
public String message;
public TimePickerResponse() {
this.message = 'Here are the available time slots:';
this.timeSlots = new List<String>();
}
@InvocableMethod(
label='Get Time Slots by Day Name'
description='Returns time slots as plain text based on the specified days.'
)
public static List<List<String>> getAvailableTimesForDay(List<String> dayNames) {
List<List<String>> allAvailableTimes = new List<List<String>>();
for (String dayName : dayNames) {
List<String> availableTimes = new List<String>();
String normalizedDay = dayName.trim().toLowerCase();
switch on normalizedDay {
when 'monday' {
availableTimes.add('9:00 AM - 10:00 AM');
availableTimes.add('12:00 PM - 1:00 PM');
availableTimes.add('3:00 PM - 4:00 PM');
}
when 'tuesday' {
availableTimes.add('10:00 AM - 11:00 AM');
availableTimes.add('1:00 PM - 2:00 PM');
availableTimes.add('4:00 PM - 5:00 PM');
}
when 'wednesday' {
availableTimes.add('9:30 AM - 10:30 AM');
availableTimes.add('12:30 PM - 1:30 PM');
availableTimes.add('3:30 PM - 4:30 PM');
}
when 'thursday' {
availableTimes.add('8:00 AM - 9:00 AM');
availableTimes.add('11:00 AM - 12:00 PM');
availableTimes.add('2:00 PM - 3:00 PM');
}
when 'friday' {
availableTimes.add('9:00 AM - 10:00 AM');
availableTimes.add('11:30 AM - 12:30 PM');
availableTimes.add('2:00 PM - 3:00 PM');
}
when 'saturday' {
availableTimes.add('10:00 AM - 11:00 AM');
availableTimes.add('12:00 PM - 1:00 PM');
availableTimes.add('2:00 PM - 3:00 PM');
}
when 'sunday' {
availableTimes.add('11:00 AM - 12:00 PM');
availableTimes.add('1:00 PM - 2:00 PM');
availableTimes.add('3:00 PM - 4:00 PM');
}
}
allAvailableTimes.add(availableTimes);
}
return allAvailableTimes;
}
}
Este artigo resolveu seu problema?
Diga-nos para podermos melhorar!

