Em breve no Salesforce AppExchange

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.

Demo animada do componente DateTime do MultiDatePick no Salesforce: dar nome a uma agenda de onboarding de novos funcionários, arrastar de segunda a quinta, arrastar das 09:00 às 12:00 na grade de horários compartilhada e salvar um turno por dia
Quatro dias, um arraste das 09:00 às 12:00, quatro turnos salvos.

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ê precisaSalesforce padrãoCom 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.

Seletor de horários com calendário do MultiDatePick no Salesforce: um calendário de dois meses com etiquetas de status Confirmed, Tentative e Pending, e uma grade de horários de 30 minutos das 08:00 às 18:00 com 10:00 às 11:30 selecionado e um horário confirmado às 12:00 em verde
Horários de 30 minutos, das 08:00 às 18:00. O horário verde já está reservado.
  • Escolha as datas
  • Arraste os horários
  • Defina o status
  • Salvar

Grade ou lista suspensa

Grade de horáriosHorários clicáveis. Arraste para selecionar um bloco.Time Display Mode: grid
Listas suspensasUma hora inicial e uma final, sem complicação.Time Display Mode: dropdown

Horários iguais ou por data

CompartilhadosUma grade define as mesmas horas em todas as datas.Padrão
Por dataCada data ganha sua própria grade, agrupadas por semana.Allow Different Times Per Date

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.

Detecção de conflitosHorários ocupados ficam em cinza. Skip salva os livres; allow desativa a verificação.Conflict Behavior: block, skip, allow
Manhã, Tarde, NoiteDias longos divididos em três grupos fáceis de percorrer.Group Time Slots by Period
Cores de statusConfirmed, Tentative, Cancelled: sua lista de opções, suas cores.Status Field + Status Colors
Pausas salvas para vocêHorários vizinhos se juntam em um intervalo; as lacunas são salvas como registros filhos.Consolidate Time Span + sub-blocos
Time Grid Only (Somente grade de horários)Em um registro que já representa um dia, mostre só a grade.Time Grid Only
Registros de dia inteiroUma data sem horários é salva como o dia todo.Allow Whole-Day (No Times)
Padrões recorrentesToda terça e quinta durante oito semanas, em dois cliques.Show Recurring Pattern Button
Edição no lugarMude a data, o horário ou o status de um registro salvo, ou exclua-o, sem sair do calendário.Enable Edit Mode
LimitesLimite quantas datas ou horários uma pessoa pode pegar.Max Dates Allowed, Max Time Slots
  • 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.

Visualização semanal do MultiDatePick no Salesforce para toda a equipe de consultores: reuniões com clientes como blocos coloridos por status, reservas sobrepostas lado a lado em faixas, fins de semana sombreados e o dia de hoje marcado
Reuniões no tamanho real da sua duração, horários fechados hachurados.
Exibição (View)Ideal para
SemanaEntrevistas, atendimentos, horários de plantão. Arraste pelos dias e pelas horas ao mesmo tempo.
CalendárioPrimeiro o dia, depois o horário. É o padrão.
AgendaOs próximos 60 dias em lista, com hora inicial e final.
Linha do tempoDatas no topo, registros nas linhas. Blocos de vários dias como barras.
OcupaçãoMapa 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 objetoTipoConfiguração no assistente / App Builder
Data do atendimentoDateCampo de Data (Date Field API Name)
Hora inicialHorárioStart Time Field API Name
Hora finalHorárioEnd Time Field API Name
Contato (pai)LookupCampo de Relacionamento (Relationship Field API Name)
Status opcionalLista de opçõesCampo de Status (Status Field)
Data final opcionalDateEnd Date Field API Name
Sub-blocos opcionalAs lacunas entre os horários selecionados são salvas em um objeto filho. Das 08:00 às 17:00 com uma pausa para o almoço às 12:00, a pausa é registrada para você.
Datas bloqueadas opcionalFeriados ou fechamentos de qualquer objeto, para ninguém escolhê-los.

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áginaO que você define
Página de registroConfig Name. O registro da página é o pai automaticamente.
Páginas de aplicativo, iniciais e do Experience CloudConfig Name mais Static Parent Record Id: o registro ao qual os horários pertencem.
Experience CloudAtive 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ídaVariável do fluxoO que contém
Dates With Times JSON selectedDatesWithTimesJsonTextoCada data com sua hora inicial e final. Converta em entradas para o loop com fromDate, toDate, startTime, endTime.
Selected Dates selectedDatesColeção de textoSó as datas, como strings ISO.
Date Ranges JSON selectedDateRangesJsonTextoDatas consecutivas agrupadas em intervalos, com Output Date Ranges as JSON ativado.
Sub-Blocks JSON subBlocksJsonTextoAs 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çaAprovado no Security Review do Salesforce AppExchange
Dados100% nativo: seus dados ficam no Salesforce. Sem servidores externos, sem callouts.
Edições do SalesforceEnterprise, Unlimited, Performance, Developer e Salesforce Platform, além das clouds de setor. Não Essentials nem Professional.
Onde funcionaFluxo de tela, página de registro, página de aplicativo, página inicial, site do Experience Cloud
HoráriosQualquer intervalo (15, 30 ou 60 minutos são os mais comuns); grade ou lista suspensa; grupos opcionais Manhã, Tarde e Noite
Modos de horárioIguais para todas as datas, ou por data
ConflitosBloquear, pular ou permitir; verificação de 360 dias à frente por padrão
VisualizaçõesCalendário, Semana, Agenda, Linha do tempo, Ocupação
Idiomas9: inglês, espanhol, francês, alemão, italiano, japonês, hindi, português do Brasil, chinês simplificado
Versão da API63.0
PropriedadesMais de 90, todas definidas com cliques. Referência completa
ConfiguraçãoAssistente 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.

US$ 20/usuário/mês
  • Teste grátis de 30 dias
  • Sem cartão de crédito
  • Date, Date Time e Booking
  • Todas as atualizações futuras
Ver preços

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çãoPadrãoO que faz
Config NameconfigName-Carrega todas as definições de uma configuração salva no Assistente de Configuração.
ViewviewcalendarLayout inicial: calendar, week, agenda, timeline ou utilization.
Available ViewsavailableViewsallVisualizaçõ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çãoPadrãoO que faz
Button LabellabelSelecionar Datas & Horários (Select Dates & Times)Texto do botão que abre o seletor.
Calendar TitlemodalTitleSelecionar Datas & Horários (Select Dates & Times)Título acima do calendário.
Show Inline (No Button)showInlinefalseCalendário sempre visível, sem botão.
Two-Month ViewtwoMonthViewfalseDois meses lado a lado.
Calendar SizecalendarSizemediumtiny, 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 FormatdayHeaderFormat33 = DOM, 2 = DO, 1 = D.
Week Starts on MondayweekStartsOnMondayfalseAs semanas começam na segunda em vez de no domingo.
Show Recurring Pattern ButtonshowRecurringPatterntrueDias da semana, intervalos de semanas e ocorrências mensais.
Show Selection SummaryshowSelectedSummarytrueQuantas datas estão selecionadas, e seus intervalos.
Show Done Button in Inline ModeshowDoneButtonInlinetrueConcluído recolhe o seletor em um cartão de resumo.
RequiredrequiredfalseO fluxo não avança sem uma data.

Seleção de horário

ConfiguraçãoPadrãoO que faz
Time Display ModetimeDisplayModegridgrid: horários clicáveis que você pode arrastar. dropdown: seletores de hora inicial e final.
Time Interval (Minutes)timeInterval30Tamanho do horário em minutos. Qualquer intervalo; 15, 30 ou 60 são os mais comuns.
Earliest TimeminTime08:00Primeiro horário, formato 24 horas HH:mm.
Latest TimemaxTime18:00Último horário, formato 24 horas HH:mm.
Allow Different Times Per DateallowDifferentTimesfalseCada data ganha sua própria grade ou lista suspensa, em vez de um conjunto único de horários.
Enable End TimeenableEndTimetrueRegistra uma hora final além da inicial.
Group Time Slots by PeriodgroupTimeSlotsByPeriodfalseSeções Manhã, Tarde e Noite.
Max Time SlotsmaxTimeSlotSelection0Total de horários que um usuário pode escolher em todas as datas. 0 = ilimitado.
Allow Whole-Day (No Times)allowWholeDayNoTimesfalseUma 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çãoPadrãoO que faz
Time Grid OnlytimeGridOnlyfalseOculta 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çãoPadrãoO que faz
Conflict BehaviorconflictBehaviorblockblock: horários ocupados em cinza. skip: salva os livres e informa o resto. allow: sem verificação.
Buffer Between Bookings (Minutes)bufferMinutes0Tempo de preparação mantido livre depois de cada registro existente antes que o próximo possa começar.
Conflict Look-Ahead DaysconflictLookAheadDays360Até quando à frente verificar registros existentes.
Consolidate Time SpanconsolidateTimeSpanfalseJunta os horários selecionados em um único início e fim; as lacunas são salvas como sub-blocos.
Show Sub-Block Toggle ButtonshowSubBlockButtonfalsePermite que os usuários marquem horários como sub-blocos manualmente.

Status e exibição

ConfiguraçãoPadrãoO que faz
Status FieldstatusField-Lista de opções que define as cores.
Status ColorsstatusColors-Por exemplo Confirmed:green,Pending:orange,Cancelled:red.
Status Color DisplaystatusColorDisplaybothgrid, 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 ToastshowSuccessToastfalseMostra a notificação de gravação dentro do componente. Necessário no Experience Cloud.
Show Add to Calendar After SavingshowAddToCalendarfalseDepois 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çãoPadrãoO que faz
Enable Edit ModeenableEditModetrueGerencie os registros salvos ali mesmo.
Edit Button LabeleditButtonLabel-Rótulo personalizado para o botão Editar.
Edit Record DisplayeditRecordDisplayname, status, timeQuais detalhes cada linha mostra, em ordem: name, status, time, date.

Gravação e saídas

ConfiguraçãoPadrãoO que faz
Static Parent Record IdstaticRecordId-O registro pai em páginas de aplicativo, iniciais e do Experience Cloud.
Load Existing DatespreloadExistingDatestrueMostra os registros já salvos.
Existing Dates ModepreloadModeeditableeditable ou readonly.
Append Date/Time to Record NameappendDateTimeToNametrueDá 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.