Guía de flujos de pantalla

Coloca un calendario MultiDatePick en cualquier flujo de pantalla (Screen Flow) de Salesforce. Coloca el componente en una pantalla, define Config Name y listo.

Sin necesidad de Apex
  1. 1Guarda una configuraciónAsistente de configuración o Config Library
  2. 2Colócalo en una pantallaBusca MultiDatePick
  3. 3Define Config NameGuardar, Depurar, Activar

Una sola propiedad: Config Name

Crea la configuración una vez en el asistente de configuración o importa una desde la Config Library. En el flujo defines una propiedad y el componente carga el resto.

Demo animada en Flow Builder de Salesforce: abrir una pantalla, buscar MultiDatePick, arrastrar el componente Resource Booking a la pantalla, asignar a Config Name una configuración guardada del asistente de configuración, hacer clic en Listo y guardar
Arrastra el componente, define Config Name, Listo, Guardar. Nada más que asignar.
  • Abre una pantalla
  • Busca MultiDatePick
  • Arrastra Booking, Date o Date Time
  • Nombre de configuración (Config Name)
  • Guardar

Todas las casillas salen de la configuración. Con Config Name definido, nunca tocas una casilla en Flow Builder. Las propiedades de texto y número que rellenes en la pantalla prevalecen sobre la configuración.

Guardar vinculado a un registro

Enlaza Parent Record Id con el registro para el que se ejecuta el flujo, como {!recordId} o un resultado de Obtener registros. El componente guarda entonces sus registros vinculados a ese registro principal. En Date y Date Time, déjalo en blanco y la selección pasa al flujo.

Créalo desde un flujo en blanco

Cinco minutos en Flow Builder. Nada que implementar: lo pruebas con Depurar.

1. Nuevo flujo de pantalla

Configuración, Flujos, Nuevo flujo, Flujo de pantalla, Crear.

Creación de un nuevo flujo de pantalla de Salesforce en Configuración para alojar un componente MultiDatePick
2. Añade una pantalla

Añade un elemento Pantalla al lienzo.

Adición de un elemento Pantalla a un flujo de pantalla de Salesforce
3. Arrastra el componente

Busca MultiDatePick en la lista de componentes y arrástralo.

Arrastrar el componente Booking de MultiDatePick a una pantalla de flujo de Salesforce
4. Define Config Name

Escribe el nombre de la configuración exactamente como lo guardó el asistente. Enlaza Parent Record Id si los registros pertenecen a un registro principal.

5. Guarda y depura

Haz clic en Depurar, elige fechas o franjas horarias y comprueba que se crearon los registros. Después haz clic en Activar y añade el flujo a una página de registro, un botón de acción o un sitio de Experience Cloud.

Lo que recibe el flujo

Booking guarda sus propias reservas. Date y Date Time pasan la selección al flujo, o la guardan ellos mismos cuando Parent Record Id está definido.

ComponenteSalida (etiqueta en Flow Builder)Nombre de API
BookingSuccessful Bookings Count, Conflict DatesbookingSuccessCount, bookingConflictDates
DateSelected Dates, Date Ranges JSONselectedDates, selectedDateRangesJson
Date TimeDates With Times JSONselectedDatesWithTimesJson
Demo animada de una solicitud de vacaciones en un flujo de pantalla (Screen Flow) de Salesforce: el usuario hace clic en tres días de un calendario MultiDatePick, envía, y la siguiente pantalla del flujo muestra las tres fechas recibidas
Tres días seleccionados, tres fechas pasadas a la siguiente pantalla.

Sin necesidad de Apex: las acciones de flujo ya preparadas

Nunca escribes Apex. Para convertir el JSON de Date o Date Time en registros, usa las tres piezas que incluye el paquete. Aparecen en Flow Builder como cualquier acción estándar.

  • Parse Date Entries from JSON
  • Recorre sus entradas en bucle
  • Crear registros, uno por entrada
Acción de flujo Parse Date Entries from JSON

Búscala en Acción. Pásale Date Ranges JSON o Dates With Times JSON. Detecta por ti si es solo fecha o fecha y hora.

Clase: MultiDatePickParser

Tipo de datos MultiDatePickEntryCollection

Lo que devuelve la acción. Guárdalo en una variable definida por Apex y recorre data en un bucle.

  • data: las entradas que recorrer
  • totalCount: cuántas hay
  • success, errorMessage: para una Decisión
Tipo de datos MultiDatePickEntry

Una entrada, tu variable de bucle. Asígnala en Crear registros.

  • fromDate, toDate: el rango (iguales si es un solo día)
  • startTime, endTime: solo Date Time
  • id: número de entrada

Date Ranges JSON (Date)

{ "data": [
  { "id": 1, "fromDate": "2026-02-10", "toDate": "2026-02-12" },
  { "id": 2, "fromDate": "2026-02-15", "toDate": "2026-02-15" }
] }

Dates With Times JSON (Date Time)

{ "data": [
  { "id": 1, "fromDate": "2026-02-10", "toDate": "2026-02-10",
    "startTime": "09:00", "endTime": "17:00" }
] }

Apéndice: asignar propiedades a mano

Solo si prescindes de Config Name. Flow Builder muestra las propiedades por orden alfabético y presenta las listas de selección, como Conflict Behavior (Comportamiento ante conflictos), como simples cuadros de texto; por eso Config Name es el camino más fácil. Para una pantalla de Booking, define estas:

Etiqueta en Flow BuilderQué introducirNombre de API
Resource Object API NameEl objeto que reservas, como un objeto SalaresourceObjectApiName
Resource Name FieldEl campo que se muestra como nombre de cada recursoresourceNameField
Campo de capacidad (Capacity Field)Cuántas reservas admite un recurso a la vez. Las franjas muestran 3/5 y se cierran cuando se llenan.capacityField
Booking Object API NameEl objeto en el que se guarda cada reservaresourceBookingObject
Booking Date FieldEl campo de fecha del objeto de reservabookingDateField
Booking Start Time Field (Campo de hora de inicio), Booking End Time Field (Campo de hora de fin)Los campos de hora del objeto de reservabookingStartTimeField, bookingEndTimeField
Booking Resource FieldLa búsqueda (lookup) de la reserva al recursobookingResourceField
Comportamiento ante conflictos (Conflict Behavior)Escribe block (predeterminado), skip o allowconflictBehavior
Parent Record IdEl registro al que pertenecen las reservas, como {!recordId}recordId
Parent Record Relationship FieldLa búsqueda (lookup) de la reserva a ese registro principalrelationshipFieldApiName

Aquí las casillas las defines tú. Sin Config Name, cada casilla (Required, Show Inline, Output Date Ranges as JSON y las demás) queda tal como la marques en la pantalla.

Míralo antes de crearlo

Prueba la demo en vivo sin iniciar sesión, o recibe un aviso el día que MultiDatePick llegue a Salesforce AppExchange.

¿Atascado con un flujo? Support@MultiDatePick.com