Date Time: selector de fechas y franjas horarias para Salesforce
Elige varias fechas, arrastra las horas y guarda cada bloque horario en tus propios registros de Salesforce. Un selector de franjas horarias para citas, turnos y entrevistas, configurado en un asistente.
O prueba ya la demo en vivo, sin iniciar sesión →Cuadrícula de franjas horarias, horas por fecha, sin reservas duplicadas y con colores de estado. Funciona en flujos de pantalla y Experience Cloud, sin Apex.
Salesforce tiene un campo de fecha y un campo de hora. No un selector de franjas horarias.
Date Time convierte «estos cuatro días, de 9 a 12» en cuatro registros con un solo guardado.
| Lo que necesitas | Salesforce estándar | Con Date Time |
|---|---|---|
| Muchas fechas, un solo horario | ✗Un registro cada vez | ✓Clic, arrastre o un patrón recurrente |
| Elegir la hora de forma visual | ✗Escribir en un campo de hora | ✓Arrastrar sobre una cuadrícula de franjas |
| Horas distintas cada día | ✗Editar cada registro | ✓Una cuadrícula para cada fecha |
| Sin reservas duplicadas | ✗Reglas de validación o Apex | ✓Franjas ocupadas en gris |
| El estado de un vistazo | ✗Abrir cada registro | ✓Colores en fechas y franjas |
| Configurarlo | ✗Un desarrollador y un LWC a medida | ✓Asistente de configuración con clics |
Por qué es más difícil de lo que parece: cómo crear un selector de franjas horarias en un calendario de Salesforce.
El selector de franjas horarias
Fechas arriba, horas debajo. Haz clic o arrastra sobre las franjas; cada tramo de franjas seguidas se guarda como una sola reserva.
- Elige fechas
- Arrastra horas
- Define el estado
- Guardar
Cuadrícula o lista desplegable
Horas comunes o por fecha
Dimensiona el día
- Time Interval: cualquier intervalo (lo habitual es 15, 30 o 60 minutos)
- Earliest / Latest Time: de 08:00 a 18:00 por defecto
- Enable End Time (Activar hora de fin): registra un inicio y un fin
Pensado para programar citas y turnos de verdad
Cada uno de estos es un ajuste, no una personalización.
- Detalles al pasar el cursor
- Segunda lista de selección
- Vista de dos meses
- Fechas bloqueadas
- Nombres de registro automáticos
- Mensaje dentro del componente
- 9 idiomas
Vista Semana: cada hora a la vista, no solo cada fecha
Las reservas se dibujan con la altura de su duración. Los mismos registros y el mismo guardado; solo cambia la presentación.
| Vista (View) | Ideal para |
|---|---|
| Semana | Entrevistas, citas, horas de atención. Arrastra a lo largo de los días y de las horas a la vez. |
| Calendario | Primero el día, después la hora. La predeterminada. |
| Agenda | Los próximos 60 días como lista, con hora de inicio y de fin. |
| Línea de tiempo | Fechas en horizontal, registros en vertical. Bloques de varios días como barras. |
| Ocupación | Mapa de calor de capacidad. Combínalo con Booking. |
Dos ajustes. View elige la presentación inicial; Available Views (Vistas disponibles) define el selector de vistas, p. ej. calendar,week,agenda. Earliest y Latest Time también limitan la cuadrícula semanal.
Casos de uso de un programador de franjas horarias en Salesforce
Quince formas en que los equipos usan Date Time, y los ajustes que hacen funcionar cada una.
Programación de entrevistas
Franjas distintas en días distintos, con color según el resultado.
- Franjas de 30 min
- Horas por fecha
- Colores de estado
Reserva de citas
Solo en horario comercial, sin solapamientos.
- Bloquear conflictos
- De 08:00 a 17:00
- Inicio y fin
Programación de turnos
Un registro de turno por día, con un solo arrastre.
- Franjas de 60 min
- Periodos
- Hora de fin
Ventanas de mantenimiento
02:00, 03:00 y 04:00 pasan a ser una sola ventana de 02:00 a 05:00.
- Intervalo consolidado
- Bloquear conflictos
Franjas de entrega
Un selector de hora sencillo para cada fecha de entrega.
- Lista desplegable
- Horas por fecha
Citas en clínicas
Franjas cortas, con las reservadas en color.
- Franjas de 15 min
- Carga lo existente
- Estado en la cuadrícula
Programación de llamadas de vuelta
Los agentes programan llamadas a clientes sin choques.
- Franjas de 30 min
- Bloquear conflictos
- Nombres automáticos
Incorporación de clientes
Ocho sesiones semanales en dos clics.
- Patrón recurrente
- Nombres automáticos
Clases de formación
Bloques de mañana y de tarde, con la comida guardada como pausa.
- Horas por fecha
- Sub-bloques
Solicitudes de demo
Los clientes potenciales eligen una franja en tu sitio; las ocupadas salen en gris.
- Experience Cloud
- Existentes en solo lectura
Programación de QBR
Revisiones de 90 minutos en torno al cierre de trimestre.
- Vista de dos meses
- Colores de estado
Visitas a inmuebles
Franjas de visita libres, reservadas y retenidas, por color.
- Cuadrícula horaria
- Estado en la cuadrícula
Franjas de despacho
Trabajos de campo encajados en franjas horarias cada día.
- Franjas por horas
- Hora de fin
Inscripción a webinars
Un registro de inscripción por cada sesión elegida.
- Lista desplegable
- Permitir solapamientos
Sesiones de congresos
La ponencia principal y los talleres de cada día como un registro con detalle.
- Sub-bloques
- Periodos
Más a fondo: programación de entrevistas en Salesforce y selección de personal y programación de turnos.
Cómo se guardan los registros: tu objeto, tus campos
Un objeto secundario con un campo Date, uno o dos campos Time y una búsqueda al registro principal. El asistente los muestra en listas desplegables.
| Campo de tu objeto | Tipo | Ajuste del asistente / App Builder |
|---|---|---|
| Fecha de la cita | Date | Campo de fecha (Date Field API Name) |
| Hora de inicio | Hora | Start Time Field API Name |
| Hora de fin | Hora | End Time Field API Name |
| Contacto (principal) | Búsqueda | Campo de relación (Relationship Field API Name) |
| Estado opcional | Lista de selección | Campo de estado (Status Field) |
| Fecha de fin opcional | Date | End Date Field API Name |
Guardado que solo añade. Guardar inserta registros nuevos y nunca elimina los existentes. Load Existing Dates (Precargar fechas existentes) muestra lo que ya está reservado, editable o en solo lectura.
Añádelo a una página Lightning
En Lightning App Builder, arrastra MultiDatePick - Dates & Times a la página y define Config Name.
| Página | Qué configuras |
|---|---|
| Página de registro | Config Name (Nombre de configuración). El registro de la página es automáticamente el registro principal. |
| Páginas de aplicación, de inicio y de Experience Cloud | Config Name más Static Parent Record Id: el registro al que pertenecen las horas. |
| Experience Cloud | Activa también Show In-Component Toast para que los visitantes vean el guardado. |
Ordenado tras guardar. Con Show Inline (No Button) y Show Done Button in Inline Mode activados, Listo contrae el selector en una tarjeta de resumen. Haz clic en ella para volver a abrirlo.
Paso a paso: Primeros pasos y Páginas de aplicación, de inicio y de Experience.
Añade un selector de franjas horarias a un flujo de pantalla de Salesforce
Arrastra el componente a una pantalla y define Config Name con tu configuración del asistente. Todas las casillas salen de la configuración.
- Pantalla
- Dates & Times
- Nombre de configuración (Config Name)
- Dates With Times JSON
- Parse Date Entries from JSON
- Bucle
- Crear registros
| Salida | Variable de flujo | Contenido |
|---|---|---|
Dates With Times JSON selectedDatesWithTimesJson | Texto | Cada fecha con su hora de inicio y de fin. Conviértelo en entradas para un bucle con fromDate, toDate, startTime, endTime. |
Selected Dates selectedDates | Colección de texto | Solo las fechas, como cadenas ISO. |
Date Ranges JSON selectedDateRangesJson | Texto | Fechas seguidas agrupadas en rangos, con Output Date Ranges as JSON activado. |
Sub-Blocks JSON subBlocksJson | Texto | Los huecos entre franjas. La misma acción de análisis. |
O sáltate el bucle. Cuando la configuración indica un objeto secundario, el componente guarda sus propios registros con las horas rellenas. Todo con clics, sin Apex. Todos los patrones están en la Guía de flujos de pantalla.
Especificaciones
Los datos, en una tabla.
| Seguridad | Aprobado en la revisión de seguridad de Salesforce AppExchange |
| Datos | 100 % nativo: tus datos se quedan en Salesforce. Sin servidores externos ni llamadas externas. |
| Ediciones de Salesforce | Enterprise, Unlimited, Performance, Developer y Salesforce Platform, además de las nubes sectoriales (Industry Clouds). No Essentials ni Professional. |
| Dónde funciona | Flujo de pantalla, página de registro, página de aplicación, página de inicio, sitio de Experience Cloud |
| Franjas horarias | Cualquier intervalo (lo habitual es 15, 30 o 60 minutos); cuadrícula o lista desplegable; grupos opcionales de Mañana, Tarde y Noche |
| Modos de hora | Comunes a todas las fechas o por fecha |
| Conflictos | Block, skip o allow; comprobación a 360 días por defecto |
| Vistas | Calendario, Semana, Agenda, Línea de tiempo, Ocupación |
| Idiomas | 9: inglés, español, francés, alemán, italiano, japonés, hindi, portugués de Brasil y chino simplificado |
| Versión de la API | 63.0 |
| Propiedades | Más de 90, todas con clics. Referencia completa |
| Configuración | Asistente de configuración sin código, Lightning App Builder o Flow Builder |
Un plan, todas las funciones
El selector de franjas horarias no es un complemento de pago. Viene con cada licencia.
- Prueba gratuita de 30 días
- Sin tarjeta de crédito
- Date, Date Time y Booking
- Todas las actualizaciones futuras
Preguntas sobre el selector de fecha y hora de Salesforce
Respuestas breves a lo que buscan los administradores.
¿Cómo añado un selector de franjas horarias a un flujo de pantalla de Salesforce?
En Flow Builder, abre una pantalla, busca MultiDatePick, arrastra el componente Dates & Times y define Config Name con la configuración que creaste en el asistente de configuración. Todas las casillas salen de la configuración. El componente guarda sus propios registros cuando la configuración indica un objeto secundario; si no, asigna Dates With Times JSON (Output) a una variable de texto, ejecuta la acción Parse Date Entries from JSON, recorre las entradas en un bucle y crea un registro por cada una.
¿Cada fecha puede tener horas distintas?
Sí. Activa Allow Different Times Per Date (Permitir horas distintas) y cada fecha seleccionada tendrá su propia cuadrícula horaria o lista desplegable, agrupadas por semana. Si lo dejas desactivado, una sola cuadrícula común aplica las mismas horas a todas las fechas que elegiste.
¿Evita las reservas duplicadas?
Sí. Conflict Behavior (Comportamiento ante conflictos) es block por defecto: las franjas ya ocupadas por registros existentes de ese calendario aparecen en gris y no se pueden elegir. Skip guarda las franjas libres y notifica las ocupadas, lo que va bien para elegir en bloque muchas fechas. Allow desactiva la comprobación. Conflict Look-Ahead Days (Días de previsión de conflictos) define hasta cuándo se comprueba, 360 días por defecto.
¿Puedo usar listas desplegables en lugar de una cuadrícula horaria?
Sí. Pon Time Display Mode (Modo de visualización de hora) en dropdown para tener selectores de hora de inicio y de fin, o deja grid para franjas en las que se hace clic y se arrastra. Time Interval (Intervalo de tiempo) define la duración de la franja en minutos, la que quieras (lo habitual es 15, 30 o 60), y Earliest Time (Hora mínima) y Latest Time (Hora máxima) marcan los límites del día, de 08:00 a 18:00 por defecto.
¿El selector de fecha y hora de Salesforce funciona en Experience Cloud y en páginas de aplicación y de inicio?
Sí. En las páginas de aplicación, de inicio y de Experience Cloud, define Config Name y Static Parent Record Id (Id de registro estático), el registro al que pertenecen las horas. En Experience Cloud, activa Show In-Component Toast (Mostrar aviso en el componente) para que los visitantes vean la confirmación del guardado.
¿Cuánto cuesta el componente Date Time de MultiDatePick?
MultiDatePick tiene un único plan de US$20 por usuario al mes, con prueba gratuita de 30 días y sin tarjeta. Date Time, Date y Booking están todos incluidos, con todas las funciones.
Todos los ajustes, para administradores que quieren el detalle
Las etiquetas tal como aparecen en el asistente de configuración, App Builder y Flow Builder, con el nombre de API debajo.
Referencia de todas las propiedades
Configuración
| Ajuste | Predeterminado | Función |
|---|---|---|
Config NameconfigName | - | Carga todos los ajustes de una configuración guardada del asistente. |
Viewview | calendar | Presentación inicial: calendar, week, agenda, timeline o utilization. |
Available ViewsavailableViews | all | Vistas separadas por comas que ofrece el selector de vistas. |
Agenda FieldsagendaFields | - | Campos adicionales en cada fila de Agenda. Vacío reutiliza Hover Popover Fields. |
Visualización
| Ajuste | Predeterminado | Función |
|---|---|---|
Button Labellabel | Seleccionar fechas & horas | Texto del botón que abre el selector. |
Calendar TitlemodalTitle | Seleccionar fechas & horas | Título sobre el calendario. |
Show Inline (No Button)showInline | false | Calendario siempre visible, sin botón. |
Two-Month ViewtwoMonthView | false | Dos meses uno junto a otro. |
Calendar SizecalendarSize | medium | tiny, xsmall (muy pequeño), small, medium o large. Tiny y xsmall caben en barras de utilidades, barras laterales y mosaicos de panel. |
Day Header FormatdayHeaderFormat | 3 | 3 = DOM, 2 = DO, 1 = D. |
Week Starts on MondayweekStartsOnMonday | false | Las semanas empiezan el lunes en lugar del domingo. |
Show Recurring Pattern ButtonshowRecurringPattern | true | Días de la semana, intervalos de semanas y apariciones mensuales. |
Show Selection SummaryshowSelectedSummary | true | Cuántas fechas hay seleccionadas y sus rangos. |
Show Done Button in Inline ModeshowDoneButtonInline | true | Listo contrae el selector en una tarjeta de resumen. |
Requiredrequired | false | El flujo no puede avanzar sin una fecha. |
Selección de horas
| Ajuste | Predeterminado | Función |
|---|---|---|
Time Display ModetimeDisplayMode | grid | grid: franjas en las que se hace clic y que se pueden arrastrar. dropdown: selectores de hora de inicio y de fin. |
Time Interval (Minutes)timeInterval | 30 | Duración de la franja en minutos. Cualquier intervalo; lo habitual es 15, 30 o 60. |
Earliest TimeminTime | 08:00 | Primera franja, formato de 24 horas HH:mm. |
Latest TimemaxTime | 18:00 | Última franja, formato de 24 horas HH:mm. |
Allow Different Times Per DateallowDifferentTimes | false | Cada fecha tiene su propia cuadrícula o lista desplegable en lugar de un único juego de horas común. |
Enable End TimeenableEndTime | true | Registra una hora de fin además de la de inicio. |
Group Time Slots by PeriodgroupTimeSlotsByPeriod | false | Secciones de Mañana, Tarde y Noche. |
Max Time SlotsmaxTimeSlotSelection | 0 | Total de franjas que puede elegir un usuario en todas las fechas. 0 = sin límite. |
Allow Whole-Day (No Times)allowWholeDayNoTimes | false | Una fecha sin franjas se guarda como registro de día completo. |
Start Time Field API NamestartTimeField | - | Campo Time para el inicio. |
End Time Field API NameendTimeField | - | Campo Time para el fin. |
Solo cuadrícula de horarios (Time Grid Only)
| Ajuste | Predeterminado | Función |
|---|---|---|
Time Grid OnlytimeGridOnly | false | Oculta el calendario y muestra solo la cuadrícula para una fecha implícita. Las franjas se guardan en el registro anfitrión. |
Time Grid DatetimeGridDate | - | Fecha explícita, AAAA-MM-DD. |
Time Grid Date FieldtimeGridDateField | - | Campo de fecha del registro anfitrión del que se lee la fecha. |
Orden de la fecha implícita: Time Grid Date, después Time Grid Date Field y, por último, hoy.
Conflictos e intervalos de tiempo
| Ajuste | Predeterminado | Función |
|---|---|---|
Conflict BehaviorconflictBehavior | block | block: franjas ocupadas en gris. skip: guarda las libres y notifica el resto. allow: sin comprobación. |
Buffer Between Bookings (Minutes)bufferMinutes | 0 | Tiempo de preparación que queda libre después de cada registro existente antes de que pueda empezar el siguiente. |
Conflict Look-Ahead DaysconflictLookAheadDays | 360 | Hasta cuándo se comprueban los registros existentes. |
Consolidate Time SpanconsolidateTimeSpan | false | Une las franjas seleccionadas en un solo inicio y fin; los huecos se guardan como sub-bloques. |
Show Sub-Block Toggle ButtonshowSubBlockButton | false | Permite a los usuarios marcar franjas como sub-bloques a mano. |
Estado y visualización
| Ajuste | Predeterminado | Función |
|---|---|---|
Status FieldstatusField | - | Lista de selección que determina los colores. |
Status ColorsstatusColors | - | p. ej. Confirmed:green,Pending:orange,Cancelled:red. |
Status Color DisplaystatusColorDisplay | both | grid, calendar o both. |
Ignored StatuseshideBookingsWithStatus | - | Los registros con este estado desaparecen de la cuadrícula. |
Status Field LabelstatusFieldLabel | - | Etiqueta personalizada para el selector de estado. |
Second Picklist FieldsecondStatusField | - | Una segunda lista de selección que se elige al guardar, p. ej. un motivo. Sin código de colores. |
Second Picklist LabelsecondStatusFieldLabel | - | Etiqueta de la segunda lista de selección. |
Selectable Second-Picklist ValuesselectableSecondStatuses | - | Valores permitidos. Con un solo valor, se aplica automáticamente y el selector se oculta. |
Hover Popover FieldshoverFields | - | Campos que se muestran al pasar el cursor. |
Show In-Component ToastshowSuccessToast | false | Dibuja el mensaje de guardado dentro del componente. Necesario en Experience Cloud. |
Show Add to Calendar After SavingshowAddToCalendar | false | Tras guardar, un archivo .ics con todas las horas recién guardadas, para Outlook, Google o Apple. |
Success Toast Message (optional)successToastMessage | - | Texto de confirmación personalizado. |
Modo edición
| Ajuste | Predeterminado | Función |
|---|---|---|
Enable Edit ModeenableEditMode | true | Gestiona los registros guardados sin salir del calendario. |
Edit Button LabeleditButtonLabel | - | Etiqueta personalizada para el botón Editar. |
Edit Record DisplayeditRecordDisplay | name, status, time | Qué detalles muestra cada fila, en orden: name, status, time, date. |
Guardado y salidas
| Ajuste | Predeterminado | Función |
|---|---|---|
Static Parent Record IdstaticRecordId | - | El registro principal en las páginas de aplicación, de inicio y de Experience. |
Load Existing DatespreloadExistingDates | true | Muestra los registros ya guardados. |
Existing Dates ModepreloadMode | editable | editable o readonly. |
Append Date/Time to Record NameappendDateTimeToName | true | Pone a cada registro un nombre automático con su fecha y hora. |
Selected Dates (Output)selectedDates | - | Fechas ISO, sin horas. |
Dates With Times JSON (Output)selectedDatesWithTimesJson | - | Cada fecha con sus horas. Pásalo a Parse Date Entries from JSON. |
Date Ranges JSON (Output)selectedDateRangesJson | - | Fechas seguidas como rangos, con Output Date Ranges as JSON activado. |
Sub-Blocks JSON (Output)subBlocksJson | - | Los registros de huecos, con la misma acción de análisis. |
También disponibles, compartidos con Date: Max Dates Allowed, Allow Past Dates, Earliest y Latest Selectable Date, Book Up To (Days Ahead), Minimum Notice (Hours), Pre-Selected Dates, Blocked Dates, Only These Dates Are Selectable, Auto-Jump to First Available Date, Record Name Field, Default Record Name, Save Button Label, los nombres de API de Child Object, Date, End Date y Relationship Field, Parent Record Id Field, los ajustes del objeto de fechas bloqueadas y los del objeto de sub-bloques.
Fechas y horas, elegidas juntas y guardadas por ti
Próximamente en Salesforce AppExchange. Prueba ya la demo en vivo o dinos dónde enviarte el aviso de lanzamiento.
100 % nativo de Salesforce. Tus datos y tu configuración nunca salen de tu organización.