Date Time: seletor de datas e horários para Salesforce
Escolha várias datas, arraste as horas e salve cada bloco de tempo nos seus próprios registros do Salesforce. Um seletor de horários com calendário para atendimentos, turnos e entrevistas, configurado em um assistente.
Ou experimente a demo ao vivo agora, sem login →Grade de horários, horários por data, sem reservas duplicadas e com cores de status. Funciona em fluxos de tela e no Experience Cloud, sem Apex.
O Salesforce tem um campo de data e um campo de hora. Não um seletor de horários.
O Date Time transforma "estes quatro dias, das 9 às 12" em quatro registros com uma só gravação.
| O que você precisa | Salesforce padrão | Com o Date Time |
|---|---|---|
| Várias datas, um só horário | ✗Um registro de cada vez | ✓Clique, arraste ou adicione um padrão recorrente |
| Escolher um horário visualmente | ✗Digitar em um campo de hora | ✓Arrastar por uma grade de horários |
| Horas diferentes em cada dia | ✗Editar registro por registro | ✓Uma grade para cada data |
| Sem reservas duplicadas | ✗Regras de validação ou Apex | ✓Horários ocupados em cinza |
| Ver o status de relance | ✗Abrir cada registro | ✓Cores nas datas e nos horários |
| Configuração | ✗Um desenvolvedor e um LWC personalizado | ✓Assistente de Configuração com cliques |
Por que é mais difícil do que parece: como criar um seletor de horários no calendário do Salesforce.
O seletor de horários com calendário
Datas em cima, horários embaixo. Clique ou arraste os horários; cada sequência de horários vizinhos é salva como uma reserva.
- Escolha as datas
- Arraste os horários
- Defina o status
- Salvar
Grade ou lista suspensa
Horários iguais ou por data
Defina o tamanho do dia
- Time Interval: qualquer intervalo (15, 30 ou 60 minutos são os mais comuns)
- Earliest / Latest Time: das 08:00 às 18:00 por padrão
- Enable End Time (Ativar Hora Final): registra um início e um fim
Feito para o agendamento real de atendimentos e turnos
Cada um destes é uma configuração, não uma personalização.
- Detalhes ao passar o mouse
- Segunda lista de opções
- Visualização de dois meses
- Datas bloqueadas
- Registros com nome automático
- Notificação no componente
- 9 idiomas
Visualização semanal: veja cada horário, não só cada data
Reservas desenhadas com a altura da sua duração. Os mesmos registros e a mesma gravação; só o layout muda.
| Exibição (View) | Ideal para |
|---|---|
| Semana | Entrevistas, atendimentos, horários de plantão. Arraste pelos dias e pelas horas ao mesmo tempo. |
| Calendário | Primeiro o dia, depois o horário. É o padrão. |
| Agenda | Os próximos 60 dias em lista, com hora inicial e final. |
| Linha do tempo | Datas no topo, registros nas linhas. Blocos de vários dias como barras. |
| Ocupação | Mapa de calor de capacidade. Combine com o Booking. |
Duas configurações. View (Exibição) escolhe o layout inicial; Available Views (Visualizações Disponíveis) define o seletor, por exemplo calendar,week,agenda. Earliest e Latest Time também delimitam a grade semanal.
Casos de uso de um agendador de horários no Salesforce
Quinze formas de as equipes usarem o Date Time, e as configurações que fazem cada uma funcionar.
Agendamento de entrevistas
Horários diferentes em dias diferentes, coloridos pelo resultado.
- Horários de 30 min
- Horários por data
- Cores de status
Agendamento de atendimentos
Só no horário comercial, sem sobreposições.
- Bloquear conflitos
- 08:00 às 17:00
- Início e fim
Escala de turnos
Um registro de turno por dia, com um só arraste.
- Horários de 60 min
- Períodos
- Hora final
Janelas de manutenção
02:00, 03:00 e 04:00 viram uma única janela das 02:00 às 05:00.
- Consolidar intervalo
- Bloquear conflitos
Janelas de entrega
Um seletor de horário simples para cada data de entrega.
- Lista suspensa
- Horários por data
Consultas em clínicas
Horários curtos, com os reservados coloridos.
- Horários de 15 min
- Carregar existentes
- Status na grade
Agendamento de retornos
Os representantes agendam retornos a clientes sem choques de horário.
- Horários de 30 min
- Bloquear conflitos
- Nome automático
Onboarding de clientes
Oito sessões semanais definidas em dois cliques.
- Padrão recorrente
- Nome automático
Turmas de treinamento
Blocos de manhã e de tarde, com o almoço salvo como pausa.
- Horários por data
- Sub-blocos
Pedidos de demonstração
Os prospects escolhem um horário no seu site; os ocupados ficam em cinza.
- Experience Cloud
- Existentes somente leitura
Agendamento de QBRs
Revisões de 90 minutos no fechamento de um trimestre.
- Visualização de dois meses
- Cores de status
Visitas a imóveis
Horários de visita livres, reservados e retidos, por cor.
- Grade de horários
- Status na grade
Janelas de atendimento
Serviços de campo encaixados em janelas de horário por dia.
- Horários de 1 hora
- Hora final
Inscrição em webinars
Um registro de inscrição por sessão escolhida.
- Lista suspensa
- Permitir sobreposições
Sessões de conferência
A palestra principal e as sessões paralelas de cada dia como um registro com detalhes.
- Sub-blocos
- Períodos
Para se aprofundar: agendamento de entrevistas no Salesforce e staffing e escala de turnos.
Como os registros são salvos: seu objeto, seus campos
Um objeto filho com um campo de data, um ou dois campos de hora e um campo lookup para o pai. O assistente lista todos eles em listas suspensas.
| Campo no seu objeto | Tipo | Configuração no assistente / App Builder |
|---|---|---|
| Data do atendimento | Date | Campo de Data (Date Field API Name) |
| Hora inicial | Horário | Start Time Field API Name |
| Hora final | Horário | End Time Field API Name |
| Contato (pai) | Lookup | Campo de Relacionamento (Relationship Field API Name) |
| Status opcional | Lista de opções | Campo de Status (Status Field) |
| Data final opcional | Date | End Date Field API Name |
Gravação aditiva. Salvar insere registros novos e nunca exclui os existentes. Load Existing Dates mostra o que já está reservado, editável ou somente leitura.
Adicione a uma página Lightning
No Lightning App Builder, arraste o MultiDatePick - Dates & Times para a página e defina Config Name.
| Página | O que você define |
|---|---|
| Página de registro | Config Name. O registro da página é o pai automaticamente. |
| Páginas de aplicativo, iniciais e do Experience Cloud | Config Name mais Static Parent Record Id: o registro ao qual os horários pertencem. |
| Experience Cloud | Ative também Show In-Component Toast para que os visitantes vejam a gravação. |
Tudo arrumado depois de salvar. Com Show Inline (No Button) e Show Done Button in Inline Mode ativados, Concluído recolhe o seletor em um cartão de resumo. Clique nele para reabrir.
Passo a passo: Primeiros passos e Páginas de aplicativo, iniciais e do Experience Cloud.
Adicione um seletor de horários a um fluxo de tela (Screen Flow) do Salesforce
Arraste o componente para uma tela e defina Config Name com a configuração do Assistente de Configuração. Todas as caixas de seleção vêm da configuração.
- Tela
- Dates & Times
- Nome da Configuração (Config Name)
- Dates With Times JSON
- Parse Date Entries from JSON
- Loop
- Criar registros
| Saída | Variável do fluxo | O que contém |
|---|---|---|
Dates With Times JSON selectedDatesWithTimesJson | Texto | Cada data com sua hora inicial e final. Converta em entradas para o loop com fromDate, toDate, startTime, endTime. |
Selected Dates selectedDates | Coleção de texto | Só as datas, como strings ISO. |
Date Ranges JSON selectedDateRangesJson | Texto | Datas consecutivas agrupadas em intervalos, com Output Date Ranges as JSON ativado. |
Sub-Blocks JSON subBlocksJson | Texto | As lacunas entre os horários. A mesma ação de conversão. |
Ou dispense o loop. Quando a configuração indica um objeto filho, o componente salva os próprios registros com os horários preenchidos. Tudo com cliques, sem Apex. Todos os padrões estão no guia de fluxo de tela.
Especificações
Os fatos, em uma tabela.
| Segurança | Aprovado no Security Review do Salesforce AppExchange |
| Dados | 100% nativo: seus dados ficam no Salesforce. Sem servidores externos, sem callouts. |
| Edições do Salesforce | Enterprise, Unlimited, Performance, Developer e Salesforce Platform, além das clouds de setor. Não Essentials nem Professional. |
| Onde funciona | Fluxo de tela, página de registro, página de aplicativo, página inicial, site do Experience Cloud |
| Horários | Qualquer intervalo (15, 30 ou 60 minutos são os mais comuns); grade ou lista suspensa; grupos opcionais Manhã, Tarde e Noite |
| Modos de horário | Iguais para todas as datas, ou por data |
| Conflitos | Bloquear, pular ou permitir; verificação de 360 dias à frente por padrão |
| Visualizações | Calendário, Semana, Agenda, Linha do tempo, Ocupação |
| Idiomas | 9: inglês, espanhol, francês, alemão, italiano, japonês, hindi, português do Brasil, chinês simplificado |
| Versão da API | 63.0 |
| Propriedades | Mais de 90, todas definidas com cliques. Referência completa |
| Configuração | Assistente de Configuração sem código, Lightning App Builder ou Flow Builder |
Um plano, todos os recursos
O seletor de horários não é um upgrade. Ele vem com cada licença.
- Teste grátis de 30 dias
- Sem cartão de crédito
- Date, Date Time e Booking
- Todas as atualizações futuras
Perguntas sobre o seletor de data e hora do Salesforce
Respostas curtas para o que os administradores pesquisam.
Como adiciono um seletor de horários a um fluxo de tela do Salesforce?
No Flow Builder, abra uma tela, pesquise MultiDatePick, arraste o componente Dates & Times e defina Config Name com a configuração criada no Assistente de Configuração. Todas as caixas de seleção vêm da configuração. O componente salva os próprios registros quando a configuração indica um objeto filho; se não, ligue Dates With Times JSON (Output) a uma variável de texto, execute a ação Parse Date Entries from JSON, percorra as entradas com um loop e crie um registro para cada uma.
Cada data pode ter horários diferentes?
Sim. Ative Allow Different Times Per Date e cada data selecionada ganha sua própria grade ou lista suspensa, agrupadas por semana. Com a opção desativada, uma grade compartilhada aplica as mesmas horas a todas as datas escolhidas.
Ele evita reservas duplicadas?
Sim. O Conflict Behavior vem como block por padrão: horários já ocupados por registros existentes naquele calendário aparecem em cinza e não podem ser escolhidos. Skip salva os horários livres e informa os ocupados, ideal para seleção em lote em muitas datas. Allow desativa a verificação. Conflict Look-Ahead Days define até quando à frente ele verifica, 360 dias por padrão.
Posso usar listas suspensas em vez de uma grade de horários?
Sim. Defina Time Display Mode como dropdown para ter seletores de hora inicial e final, ou mantenha grid para horários clicáveis que você pode arrastar. Time Interval define o tamanho do horário em minutos, qualquer intervalo que você quiser (15, 30 ou 60 são os mais comuns), e Earliest Time e Latest Time delimitam o dia, das 08:00 às 18:00 por padrão.
O seletor de data e hora do Salesforce funciona no Experience Cloud e em páginas de aplicativo e iniciais?
Sim. Em páginas de aplicativo, iniciais e do Experience Cloud, defina Config Name e também Static Parent Record Id, o registro ao qual os horários pertencem. No Experience Cloud, ative Show In-Component Toast para que os visitantes vejam a confirmação de gravação.
Quanto custa o componente Date Time do MultiDatePick?
O MultiDatePick tem um único plano de US$ 20 por usuário por mês, com teste grátis de 30 dias e sem cartão. Date Time, Date e Booking estão todos incluídos, com todas as funcionalidades.
Todas as configurações, para administradores que querem os detalhes
Rótulos como aparecem no Assistente de Configuração, no App Builder e no Flow Builder, com o nome de API embaixo.
Referência de todas as propriedades
Configuração
| Configuração | Padrão | O que faz |
|---|---|---|
Config NameconfigName | - | Carrega todas as definições de uma configuração salva no Assistente de Configuração. |
Viewview | calendar | Layout inicial: calendar, week, agenda, timeline ou utilization. |
Available ViewsavailableViews | all | Visualizações oferecidas no seletor, separadas por vírgula. |
Agenda FieldsagendaFields | - | Campos extras em cada linha da Agenda. Em branco, reutiliza os Hover Popover Fields. |
Exibição
| Configuração | Padrão | O que faz |
|---|---|---|
Button Labellabel | Selecionar Datas & Horários (Select Dates & Times) | Texto do botão que abre o seletor. |
Calendar TitlemodalTitle | Selecionar Datas & Horários (Select Dates & Times) | Título acima do calendário. |
Show Inline (No Button)showInline | false | Calendário sempre visível, sem botão. |
Two-Month ViewtwoMonthView | false | Dois meses lado a lado. |
Calendar SizecalendarSize | medium | tiny, xsmall (Very Small), small, medium ou large. Tiny e Very Small cabem em barras de utilitários, barras laterais e blocos de painel. |
Day Header FormatdayHeaderFormat | 3 | 3 = DOM, 2 = DO, 1 = D. |
Week Starts on MondayweekStartsOnMonday | false | As semanas começam na segunda em vez de no domingo. |
Show Recurring Pattern ButtonshowRecurringPattern | true | Dias da semana, intervalos de semanas e ocorrências mensais. |
Show Selection SummaryshowSelectedSummary | true | Quantas datas estão selecionadas, e seus intervalos. |
Show Done Button in Inline ModeshowDoneButtonInline | true | Concluído recolhe o seletor em um cartão de resumo. |
Requiredrequired | false | O fluxo não avança sem uma data. |
Seleção de horário
| Configuração | Padrão | O que faz |
|---|---|---|
Time Display ModetimeDisplayMode | grid | grid: horários clicáveis que você pode arrastar. dropdown: seletores de hora inicial e final. |
Time Interval (Minutes)timeInterval | 30 | Tamanho do horário em minutos. Qualquer intervalo; 15, 30 ou 60 são os mais comuns. |
Earliest TimeminTime | 08:00 | Primeiro horário, formato 24 horas HH:mm. |
Latest TimemaxTime | 18:00 | Último horário, formato 24 horas HH:mm. |
Allow Different Times Per DateallowDifferentTimes | false | Cada data ganha sua própria grade ou lista suspensa, em vez de um conjunto único de horários. |
Enable End TimeenableEndTime | true | Registra uma hora final além da inicial. |
Group Time Slots by PeriodgroupTimeSlotsByPeriod | false | Seções Manhã, Tarde e Noite. |
Max Time SlotsmaxTimeSlotSelection | 0 | Total de horários que um usuário pode escolher em todas as datas. 0 = ilimitado. |
Allow Whole-Day (No Times)allowWholeDayNoTimes | false | Uma data sem horários é salva como registro de dia inteiro. |
Start Time Field API NamestartTimeField | - | Campo de hora para o início. |
End Time Field API NameendTimeField | - | Campo de hora para o fim. |
Somente grade de horários (Time Grid Only)
| Configuração | Padrão | O que faz |
|---|---|---|
Time Grid OnlytimeGridOnly | false | Oculta o calendário e mostra só a grade para uma data implícita. Os horários são salvos no registro em que o componente está. |
Time Grid DatetimeGridDate | - | Data explícita, AAAA-MM-DD. |
Time Grid Date FieldtimeGridDateField | - | Campo de data no registro em que o componente está, de onde a data é lida. |
Ordem da data implícita: Time Grid Date, depois Time Grid Date Field, depois hoje.
Conflitos e intervalos de tempo
| Configuração | Padrão | O que faz |
|---|---|---|
Conflict BehaviorconflictBehavior | block | block: horários ocupados em cinza. skip: salva os livres e informa o resto. allow: sem verificação. |
Buffer Between Bookings (Minutes)bufferMinutes | 0 | Tempo de preparação mantido livre depois de cada registro existente antes que o próximo possa começar. |
Conflict Look-Ahead DaysconflictLookAheadDays | 360 | Até quando à frente verificar registros existentes. |
Consolidate Time SpanconsolidateTimeSpan | false | Junta os horários selecionados em um único início e fim; as lacunas são salvas como sub-blocos. |
Show Sub-Block Toggle ButtonshowSubBlockButton | false | Permite que os usuários marquem horários como sub-blocos manualmente. |
Status e exibição
| Configuração | Padrão | O que faz |
|---|---|---|
Status FieldstatusField | - | Lista de opções que define as cores. |
Status ColorsstatusColors | - | Por exemplo Confirmed:green,Pending:orange,Cancelled:red. |
Status Color DisplaystatusColorDisplay | both | grid, calendar ou both. |
Ignored StatuseshideBookingsWithStatus | - | Registros com este status somem da grade. |
Status Field LabelstatusFieldLabel | - | Rótulo personalizado para o seletor de status. |
Second Picklist FieldsecondStatusField | - | Uma segunda lista de opções escolhida ao salvar, por exemplo um motivo. Sem cores. |
Second Picklist LabelsecondStatusFieldLabel | - | Rótulo da segunda lista de opções. |
Selectable Second-Picklist ValuesselectableSecondStatuses | - | Valores permitidos. Com um único valor, ele é aplicado automaticamente e o seletor fica oculto. |
Hover Popover FieldshoverFields | - | Campos exibidos ao passar o mouse. |
Show In-Component ToastshowSuccessToast | false | Mostra a notificação de gravação dentro do componente. Necessário no Experience Cloud. |
Show Add to Calendar After SavingshowAddToCalendar | false | Depois de salvar, um arquivo .ics com todos os horários recém-salvos, para Outlook, Google ou Apple. |
Success Toast Message (optional)successToastMessage | - | Texto de sucesso personalizado. |
Modo de edição
| Configuração | Padrão | O que faz |
|---|---|---|
Enable Edit ModeenableEditMode | true | Gerencie os registros salvos ali mesmo. |
Edit Button LabeleditButtonLabel | - | Rótulo personalizado para o botão Editar. |
Edit Record DisplayeditRecordDisplay | name, status, time | Quais detalhes cada linha mostra, em ordem: name, status, time, date. |
Gravação e saídas
| Configuração | Padrão | O que faz |
|---|---|---|
Static Parent Record IdstaticRecordId | - | O registro pai em páginas de aplicativo, iniciais e do Experience Cloud. |
Load Existing DatespreloadExistingDates | true | Mostra os registros já salvos. |
Existing Dates ModepreloadMode | editable | editable ou readonly. |
Append Date/Time to Record NameappendDateTimeToName | true | Dá nome automático a cada registro com sua data e hora. |
Selected Dates (Output)selectedDates | - | Datas ISO, sem horários. |
Dates With Times JSON (Output)selectedDatesWithTimesJson | - | Cada data com seus horários. Envie para Parse Date Entries from JSON. |
Date Ranges JSON (Output)selectedDateRangesJson | - | Datas consecutivas como intervalos, com Output Date Ranges as JSON ativado. |
Sub-Blocks JSON (Output)subBlocksJson | - | Os registros das lacunas, com a mesma ação de conversão. |
Também disponíveis, compartilhadas com o Date: Max Dates Allowed, Allow Past Dates, Earliest e 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, Child Object, os nomes de API de Date, End Date e Relationship Field, Parent Record Id Field, as configurações do objeto de Blocked Dates e as configurações do objeto de sub-blocos.
Datas e horários, escolhidos juntos, salvos para você
Em breve no Salesforce AppExchange. Experimente a demo ao vivo agora ou diga para onde enviar o aviso de lançamento.
100% nativo do Salesforce. Seus dados e sua configuração nunca saem da sua organização.